/*----contactus----*/.content-block-contact_us > span{
    perspective: 2000px;
}

#contactus{
    margin: 0px auto;
    max-width: 540px;
    width: 100%;
    display: block;
    position: relative;
    border: none;
    background-color: transparent;
}

#contactus:before{
    content: "";
    position: absolute; bottom: 0px; left: 0px; top: 0px; right: 0px;
    opacity: 0.12;
    pointer-events: none;
}

#contactus_form[loading="true"]{
    pointer-events: none;
    opacity: 0.5;
}
#contactus .contactus_title{
    display: none;
    padding: var(--gap-normal);
    background: rgba(255,255,255,0.1);
}

#contactus .contactus_title > *{
    display: inline-block;
    line-height: 30px;
    min-width: 30px;
}

#contactus i:first-child{
    display: none;
}

#contactus i:last-child{
    display: none;
}


#contactus[open] i:last-child{
    display: block;
}

#contactus_form{
    margin: var(--gap-large);
}

#contactus_form_response{
    border: 1px solid rgba(0,0,0,0.2);
    border-radius: 2pt;
    margin-left: var(--gap-large);
    margin-right: var(--gap-large);
    background: rgba(20,50,200,0.1);
    transition: all 220ms ease;
    opacity: 0;
}

#contactus_form_response[status]{
    opacity: 1;
    padding: var(--gap-large);
    margin-top: var(--gap-large);
    margin-bottom: var(--gap-large);
}

#contactus_form_response[status="200"]{
    background: rgba(20,200,50,0.2);
}

#contactus_form_response[status="500"]{
    background: rgba(200,50,20,0.2);
}

#contactus_form .form_message{
    margin-bottom: var(--gap-large);
    text-align: left;
}

#contactus_form button{
    margin-top: var(--gap-normal);
    outline: none; border: none;
    line-height: 40px;
    padding: 0px var(--gap-normal);
    color: white;
    font-weight: bold;
    transition: all 250ms ease;
    cursor: pointer;
    background: var(--background-button);
}

altcha-widget .altcha{
    max-width: 100%;
    background: rgba(0,0,0,0.1);
    border: 1px solid rgba(0,0,0,0.1);
}

altcha-widget .altcha-main{
    line-height: 30px;
    vertical-align: middle;
}

altcha-widget .altcha-logo{
    display: inline-block;
    height: 30px;
    padding: 4px 0px;
    vertical-align: middle;
}

altcha-widget .altcha-label{
    text-align: left;
    color: var(--text-color-alt);
    padding-left: var(--gap-normal);
}

altcha-widget .altcha-footer{
    display: none;
}


#contactus_form > h3,
#contactus_form > details > summary{
    font-size: var(--text-size-larger);
    margin: 10px auto;
    font-weight: 600;
}

#contactus_form > details{
    padding: 1px 0px;
}

#contactus_form > details[open]{
    border-top: 1px solid rgba(0,0,0,0.3);
    border-bottom: 1px solid rgba(0,0,0,0.3);
    padding: 0px;
}/*----footer----*/#footer{
    padding: var(--gap-larger);
    font-family: 'Montserat', sans-serif;
    font-size: var(--text-size-small);
} 

.footer-wrapper{
    display: flex;
    flex-direction: column;
    max-width: var(--page-width);
    margin: 0px auto;
    text-align: center;
}

.footer-wrapper > span{
    display: block;
    padding: var(--gap-small);
}/*----input----*/.input_wrapper{
    display: block;
    min-height: 50px;
    position: relative;
    background: rgba(0,0,0,0.1);
    margin: var(--gap-normal) 0px 25px 0px;
    padding: calc(var(--text-size-normal) + var(--gap-small)) 0px 0px 0px;
    border: 1px solid rgba(0,0,0,0.1);
}

.input_wrapper > label{
    display: block;
    position: absolute;
    top: 0px; left: 0px; right: 0px;
    font-size: var(--text-size-smaller);
    font-weight: bold;
    text-align: left;
    padding: var(--gap-small);
    color: var(--text-color-alt);
    pointer-events: none;
    line-height: 1;
}

.input_wrapper > input,
.input_wrapper > textarea{
    padding: var(--gap-small);
    display: block;
    outline: none; border: none;
    width: 100%;
    max-width: 100%;
    min-width: 100%;
    min-height: 30px;
    line-height: var(--text-size-large);
    font-size: var(--text-size-normal);
    background: transparent;
    color: var(--text-color);
    font-family: monospace;
    z-index: 1;
}

.input_wrapper > textarea{
    min-height: 120px;
}

.input_wrapper[error]{
    border-color: tomato;
}

.input_wrapper[error]:after{
    content: attr(error);
    position: absolute;
    top: 100%; left: 0px; right: 0px;
    font-size: var(--text-size-smaller);
    color: tomato;
}

.input_wrapper[error] > label{
    color: tomato;
}/*----navigation----*/
#nav .nav-wrapper{
	top: 0px; left: 0px; right: 0px;
	position: fixed;
	overflow: visible;
	font-family: 'Montserrat', sans-serif;
	letter-spacing: 0.8pt;
	color: var(--text-color-alt);
	font-size: 14pt;
	z-index: 10;
    background: white;
    box-shadow: var(--shadow-layer-2);
}

#nav .nav-mobile{
    background: var(--background-color);
}
    
#nav .nav-desktop{
    display: none;
}

/*nav burger*/
#nav .nav-burger{
    position: fixed;
    top: 0px; right: 0px;
    width: 80px;
    height: 80px;
    outline: none;
    border: none;
    background: var(--background-color);
}

#nav .nav-burger > i{
    display: block;
    width: 36px;
    height: 3px;
    border-radius: 3pt;
    background: black;
    margin: 3px auto;
    transform-origin: 9px 1.5px;
    transition: all 150ms ease;
    opacity: 1;
}

/*transition nav burger*/
#nav .nav-burger:focus{
    pointer-events: none;
}

#nav .nav-burger:focus > i:nth-child(1){
    transform: rotate(45deg);
}

#nav .nav-burger:focus > i:nth-child(2){
    opacity: 0;
}

#nav .nav-burger:focus > i:nth-child(3){
    transform: rotate(-45deg);
}

/*nav logo*/
#nav .nav-logo{
	position: fixed;
	z-index: 11;
	margin: 0% auto;
    top: 0px; left: 0px;
    height: 80px;
    width: 120px;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}

/*mobile list*/
#nav .nav-mobile .nav-list{
    margin: 80px 0px 0px 0px;
    height: 100%;
    overflow: hidden;
    max-height: 0px;
    transition: max-height 120ms ease 120ms;
}

#nav .nav-burger:focus ~ .nav-mobile .nav-list{
    max-height: 350px;
    transition-delay: 0ms;
}

/*general (applies to desktop and mobile)*/
.nav-list{
    padding: 0px;
    list-style-type: none;
}

.nav-link{
    display: block;
    padding: 0px;
    list-style-type: none;
    line-height: 50px;
    width: 100%;
    cursor: pointer;
    text-align: center;
    transition: all 300ms;
    text-decoration: none;
    color: var(--text-color-alt);
}

@media screen and (min-width: 1350px){
    #nav .nav-wrapper{
        background: transparent;
        box-shadow: none;
        top: 190px; right: calc(50% + 432px); left: calc(50% - 640px);
    }

    #nav .nav-mobile{
        display: none;
    }

    #nav .nav-desktop{
        display: block;
    }

    #nav .nav-burger{
        display: none;
    }

    #nav .nav-logo{
        left: calc(50% - 640px); top: 60px;
        width: 210px;
        height: 120px;
        transition: all 320ms cubic-bezier(0.75, 0, 0.25, 1);
    }

    body[scroll="0"] #nav .nav-logo{
        left: calc(50% - 400px); top: 120px;
        width: 800px;
        height: 50vh;
        padding: 30px;
        max-width: 100vw;
        opacity: 0.8;
    }

    .nav-list{
        list-style-type: none;
        min-width: 210px;
        padding: 0px;
    }

    .nav-link, 
    .nav-link:visited{
        line-height: 64px;
        color: var(--text-color-alt);
        text-shadow: 0px 0px 10px white;
    }

    .nav-link:hover{
        color: #3B6;
        background: rgba(0,120,60,0.1);
    }

    .nav-link[active="true"], .nav-link:active{
        color: rgb(210,245,225);
        background: rgb(0,120,60);
    }
}
/*----section_about_us----*/.section-container.section-about_us{
    transition: all 500ms ease;
    padding-top: 300px;
}

.sub-block[block-title="#experience"] > div > span{
    display: flex;
    flex-direction: row;
    gap: 20px;
    line-height: 1.2;
}

.sub-block[block-title="#experience"] > div > span > *{
    margin: 0px;
}

.sub-block[block-title="#experience"] > div > span > img{
    width: 100px;
    height: 100px;
}

@media screen and (min-width: 1350px){
    .section-container.section-about_us:before{
        content: " ";
        display: block;
        position: absolute;
        width: var(--page-width);
        left: calc(50% - var(--page-width-half));
        top: -860px; bottom: 0px;
        background: white;
        opacity: 0;
        transition: 320ms ease;
        z-index: -1;
    }

    body[scroll="0"] .section-container.section-about_us{
        position: relative;
        padding-top: 860px;
    }

    body[scroll="0"] .section-container.section-about_us:before{
        opacity: 0.7;
    }
}/*----section_background----*/.section-container.section-background{
    padding: 0px; margin: 0px;
}

.section-background .section-title,
.section-background .content-block-title[depth="3"]{
    display:none;
}

.section-background .content-block[depth="3"] > span{
    padding: 0px;
    background: transparent;
}/*----section_testimonials----*/.testimonial{
    padding: var(--gap-large) 0px;
}

.testimonial:first-child{padding-top: 0px;}
.testimonial:last-child{padding-top: 0px;}/*----style----*//*basic page layout stuff for common elements*/
*{
    box-sizing: border-box;
}

/*hide elements when specified by the document*/
[title^="#"]{
    display: none;
}

.section-container > *{
    margin: 0px auto;
    text-align: left;
}

.page-title{
    display: none;
}

.section-title{
    background: var(--background-section);
    font-family: Montserrat-Thin, sans-serif;
    position: relative;
	width: 100%;
	text-transform: uppercase;
	display: block;
	font-weight: 200;
	font-size: var(--text-size-title);
	line-height: 100%;
    max-width: var(--page-width);
    margin: 0px auto;
    padding: var(--gap-large) var(--gap-large) var(--gap-normal) var(--gap-large);
}

.content-block[depth="3"] > span,
.sub-block[depth="4"]{
    display: block;
    margin: 0px auto;
    background: var(--background-section);
    padding: 0px var(--gap-large) var(--gap-large) var(--gap-large);
    max-width: var(--page-width);
}

.content-block span > span{
    display: block;
    margin: var(--gap-large) 0px;
}

.content-block{
    font-family: 'Open Sans', sans-serif;
    font-size: var(--text-size-normal);
    letter-spacing: 0.3pt;
    line-height: 150%;
}

.content-block-title[depth="3"]{
	display: block;
	position: relative;
	padding-top: 4pt;
	text-transform: uppercase;
    padding: var(--gap-normal) var(--gap-large) var(--gap-large) var(--gap-large);
	font-size: var(--text-size-subheading);
	color: var(--text-color-alt);
	line-height: 100%;
    margin: 0px auto;
    max-width: var(--page-width);
    margin-bottom: var(--gap-large);
    background: var(--background-section);
    font-family: 'Montserrat-Thin', sans-serif;
}

.content-block-title[depth="3"]:before{
    content: " ";
    position: absolute;
    top: 0px; left: var(--gap-large);
    width: 50%;
    border-top: 3px solid var(--text-color-alt);
}

.content-block-title[depth="3"] + span,
.content-block-title[depth="3"] + .sub-block{
    padding-top: var(--gap-large);
}

details > summary{
    transition: opacity 160ms ease;
    cursor: pointer;
}

details > summary:hover{
    opacity: 0.6;
}/*----theme----*//*basic style modifications for common elements*/
html, body{
	margin: 0px;
	padding: 0px;
}

sub-block-title[depth="3"],
h5.sub-block-title[depth="4"]{
	position: relative;
    line-height: 1.8;
    margin-top: 0px;
    font-family: 'Montserrat-Thin', sans-serif;
}

h5.sub-block-title[depth="4"]{
    font-size: var(--text-size-heading);
}

h5.sub-block-title[depth="4"]:after{
	content: " ";
	position: absolute;
	bottom: 0px; left: 0px;
	height: 3px;
	width: 32pt;
	background: var(--text-color-alt);;	
}

a{
	text-decoration: none;
	color: var(--text-color-alt);;
}

.section-container{
	padding-top: 24pt;
}

#grad_hero{
	transition: background-image 300ms linear 600ms;
	/* filter: brightness(110%); */
	background-image: url('/images/mint_header.webp');
	background-position: right top;
	background-repeat: no-repeat;
	background-size: cover;
	position: fixed;
	top: 0px; right: 0px; bottom: 30vh;
	min-width: 50vw;
	max-width: 100vw;
    max-height: 900px;
	width: 1200px;
	z-index: -1;
}

body[scroll="0"] #grad_hero{background-image: url('/images/mint_header.webp') ! important;}

#grad_hero:before{
	content: " ";
	position: fixed;
	top: 0px; right: 0%; left: 0%; bottom: 30vh;
	background: linear-gradient(90deg, rgb(210,245,225) calc(100vw - 600px), rgba(0,230,200,0.2));
	z-index: -2;
}

#grad_hero:after{
	content: " ";
	position: fixed;
	top: min(900px,70vh); left: 0%; right: 0%; bottom: -500px;
	background: white;
	transform: skewY(6deg);
	transform-origin: right;
}


.content-block-title[depth="3"]{
	display: block;
	position: relative;
	padding-top: 4pt;
	text-transform: uppercase;
    padding: var(--gap-normal) var(--gap-large) var(--gap-large) var(--gap-large);
	font-size: 30px;
	color: var(--text-color-alt);;
	line-height: 100%;
    margin: 0px auto;
    max-width: var(--page-width);
    margin-bottom: var(--gap-large);
    background: var(--background-section);
    font-family: 'Montserrat-Thin', sans-serif;
}

.content-block-title[depth="3"]:before{
    content: " ";
    position: absolute;
    top: 0px; left: var(--gap-large);
    width: 50%;
    border-top: 3px solid var(--text-color-alt);

}

.content_block{
	padding: 12pt 0pt;
	background: rgba(255,255,255,0.8);
	/*background: rgba(255,255,255,0.8);
	border-radius: 2pt;
	box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.2), 0px 0px 12px 0px rgba(0,0,0,0.2);*/
	font-family: 'Open Sans', sans-serif;
	font-size: 13pt;
	letter-spacing: 0.3pt;
	line-height: 150%;
	margin: 0px auto;
	overflow: auto;
}

.content_block > h3{
	padding: 12pt 0pt;
	margin: 0pt 24pt;
}

.content_block > p{
	padding: 12pt 24pt;
	margin: 0;
}

.content_block  > form{
	padding: 12pt 24pt;
    position: relative;
}

.team_card_container{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-evenly;
	width: 100%;
	box-sizing: border-box;
	padding: var(--gap-large) var(--gap-normal);
	text-align: center;
}

.team_card{
    display: block;
    min-width: 220px;
	padding: var(--gap-large) 0px; 
	box-sizing: border-box;
	text-align: center;
}

.team_image{
	width: 180px;
    height: 180px;
	border-radius: 50%;
	margin-bottom: 16pt;
}

.team_card h4{
	font-size: 16pt;
    margin-bottom: 0px;
}


.team_text > div{
    position: relative;
	padding-bottom: 10px;
	margin: 0px 0px 12px 0px;
}

.team_text > div:after{
    content: " ";
    position: absolute;
    bottom: -4px;
    left: calc(50% - 16pt);
    height: 3px;
    width: 32pt;
    margin: 0px auto;
    background: #019A48;
}

.team_text{
	vertical-align: top;
}

@media screen and (max-width: 1350px) {	
	.section-title h1{
		font-size: 28pt;
	}	
	
	.section-title h2{
		font-size: 18pt;
	}
	
	.content_block h3{
		font-size: 14pt;
		padding: 8pt 0pt;
	}	
	
	.content_block p{
		font-size: 12pt;
		padding: 8pt 24pt;
	}
	
	.section-container{
		padding-top: 250px;
	}
}
