/*! HTML5 Boilerplate v7.0.1 | MIT License | https://html5boilerplate.com/ */

/* main.css 1.0.0 | MIT License | https://github.com/h5bp/main.css#readme */
/*
 * What follows is the result of much research on cross-browser styling.
 * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
 * Kroc Camen, and the H5BP dev community and team.
 */

 
@font-face {
  font-family:'MonumentExtended-Regular';
  src: url('../fonts/MonumentExtended/MonumentExtended-Regular.eot');
  src: url('../fonts/MonumentExtended/MonumentExtended-Regular.eot?#iefix') format('embedded-opentype'),
       url('../fonts/MonumentExtended/MonumentExtended-Regular.woff2') format('woff2'),
       url('../fonts/MonumentExtended/MonumentExtended-Regular.woff') format('woff'),
       url('../fonts/MonumentExtended/MonumentExtended-Regular.ttf')  format('truetype');
	   
  font-style: normal;
  font-weight: normal;   
}


/* ==========================================================================
   Base styles: opinionated defaults
   ========================================================================== */


*,
*::after,
*::before {
  margin: 0;
  padding: 0;
  box-sizing: inherit; 
}

html {
  box-sizing: border-box;
}

html {
	color: #343333;
	font-size: 1em;
	line-height: 1.4;
	background-color:white;
	font-family:"MonumentExtended-Regular", sans-serif;
	height: 100%;
	margin:0;
}


body {
	padding:0;
	margin:0;
	background-color:#F6EEDB;
	min-height: calc(100% - 80px);
	padding: 40px;
	
	font-size:13px;
	letter-spacing:0.2em;
	font-style:normal;
	font-weight:normal;
	font-size:13px;
	line-height:1.8em;
}







/*
 * Remove text-shadow in selection highlight:
 * https://twitter.com/miketaylr/status/12228805301
 *
 * Vendor-prefixed and regular ::selection selectors cannot be combined:
 * https://stackoverflow.com/a/16982510/7133471
 *
 * Customize the background color to match your design.
 */

::selection {
    background: white;
    text-shadow: none;
}

/*
 * A better looking default horizontal rule
 */

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0;
}

/*
 * Remove the gap between audio, canvas, iframes,
 * images, videos and the bottom of their containers:
 * https://github.com/h5bp/html5-boilerplate/issues/440
 */

audio,
canvas,
iframe,
img,
svg,
video {
    vertical-align: middle;
}

/*
 * Remove default fieldset styles.
 */

fieldset {
    border: 0;
    margin: 0;
    padding: 0;
}

/*
 * Allow only vertical resizing of textareas.
 */

textarea {
    resize: vertical;
}

/* ==========================================================================
   Browser Upgrade Prompt
   ========================================================================== */

.browserupgrade {
    margin: 0.2em 0;
    background: #ccc;
    color: #000;
    padding: 0.2em 0;
}




 /* ==========================================================================
   Author's custom styles
   ========================================================================== */

/*
*
* borders
* 
*/

#top, #bottom, #left, #right 
{ background: white;  z-index: 99; }

#left, #right {
position: fixed;
top: 0; bottom: 0;
width: 25px;
}
#left { left: 0; }
#right { right: 0; }

#top, #bottom {
position: fixed;
left: 0; right: 0;
height: 25px;
}

#top { top: 0; }
#bottom { bottom: 0; }

/* Fairly small screens including iphones and ipads */
@media 
only screen and (max-width: 600px),
only screen and (min-device-width: 768px) and (max-device-width: 1024px) 
{
#top, #bottom, #left, #right { display: none; }
}


 
 
/*
*
* titles
* 
*/ 

 h1,h2,h3,h4,h5 {
	font-family:"MonumentExtended-Regular";
	text-align:center;
	font-weight:normal;
	letter-spacing:0.125em;
	text-transform:uppercase;
 }

 h1 { 
	font-size:48px;
	margin:0;
	padding:0;
	line-height: 1.2em;
 }

 h2 { 
	font-size:24px;
	line-height: 1.2em;
	margin:72px 0;
	margin:0;
	padding:0;
 }
 
 p, address {
	letter-spacing:0.2em;
	font-style:normal;
	font-weight:normal;
	font-size:13px;
	line-height:1.8em;
 }

 address {
	 text-transform:uppercase;
	 text-align:center;
 }
 
 a, a:visited { 
 	color:#343333;
	text-decoration:none;
 }
 
 a:hover, a:active {
	 color:#959084;
	 text-decoration:underline;
 }
 
 /* omit hover for menu button */
 a.menu-button:hover,
 a.menu-button:active  {
  	color:#343333;
 	text-decoration:none;
 }
 

 
 
 
 
 
.wrapper { 
	width:100%;
	max-width:1600px;
	margin:0 auto;
	
	display: flex;
	flex-flow: column wrap;
	
	justify-content: stretch;
	min-height: calc(100vh - 80px );
}

.section {
	display:block;
	padding-top:48px;
	padding-bottom:48px;
}


.logo { 
	margin:10px auto;
	padding:0;
	display:block;
	width:105px;
}

.mast-header {
	height: 148px; /* Or whatever */
	display: flex;
	flex: 0 0 auto;
	flex-flow: row wrap;
	justify-content: space-around;
}

.mast-header > div {
	align-self:center;
	flex-grow: 1;
	flex-basis: 0;
	text-align:center;
}
 
.menu-box {
	display:inline-block;
	margin:0 auto;
	border: 2px solid #343333;
	padding: 0.25em 2.25em;
	text-transform:uppercase;
	font-size:13px;
	position:relative;
	background-image: url("../img/menu-stripes-bg.gif"), url("../img/menu-stripes-bg.gif");
	background-position: left top, right top;
	background-repeat: repeat-y;
	background-size: 13px;
}

.menu-button {
	letter-spacing:0.2em;
	text-decoration:none;
	color:#343333;
	margin:0 auto;
}

.main-content {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    justify-content: space-around;
}







@media
only screen and (max-width: 600px),
only screen and (min-device-width: 768px) and (max-device-width: 1024px)
{
	h1 { font-size:21px; letter-spacing:0.1em;}
	h2 { font-size:18px; letter-spacing:0.1em;}
	body, p, address {
		font-size:11px;
		letter-spacing:0.1em;
	}
	
	.section { 
		padding-top:24px; 
		padding-bottom:24px; 
	}
	
	body {  padding: 0; min-height:100%; }
	.wrapper { 
		/*min-height:auto;*/ 
		padding:20px 0; 
	}
}















/* ==========================================================================
 Navigation - Main Menu
 ========================================================================== */


/* Button styling */
.menu-toggle {
  display: block;
  padding:0;
  width:40px;
  height:40px;
  line-height: 1em;
  font-size: 1em;
  border:none;
  overflow:hidden;
  position:relative;
  left:10px;
}

.menu-toggle:hover,
.menu-toggle:focus {
  
}

.menu-toggle > span {
	display:block;
	width:100%;
	height:3px;
    margin:6px 0;
	background-color: #333;
}





/*
 Default styles + Mobile first
 Offscreen menu style
*/
.main-menu {
  position: absolute;
  display: none;
  left: -100%;
  top: 0;
  height: 100%;
  width: 100%;
  overflow-y: scroll;
  overflow-x: visible;
  transition: left 0.3s ease;
  z-index: 999;
}

.main-menu ul {
  list-style: none;
  margin: 0;
  padding: 72px 0 0;
  min-height: 100%;
  background: #1a1a1a;
}

.main-menu a {
  display: block;
  padding: 25px 15px;
  line-height: 1em;
  font-size: 1em;
  color: #fff;
  text-decoration: none;
  text-transform:uppercase;
  border-bottom: 1px solid #383838;
}

.main-menu li:first-child a {
  border-top: 1px solid #383838;
}

.main-menu a:hover,
.main-menu a:focus {
  text-decoration: underline;
  color: #eee;
}

.main-menu .menu-close {
  position: absolute;
  right: 0;
  top: 0;
  border: none;
}







/*
 On small devices, allow it to toggle
*/
/*
 :target for non-JavaScript
 [aria-expanded] will be used if/when JavaScript is added to improve interaction, though it's completely optional.
*/

.main-menu:target,
.main-menu[aria-expanded="true"] {
  display: block;
  left: 0;
  outline: none;
}

.main-menu:target .menu-close,
.main-menu[aria-expanded="true"] .menu-close {
  z-index: 1001;
}

.main-menu:target ul,
.main-menu[aria-expanded="true"] ul {
  position: relative;
  z-index: 1000;
}






/*
 Larger screen styling
 Horizontal menu
*/
@media
only screen and (min-width: 600px),
only screen and (max-device-width: 768px) and (min-device-width: 1024px) {
	
  .menu-toggle,
  .main-menu .menu-close {
    display: none;
  }
  
  /* Undo positioning of off-canvas menu */
  .main-menu {
    position: relative;
	left: auto;
	top: auto;
	height: auto;
    display: block;
    overflow:hidden;
  }
  
  .main-menu ul {
    display: flex;
    
    /* Undo off-canvas styling */
    padding: 0;
    -webkit-box-shadow: none;
       -moz-box-shadow: none;
            box-shadow: none;
    height: auto;
    width: auto;
    background: none;
  }
  
  .main-menu a {
	padding: 10px 15px;
	border: 0 !important; /* Remove borders from off-canvas styling */
	color:#343333;
	text-decoration:none;
	position: relative;
  }
  
  .main-menu a:hover,
  .main-menu a:focus {
    background: none; /* Remove background from off-canvas styling */
	color:#959084;
	text-decoration:none;
  }
  
  .main-menu a:before {
    content: "";
    position: absolute;
    width: 100%;
    height: 2px;
    bottom: 0;
    left: 0;
	padding: 0 15px;
    background-color: #000;
    visibility: hidden;
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transition: all 0.3s ease-in-out 0s;
    transition: all 0.3s ease-in-out 0s;
  }
  
  .main-menu a:hover:before {
    visibility: visible;
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
  }
  
}






















 /* ==========================================================================
  Photo Gallery Flex
  ========================================================================== */


.photo-gallery {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
}

.photo-gallery--photo {
	 margin: 10px;
}

.photo-gallery--photo img {
	max-width: 50vw;
	 min-width: 25vw;
}

.photo-gallery--photo.reg img {
	 max-width: 25vw;
}



/* ==========================================================================
 Photo Gallery Grids
 ========================================================================== */


.gallery {
	padding-left:15px;
	padding-right:15px;
	display: grid;
	grid-template-columns: repeat(1, 1fr);
	grid-template-rows: repeat(7, 1fr);
	grid-gap: 15px;
}

 .gallery__item img{
     width: 100%;
     height: 100%;
     object-fit: cover;
 }


 @media only screen and (min-width: 600px), only screen and (max-device-width: 768px) and (min-device-width: 1024px) {

	.gallery {
		max-width:1080px;
		margin:auto;
		display: grid;
		grid-template-columns: repeat(16, 1fr);
		grid-template-rows: repeat(24, 60px);
		grid-gap: 15px;
	}


	.gallery__item--1 {
		grid-column-start: 2;
		grid-column-end: 7;
		grid-row-start: 1;
		grid-row-end: 8;
    	
    	
    	
		/** Alternative Syntax **/
		/* grid-column: 1 / span 2;  */
		/* grid-row: 1 / span 2; */
	}

	.gallery__item--2 {
		grid-column-start: 6;
		grid-column-end: 16;
		grid-row-start: 2;
		grid-row-end: 7;
    	
		/** Alternative Syntax **/
		/* grid-column: 3 / span 2;  */
		/* grid-row: 1 / span 2; */
	}

	.gallery__item--3 {
		grid-column-start: 1;
		grid-column-end: 8;
		grid-row-start: 9;
		grid-row-end: 15;
    	
		/** Alternative Syntax **/
		/* grid-column: 5 / span 4;
		grid-row: 1 / span 5; */
	}

	.gallery__item--4 {
		grid-column-start: 6;
		grid-column-end: 14;
		grid-row-start: 10;
		grid-row-end: 16;
    	
		/** Alternative Syntax **/
		/* grid-column: 1 / span 4;  */
		/* grid-row: 3 / span 3; */
	}

	.gallery__item--5 {
		grid-column-start: 12;
		grid-column-end: 17;
		grid-row-start: 8;
		grid-row-end: 13;
    	
		/** Alternative Syntax **/
		/* grid-column: 1 / span 4; */
		/* grid-row: 6 / span 3; */
	}

	.gallery__item--6 {
		grid-column-start: 2;
		grid-column-end: 9;
		grid-row-start: 18;
		grid-row-end: 24;
    	
		z-index:1;
    	
		/** Alternative Syntax **/
		/* grid-column: 5 / span 4; */
		/* grid-row: 6 / span 3; */
	}

	.gallery__item--7 {
		grid-column-start: 8;
		grid-column-end: 15;
		grid-row-start: 17;
		grid-row-end: 25;
    	
		/** Alternative Syntax **/
		/* grid-column: 5 / span 4; */
		/* grid-row: 6 / span 3; */
	}

}


img.fade_img { display: none; }


.lazy-loaded {
    -webkit-animation: fadein 0.5s; /* Safari, Chrome and Opera > 12.1 */
       -moz-animation: fadein 0.5s; /* Firefox < 16 */
        -ms-animation: fadein 0.5s; /* Internet Explorer */
         -o-animation: fadein 0.5s; /* Opera < 12.1 */
            animation: fadein 0.5s;
}

@keyframes fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
}

/* Firefox < 16 */
@-moz-keyframes fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
}

/* Safari, Chrome and Opera > 12.1 */
@-webkit-keyframes fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
}

/* Internet Explorer */
@-ms-keyframes fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
}

/* Opera < 12.1 */
@-o-keyframes fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
}













 /* ==========================================================================
   Helper classes
   ========================================================================== */
 
 .center {
	 text-align:center;
 }
 
 .pull-right {
	 float:right;
 }
 
 .pull-left {
	 float:left;
 }
 
 
 @media 
 only screen and (max-width: 500px),
 only screen and (min-device-width: 768px) and (max-device-width: 1024px) 
 {
 	.hidden-sm { display: none !important; }
 }

 @media 
 only screen and (min-width: 500px),
 only screen and (max-device-width: 768px) and (min-device-width: 1024px) 
 {
 	.hidden-lg { display: none !important; }
 }
 

 
 
/*
 * Hide visually and from screen readers
 */

 .hidden {
  display: none !important;
}





/* Screen reader only */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  border: 0;
}






/*
* Hide only visually, but have it available for screen readers:
* https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
*
* 1. For long content, line feeds are not interpreted as spaces and small width
*    causes content to wrap 1 word per line:
*    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
*/

.visuallyhidden {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  white-space: nowrap; /* 1 */
}

/*
* Extends the .visuallyhidden class to allow the element
* to be focusable when navigated to via the keyboard:
* https://www.drupal.org/node/897638
*/

.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
  clip: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  position: static;
  width: auto;
  white-space: inherit;
}

/*
* Hide visually and from screen readers, but maintain layout
*/

.invisible {
  visibility: hidden;
}

/*
* Clearfix: contain floats
*
* For modern browsers
* 1. The space content is one way to avoid an Opera bug when the
*    `contenteditable` attribute is included anywhere else in the document.
*    Otherwise it causes space to appear at the top and bottom of elements
*    that receive the `clearfix` class.
* 2. The use of `table` rather than `block` is only necessary if using
*    `:before` to contain the top-margins of child elements.
*/

.clearfix:before,
.clearfix:after {
  content: " "; /* 1 */
  display: table; /* 2 */
}

.clearfix:after {
  clear: both;
}


.text-center { text-align:center; }
 
/* ==========================================================================
   EXAMPLE Media Queries for Responsive Design.
   These examples override the primary ('mobile first') styles.
   Modify as content requires.
   ========================================================================== */

   @media only screen and (min-width: 35em) {
    /* Style adjustments for viewports that meet the condition */
}

@media print,
       (-webkit-min-device-pixel-ratio: 1.25),
       (min-resolution: 1.25dppx),
       (min-resolution: 120dpi) {
    /* Style adjustments for high resolution devices */
}

 
/* ==========================================================================
   Print styles.
   Inlined to avoid the additional HTTP request:
   https://www.phpied.com/delay-loading-your-print-css/
   ========================================================================== */

   @media print {
    *,
    *:before,
    *:after {
        background: transparent !important;
        color: #000 !important; /* Black prints faster */
        -webkit-box-shadow: none !important;
        box-shadow: none !important;
        text-shadow: none !important;
    }

    a,
    a:visited {
        text-decoration: underline;
    }

    a[href]:after {
        content: " (" attr(href) ")";
    }

    abbr[title]:after {
        content: " (" attr(title) ")";
    }

    /*
     * Don't show links that are fragment identifiers,
     * or use the `javascript:` pseudo protocol
     */

    a[href^="#"]:after,
    a[href^="javascript:"]:after {
        content: "";
    }

    pre {
        white-space: pre-wrap !important;
    }
    pre,
    blockquote {
        border: 1px solid #999;
        page-break-inside: avoid;
    }

    /*
     * Printing Tables:
     * http://css-discuss.incutio.com/wiki/Printing_Tables
     */

    thead {
        display: table-header-group;
    }

    tr,
    img {
        page-break-inside: avoid;
    }

    p,
    h2,
    h3 {
        orphans: 3;
        widows: 3;
    }

    h2,
    h3 {
        page-break-after: avoid;
    }
}


