* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    scroll-behavior: smooth;
    scroll-padding-block-start: 14.5rem;
}

body {
    --full-width: 80rem;
    background-color: #373737;
    color: #ffffff;
    --pri-clr: #B5DBFF;
    font-size: 18px;
}

p {
    padding: 1.5rem 0;
    font-family: "Montserrat", sans-serif;
    font-optical-sizing: auto;
    font-weight: 200;
    font-style: normal;
    line-height: 1.75rem;
}

a {
    text-decoration: none;
}

h1,h2,h3 {
    font-family: "Bebas Neue", sans-serif;
    font-weight: 400;
    font-style: normal;
    text-transform: uppercase;
}

h1 {
    font-size: 3rem;
    color: #B5DBFF;
}

h1.heading-item {
    order: 2;
    margin-block-start: 2rem;
    font-size: 3rem;
}

h2, h2 > a {
    font-size: 2rem;
    color: #B5DBFF;
}

h2 > a {
    color: #FF8C00;
    transition: all .3s ease-in-out;
}

h2 > a:hover {
    color: #EEEEEE;
}

h3, h3 > a {
    color: #FF8C00;
    transition: all .3s ease-in-out;
}

h3 > a:hover {
    color: #EEEEEE;
}

a {
    color: #FF8C00;
}

form {
    display: flex;
}


/* LAYOUT */


main {
    min-height: 100vh;
    margin-top: -12.5rem;
}

.content-grid {
    display: grid;
    grid-template-columns: [full-width-start] 1fr [breakout-start] 1fr [content-start] minmax(auto,80rem) [content-end] 1fr [breakout-end] 1fr [full-width-end];
}

.page-hero {
    display: flex;
    grid-column: full-width;
    min-height: 60vh;
    max-width: 100%;
    z-index: -1;
    overflow: hidden;
}

@media screen and (max-width:40rem){

    .page-hero {
        min-height: 80vh;
    }

}

.page-hero img {
    top: 0;
    min-width: 100%;
    object-fit: cover;
}

.page-intro-grid {
    display: flex;
    flex-direction: column;
    grid-column: content;
    justify-content: flex-start;
    align-items: flex-start;
    width: 100%;
    margin-block-start: -5.5rem;
    padding-block: 3rem;
    padding-inline: 2rem;
    gap: 4rem;
}

@media screen and (min-width:60rem){

    .page-intro-grid {
        display: grid;
        grid-template-columns: repeat(4);
        grid-gap: 4rem;
        grid-column: content;

    }
    
}

.page-content-grid {
    display: grid; 
    grid-column: content;
    padding-block: 3rem;
    padding-inline: 2rem;
}

.page-content-grid.homepage {
    grid-column: content;
    width: 100%;
    margin-block-start: -3rem;
    padding: 1rem;
    place-items: center;
}

.page-header {
    display: flex;
    flex-direction: column;
    grid-column: 1/3;
    grid-row: 1/2;
    justify-content: center;
}

.page-header h2 {
    order: 2;
    margin-block-start: 1rem;
    font-size: 3rem;
}

.page-header p.page-breadcrumbs {
    order: 1;
    margin-block-start: 0rem;
    margin-block-end: 1rem;
    padding: 0;
    text-transform: uppercase;
    font-family: "Anton", sans-serif;
	text-shadow: 0px 0px 4px #070707;
}

    .page-header p.page-breadcrumbs a {
        color: #FFF0AD;
        text-decoration: none;
    }

.page-header .page-intro {
    order: 3;
}

.photo-item.page-featured-image {
    grid-column: 3/5;
    grid-row: 1/2;
    justify-content: center;
    margin-block-end: 0;
}

@media screen and (max-width:60rem){

    .photo-item.page-featured-image {
        display: none;
    }  

}

.text-item {
    display: grid;
    align-content: center;
    opacity: 0;
    transition: all .4s ease-in-out;
}

.text-item.show-text {
    opacity: 1;
}

.photo-item {
    display: grid;
    /*place-content: start;*/
    margin-block-start: 2rem;
    margin-block-end: 2rem;
    opacity: 0;
    transition: all 400ms ease-in-out;
}

.photo-item.show-pic {
    margin-block-start: 0;
    opacity: 1;
}

.photo-item.show-pic a {
	transition: all 0.4s ease-in-out;
}

.photo-item.show-pic a:hover {
	transform: scale(1.05);
}

.photo-item img {
    display: flex;
    height: auto;
    width: 100%;

}

.photo-item p.photo-item-description {
    margin-block-start: 0.25rem;
    margin-block-end: 0.25rem;
    padding: 0;
    font-size: 0.5rem;
    line-height: 0.5rem;
    text-align: right;
}

.photo-item p.photo-item-description i {
    color: #FF8C00;
}


/* UTILITY CLASSES */

.hide {
    opacity: 0;
}

/* HOMEPAGE */

.homepage-hero {
    /* position: fixed; */
    grid-column: full-width;
    min-height: 100vh;
    max-width: 100%;
    display: grid;
    place-items: center;
    grid-template-areas: "stack";
    /* border: 1px solid red; */
}

.homepage-hero-image {
    width: 100%;
}

.homepage-hero > * {
    grid-area: stack;
}

.homepage-hero-image {
    z-index: -1;
}

.homepage-hero-image img {
    height:100vh;
    width: 100%;
    object-fit: cover;
}

    .homepage-hero-text {
        display: grid;
        grid-template-columns: 1fr minmax(auto,70rem) 1fr;
        padding-inline: 10%;
    }

    .homepage-hero-text-content {
        grid-column: 2 / 3;
    }

        .homepage-hero-text h1 {
            max-width: 14ch;
            font-family: "Anton", sans-serif;  
            font-size: clamp(3.5rem, 6vw, 8rem);
            /* font-weight: 900; */
            font-style: normal;
            text-transform: uppercase;
            line-height: 1em;
            color: #11111195;
            /* opacity: 0.6;   */
        }

            .homepage-hero-text h1 span {
                display: block;
				max-width: 55ch;
                padding: 1.75rem 0;
                font-family: "Anton", sans-serif;
                font-weight: 400;
                font-size: clamp(1.25rem,1.75vw,1.75rem);
                line-height: 1.35em;
                color: #ffffffdd;
            }

            .homepage-hero-text a.button,
            a.button {
                display:flex;
                width:fit-content;
                margin-block-start: 1.5rem;
                padding: 0.5rem 1rem;
                font-family: "Anton", sans-serif;
                font-size: clamp(0.75rem,1.0rem,1.25rem);
                text-transform: uppercase;
                color: #ffffff;
                /* background-color: #FF8C00; */
                background-color: #3333339D;
                border: 2px solid #FF8C00;
                transition: all .3s ease-in-out;
            }

            .homepage-hero-text a.button:hover,
            a.button:hover {
                color: #333333;
                background-color: #FF8C00;
            }

section.page-content {
    display: grid;
    grid-column: content;
    padding-block-start: 3rem;
	padding-block-end: 8rem;
    padding-inline: 2rem;
}

@media screen and (min-width:60rem){

    section.page-content {
        
    }

}

div.page-content-block {
    display: flex;
}

@media screen and (max-width:60rem){

    div.page-content-block {
        flex-direction: column-reverse;
        margin-block-end: 6rem;
    }

    div.page-content-block div.content-block-text::after {
        margin-block-start: 4rem;
        font-family: 'Font Awesome 6 Free';
        font-weight: 900;
        font-size: 3rem;
        -webkit-font-smoothing: antialiased;
        content: "\f141";
        text-align: center;
    }

}

@media screen and (min-width:60rem){

    div.page-content-block {
        flex-direction: row;
        align-items: center;
        gap: 5rem;
        margin-block-end: 4rem;
    }

    div.page-content-block.reverse,
    section.portfolio div.page-content-block:nth-child(odd),
    section.journal div.page-content-block:nth-child(odd)  {
        flex-direction: row-reverse;
    }

}

    /* Content Block Text */


    @media screen and (min-width:40rem){
            
        /* div.page-content-block div.content-block-text {
            width: 50%;
        } */
    
    }

    @media screen and (min-width:60rem){
            
        div.page-content-block div.content-block-text {
            width: 50%;
        }
    
    }


    /* Content Block Gallery */


    @media screen and (min-width:40rem){
        
        div.page-content-block :not(.homepage) div.content-block-gallery {
            display: grid;
            grid-template-columns: 1fr 1fr;
            grid-template-rows: auto, repeat();
            gap: 1rem;
            margin-block-start: 1.5rem;
        }
    
    }
    
    @media screen and (min-width:60rem){
        
        div.page-content-block div.content-block-gallery {
            width: 50%;
            display: flex;
            flex-direction: column;
            /* margin-block-start: 3rem; */
            /* margin-block-end: 3rem; */
        }
    
    }

    div.page-content-block div.content-block-gallery img {
        max-width: 100%;
    }


/* Journal Image Grid Layout */

    .journal-story {
    grid-column: 1/5;
}

@media screen and (min-width:50rem){

    .journal-block {
        display: flex;
        flex-direction: row;
        gap: 5rem;
        align-items: start;
        margin-block-end: 4rem;
    }

    .page-content-grid.homepage .journal-block {
         align-items: center;
         margin-block-start: -3rem;
    }

    .journal-block.reverse {
        flex-direction: row-reverse;
    }

    .journal-block.inner-squeeze {
        padding-inline: 4rem;
    }

}

.journal-block .journal-block-text > p:first-of-type {
    margin-block-start: 0;
    padding-block-start: 0;
}

.journal-block h2.heading-item {
    font-size: 2rem;
    margin-bottom: 2rem;
    color: #FF8C00;
    padding-inline-start: 4rem;
    opacity: 0;
    transition: all .3s ease-in-out;
}

.journal-block h2.heading-item a {
    font-size: 2rem;
    color: #FF8C00;
}

.journal-block h2.show-heading {
    padding-inline-start: 0;
    opacity: 1;
}

@media screen and (min-width:50rem){
        
    .journal-block-text {
        width: 60%;
    }
    
}

.journal-block-gallery {
    display: flex;
    flex-direction: column;
    margin-block-start: 3rem;
    margin-block-end: 3rem;
}

@media screen and (max-width:50rem){
    
    .journal-block-gallery {
        display: grid;
        grid-template-columns: 1fr 1fr;
        grid-template-rows: auto, repeat();
        gap: 1rem;
        margin-block-start: 1.5rem;
        
    }

}

@media screen and (min-width:50rem){
    
    .journal-block-gallery {
        display: flex;
        flex-direction: column;
        width: 40%;
        /* margin-block-start: 4.25rem; */
    }
    
}

.journal-block-gallery img {
    max-width: 100%;
}


    /* Portfolio/Project Image Grid Layout */

    div.page-gallery {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
        /* grid-column: content; */
        /* width: 100%; */
        gap: 3rem;
    }

     @media screen and (min-width:40rem){

        ..div.page-gallery {
            grid-template-columns: 1fr 1fr;

        }

     }

     @media screen and (min-width:60rem){

        ..div.page-gallery {
            grid-template-columns: 1fr 1fr 1fr;

        }

     }

    div.page-gallery div.photo-item {
        display: grid;
        align-content: center;
		/* align-items:  center;
		justify-content: center;
		justify-items: center; */
        padding-block: 1rem;
        /*aspect-ratio: 2/3;*/
        object-fit: cover;
        background-color: #3;
    }   

    div.page-gallery div.photo-item img {
        display: flex;
        align-self: center;
/*		max-height: 250px;
		width: auto;*/
        /*width: calc(100% - 2rem);*/
        /*margin-inline: 1rem;*/
    }


/* MAP */

.leaflet-container {
    /* font: 12px/1.5 "Helvetica Neue", Arial, Helvetica, sans-serif !important; */
    border: 24px solid #ffffff !important;
}

.marker-cluster-small {
    background-color: rgba(255, 140, 0, 0.6) !important;
}

.marker-cluster-small div {
    background-color: rgba(255, 140, 0, 0.6) !important;
}}



/* SEARCH */



input.page-search-input,
button.page-search-button {
    /* min-height: 3rem; */
    border: 0 none;
    border-radius: 0;
}

.page-search-input {
    min-height: 3rem;
    width: 75%;
    padding-inline: 1rem;
    font-family: "Montserrat", sans-serif;
    font-size: 1rem;
    border: 2px solid #FF8C00; 
    border-inline-end: 0 none;
}

.page-search-button {
    /* padding: .5rem; */
    min-height: 3rem;
    width: 25%;
    font-family: "Bebas Neue", sans-serif;
    font-size: 1rem;
    color:#FFFFFF;
    background-color: #3333339d;
    border: 2px solid #FF8C00;
    border-radius: 0;
    transition: all .3s ease-in-out;
}

.page-search-button:hover {
    background-color: #FF8C00;
    color: #333333;
}


/* SEARCH RESULTS */

ul.search-results {
    display: flex;
    flex-direction: column;
    margin-block-start: 3rem;
    list-style: none;
}

    ul.search-results li {
        display: flex;
        flex-direction: column-reverse;
        align-items: flex-start;
        margin-block-end: 4rem;
        width: 100%;
    }

    @media screen and (max-width:50rem){

        ul.search-results li::before {
            width: 100%;
            margin-block-start: 4rem;
            font-family: 'Font Awesome 6 Free';
            font-weight: 900;
            font-size: 3rem;
            -webkit-font-smoothing: antialiased;
            content: "\f141";
            text-align: center;
        }
        
    }

    @media screen and (min-width:50rem){
        
        ul.search-results li {
            flex-direction: row-reverse;
            gap: 2rem;
        }

        ul.search-results li div.text-item {
            display: flex;
            flex-direction: column;
            width: 66.666%;
        }

        ul.search-results li div.photo-item {
            width: 33.333%;
            margin-block-end: 0;
        }
    
    }

        ul.search-results li h3 {
            margin-block-start: 0;
            margin-block-end: .5rem;
            font-size: 1.5rem;
            order: 2;
        }

        ul.search-results li p {
            margin-block-start: 0;
            margin-block-end: .5rem;
            padding-block: 0;
            order: 3;
        }

        ul.search-results li p.search-meta {
            font-size: 1rem;
            color: #FFF0AD;
            order: 1;
        }

        ul.search-results li p.search-meta a {
            color: #FFF0AD;
            transition: color 0.3s ease-in-out;
        }

        ul.search-results li p.search-meta a:hover {
            color: #FFFFFF;
        }

        ul.search-results li div.photo-item img {
            width: 100%;
            /* aspect-ratio: 3 / 2; */
        }



/* CONTACT */

form#FormBuilder_contact {
    font-family: "Bebas Neue", sans-serif;
}

    form#FormBuilder_contact div.Inputfields {
        width: 100%;
    }

    form#FormBuilder_contact label {
        font-size: 1.25rem;
        font-family: "Bebas Neue", sans-serif;
        color: #B5DBFF;
    }

    form#FormBuilder_contact label::after {
        color: #FF8C00;
    }

    form#FormBuilder_contact input,
    form#FormBuilder_contact textarea {
        width: 100%;
        font-size: 1rem;
        font-family: "Montserrat", sans-serif;
        color: #333333;
        border-radius: 0;
    }

    form#FormBuilder_contact button {
        display:flex;
        width:fit-content;
        font-family: "Bebas Neue", sans-serif;
        font-size: 1.5rem;
        color: #FFFFFF;
        background-color: #3333339d;
        border: 2px solid #FF8C00;
        transition: all .3s ease-in-out;
        border: 2px solid #FF8C00;
        border-radius: 0;
    }

    form#FormBuilder_contact button:hover {
        color: #333333;
        background-color: #FF8C00;
    }

    div#FormBuilderSubmitted {

    }

        #FormBuilderSubmitted p {
            background: transparent;
            border: 1px solid #FF8C00;
        }

    div.FormBuilderErrors {
        border: 1px solid #FF8C00;
    }

         div.FormBuilderErrors p.alert-error {
            background-color: transparent;
         }




/* FOOTER */

footer {
    
}
    
    div.footer-content {
        display: flex;
        flex-direction: column;
        grid-column: content;
        padding-block: 3rem;
        padding-inline: 4rem;
        background-color: #C5C5C5;
        align-items: center;
        text-align: center;
    }

    div.footer-content.copyright {
        padding-block-start: 0;
        justify-content: center;
    }

    @media screen and (min-width:60rem){

        div.footer-content {
            display: flex;
            flex-direction: row;
            justify-content: space-between;
            align-content: center;
            text-align: left;
        }

    }

    div.footer-content p,
    div.footer-content p a {
        padding: 0;
        margin-block: 0;
        font-size: 0.65rem;
        line-height: 1rem;
        color: #222222; 
    }   

         div.footer-content div.footer-content-block {
            width: fit-content;
            margin-block-end: 1rem;
        }

        div.footer-content div.footer-content-block div.footer-logo a img {
            display: flex;
            height: auto;
            max-width: 200px;
            filter: invert(1);
        }


/* Lightbox */

div#lightbox.lightbox div.lb-dataContainer div.lb-data div.lb-details span.lb-number,
div#lightbox.lightbox div.lb-dataContainer div.lb-data div.lb-details span.lb-caption {
	font-family: "Montserrat", sans-serif;
	font-weight: 200;
}