/*
Theme Name: Build OMA
Theme URI: https://wave.dev
Author: Wave
Author URI: https://wave.dev
Description: Build OMA Main Theme for Dynamic Content Presentation
Requires at least: 6.1
Tested up to: 6.2
Requires PHP: 5.6
Version: 1.0
Text Domain: buildoma
*/
#page *,
#footer *,
#site-header *{
    box-sizing: border-box;
}
/* Basic Styles */
#content{
    overflow: hidden;
    padding-top: 100px;
}
.single-projects #content, .page #content {
    padding-top: 0;
}
.home #content{
    padding-top: 0;
}
h1,h2,h3,h4,h5,h6,p,ul,ol,a,button{
    margin-block-start: 0.5em;
    margin-block-end: 0.5em;
}
h1{
    /* Hero header */
    font-family: 'rift', sans-serif;
    font-size: 66px;
    line-height: 80px;
    font-weight: bold;
    letter-spacing: 0px;
    color: #E59457;
    text-transform: uppercase;
}

h2{
    /* Slider Header */
    font-family: 'rift', sans-serif;
    font-size: 60px;
    line-height: 72px;
    font-weight: bold;
    letter-spacing: 0px;
    color: #004960;
    text-transform: uppercase;
    font-style: italic;
    margin-top: 50px;
    margin-bottom: 10px;
}

h3{
    /* Hero subheader */
    font-family: 'azo-sans-web', sans-serif;
    font-size: 28px;
    line-height: 35px;
    font-weight: bold;
    letter-spacing: 0px;
    color: #FFFFFF;
}

h4{
    /* FAQ Question Header & News Headline */
    font-family: 'azo-sans-web', sans-serif;
    font-size: 22px;
    line-height: 26px;
    font-weight: bold;
    letter-spacing: 0px;
    color: #004960;
}

button{
    /* Newsletter button */
    font-family: 'rift', sans-serif;
    font-size: 18px;
    line-height: 28px;
    font-weight: bold;
    letter-spacing: 0px;
    color: #004960;
    cursor: pointer;
}

p, li{
    font-family: 'azo-sans-web', sans-serif;
    font-size: 16px;
    line-height: 26px;
    letter-spacing: 0px;
    color: #004960;
}
/* @todo finalize <a> styles once there are more designs */
a{
    text-decoration: none;
}
blockquote > p{
    position: relative;
    padding-left: 20px;
}
blockquote > p::before{
    content: "";
    display: flex;
    position: absolute;
    left: 0;
    height: calc(100% - 5px);
    width: 0;
    border: 2px solid #004960;
    border-radius: 2px;
}

#main > * {
    max-width: var(--wp--style--global--content-size);
    margin-left: auto;
    margin-right: auto;
}
#main > .alignfull{
    max-width: unset;
}

#page{
    background-color: #fff;
}

@media(max-width: 850px){
    h1{
        font-size: 54px;
        line-height: 50px;
    }
    
    h2{
        font-size: 46px;
        line-height: 55px;
    }

    h3{
        font-size: 20px;
        line-height: 28px;
    }
    
    h4{
        font-size: 18px;
    }
    
    button{
        font-size: 16px;
    }
    
    p, li{
        font-size: 15px;
        line-height: 25px;
    }

    #main > * {
        /*margin-left: 5%;
        margin-right: 5%;*/
    }
    #main > .alignfull{
        margin-left: 0;
        margin-right: 0;
    }

    .mob-left{
        text-align: left !important;
    }
    .mob-margin{
        margin-left: 5% !important;
        margin-right: 5% !important;
    }
}

/* Header */
#site-header{
    position: relative;
}
#site-header-inner{
    height: 100px;
    position: absolute;
    width: 100%;
    display: flex;
    align-items: center;
    padding: 0 2.5%;
    top: 0;
    left: 0;
    z-index: 999;
}
#site-header-inner .header-icon{
    height: 45px;
}
#primary-menu-list{
    list-style: none;
    display: flex;
    align-items: center;
}
#primary-menu-list > li{
    padding-right: 40px;
}
#primary-menu-list > li > a{
    font-family: 'azo-sans-web', sans-serif;
    font-size: 18px;
    font-weight: bold;
    letter-spacing: 0.9px;
    color: #004960;
}
.home #primary-menu-list > li > a{
    color: #FFFFFF;
}
.mobile-navbutton, .mobile-header-menu{
    display: none;
}
@media (max-width: 850px){
    #site-header-inner{
        height: 80px;
    }
    .mobile-header-menu{
        position: absolute;
        top: 80px;
        z-index: 9999;
        width: 100%;
    }
    .mobile-header-menu #primary-menu-list{
        padding-left: 0;
        flex-direction: column;
        margin: 0;
    }
    .mobile-header-menu #primary-menu-list li{
        width: 100%;
        padding: 10px 30px;
        background: #004960;
    }
    .mobile-header-menu #primary-menu-list li > a{
        width: 100%;
        padding: 10px 30px;
        background: #004960;
        color: #fff
    }
    .mobile-header-menu #primary-menu-list li:first-child{
        padding-top: 20px;
    }
    .mobile-header-menu #primary-menu-list li:last-child{
        padding-bottom: 20px;
    }
    .mobile-navbutton{
        display: block;
    }
    .mobile-navbutton .menu-icon {
        cursor: pointer;
        display: inline-block;
        float: right;
        padding: 40px 0px;
        position: absolute;
        user-select: none;
        top: calc(50% - 40px);
        right: 5%;
    }
    
    .mobile-navbutton .menu-icon .navicon {
        background: #004960;
        display: block;
        height: 2px;
        position: relative;
        transition: background 0.2s ease-out;
        width: 30px;
        border-radius: 4px;
    }
    
    .mobile-navbutton .menu-icon .navicon::before,
    .mobile-navbutton .menu-icon .navicon::after {
        background: #004960;
        content: "";
        display: block;
        height: 2px;
        position: absolute;
        transition: all 0.2s ease-out;
        width: 100%;
        border-radius: 4px;
    }

    .home .mobile-navbutton .menu-icon .navicon.
    .home .mobile-navbutton .menu-icon .navicon::before,
    .home .mobile-navbutton .menu-icon .navicon::after{
        background: #fff;
    }
    
    .mobile-navbutton .menu-icon .navicon::before {
        top: 10px;
        }
    
    .mobile-navbutton .menu-icon .navicon::after {
        top: -10px;
    }
    .mobile-navbutton .menu-btn {
        display: none;
    }
    .primary-menu {
        display: none;
    }
    .mobile-navbutton .menu-btn:checked ~ .primary-menu {
        display: block;
    }
    
    .mobile-navbutton
    .menu-btn:checked
    ~ .menu-icon
    .navicon {
        background: transparent;
    }
    
    .mobile-navbutton
    .menu-btn:checked
    ~ .menu-icon
    .navicon:before {
        transform: rotate(-45deg);
    }
    
    .mobile-navbutton
    .menu-btn:checked
    ~ .menu-icon
    .navicon:after {
        transform: rotate(45deg);
    }
    
    .mobile-navbutton
    .menu-btn:checked
    ~ .menu-icon:not(.steps)
    .navicon:before,
    .mobile-navbutton
    .menu-btn:checked
    ~ .menu-icon:not(.steps)
    .navicon:after {
        top: 0;
    }
}

/* Alert Bar */
.alert-bar{
    background-color: #E59457;
    position: relative;
}
.alert-bar .alert-inner{
    max-width: var(--wp--style--global--content-size);
    margin-left: auto;
    margin-right: auto;
    display: flex;
    align-items: center;
    position: relative;
}
.alert-bar .alert-button{
    border: none;
    background: none;
    padding: 0;
    margin: 0;
    margin-top: 3px;
}
.alert-bar .alert-button:disabled{
    opacity: 0.6;
}
.alert-bar .alert-prev{
    margin-right: 5px;
}
.alert-bar .alert-button svg{
    height: 15px;
    width: 15px;
}
.alert-bar .alert-button svg path{
    fill: #004960;
}
.alert-bar .alert-content *{
    color: #004960 !important;
    font-weight: bold;
}
.alert-bar .alert-content a{
    text-decoration: underline;
}
.alert-bar .alert-pagination{
    position: absolute;
    right: 0;
}
.alert-bar .alert-content{
    width: 100%;
    padding-right: 40px;
    position: relative;
    overflow: hidden;
}
.alert-bar .single-alert{
    width: 100%;
    transition: transform 1s cubic-bezier(0.87, 0, 0.13, 1); 
    text-align: center;
}
.alert-bar .single-alert.inactive{
    position: absolute;
    left: 0;
    top: 0;
    transform: translateX(100%);
}
@media(max-width: 800px){
    .alert-bar .alert-inner{
        padding: 0 40px;
    }
    .alert-bar .alert-pagination{
        position: unset;
    }
    .alert-bar .alert-prev{
        position: absolute;
        left: 10px;
        top: calc(50% - 15px);
    }
    .alert-bar .alert-next{
        position: absolute;
        right: 10px;
        top: calc(50% - 15px);
    }
    .alert-bar .alert-content{
        padding-right: 0;
    }
}


/* Footer */
#footer{
    display: flex;
    flex-direction: column;
    position: relative;
    border-top: 20px solid #2e5b6f;
    margin-top: 50px;
}
#footer .footer-top-swoop{
    position: absolute;
    width: 105%;
    height: 2000px;
    top: -2000px;
    border-right: 20px solid #2e5b6f;
    border-bottom: 20px solid #2e5b6f;
    border-radius: 50px;
    transform: skew(-10deg);
}
#footer .footer-bottom{
    margin-top: -5px;
    background: linear-gradient(90deg, rgba(28,62,80,1) 50%, rgba(0,57,75,1) 100%);
    padding-bottom: 40px;
    position: relative;
}
#footer .footer-content{
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    padding: 0 5%;
    box-sizing: content-box;
}
#footer .footer-content h2{
    color: #E59457;
    margin-top: 50px;
    margin-bottom: 10px;
}
#footer .footer-content p{
    color: #fff;
}
#footer .social-ctn{
    display: flex;
    justify-content: center;
    align-items: center;
}
#footer .social-ctn a{
    scale: 0.5;
    padding: 0;
}
#footer .copyright{
    text-align: center;
    width: 100vw;
    font-family: 'azo-sans-web', sans-serif;
    font-size: 14px;
    letter-spacing: 0;
    color: #fff;
    font-weight: normal;
}
#footer #gform_1{
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 10px;
    margin-bottom: 50px;
}
#footer #gform_1 #input_1_1{
    height: 40px;
    width: 400px;
    border-radius: 5px;
    border: none;
    padding: 5px 10px;
    margin-right: 10px;
}
#footer #gform_1 #gform_submit_button_1{
    height: 40px;
    background: transparent;
    color: #fff;
    font-weight: normal;
    font-style: italic;
    border: 3px solid #fff;
    border-radius: 3px;
    padding: 0 10px;
    font-family: 'rift', sans-serif;
    font-size: 24px;
    line-height: 28px;
    letter-spacing: 0;
    padding-right: 35px;
    font-weight: bold;
    margin-bottom: 6px;
    transition: background 0.5s, color 0.5s;
}
#footer #gform_1 .gform_footer{
    padding: 0;
    position: relative;
}
#footer #gform_1 .gform_footer > svg{
    scale: 0.25;
    position: absolute;
    right: -10px;
    top: -2px;
    transition: scale 0.35s;
}
/* #footer #gform_1 .gform_footer::after{
    content: "";
    background: url('/wp-content/uploads/2023/04/slider-arrow-white.png');
    background-size: 15px 10.71px;
    position: absolute;
    width: 15px;
    height: 10.71px;
    right: 11px;
    top: 15px;
    transition: width 0.5s, height 0.5s;
} */
#footer #gform_1 .gform_footer:hover #gform_submit_button_1{
    color: #004960;
    background: #fff;
}
#footer #gform_1 .gform_footer:hover > svg{
    scale: 0.3;
}
#footer #gform_1 .gform_footer > svg #after-arrow-svg1,
#footer #gform_1 .gform_footer > svg #after-arrow-svg2{
    transition: fill 0.35s;
}
#footer #gform_1 .gform_footer:hover > svg #after-arrow-svg1,
#footer #gform_1 .gform_footer:hover > svg #after-arrow-svg2{
    fill: #004960;
}
/* #footer #gform_1 .gform_footer:hover::after{
    background: url('/wp-content/uploads/2023/05/navy_link_after_arrow.png');
    background-size: 21.82px 15px;
    width: 21.82px;
    height: 15px;
    top: 13px;
} */
#footer #gform_confirmation_message_1{
    font-family: 'azo-sans-web', sans-serif;
    font-size: 22px;
    line-height: 26px;
    font-weight: bold;
    color: #fff;
}
@media(max-width: 850px){
    #footer{
        margin-top: 25px;
    }
    #footer #gform_1{
        flex-direction: column;
    }
    #footer #gform_1 #input_1_1{
        min-width: 100%;
        margin: auto;
        margin-bottom: 15px;
    }
}

/* Forms */
.gform_ajax_spinner{
    position: absolute;
    right: -25px;
    top: 13px;
}

/* Page */
#page-title{
    color: #004960;
    text-align: center;
    font-style: italic;
    font-size: 100px;
    line-height: 100px;
    margin: 75px auto;
}
@media(max-width: 800px){
    #page-title{
        font-size: 55px;
        line-height: 55px;
        margin-top: 35px;
    }
}

.video-modal,
.video-modal .overlay {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 3000;
}
.video-modal {
	overflow: hidden;
	position: fixed;
	opacity: 0.0;

  -webkit-transform: translate(500%,0%);
  transform: translate(500%,0%);

  -webkit-transition: -webkit-transform 0s linear 0s;
  transition: transform 0s linear 0s;


  /* using flexbox for vertical centering */

  /* Flexbox display */
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;

  /* Vertical alignment */
  -webkit-box-align: center;
  -moz-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;

  -webkit-transform-style: preserve-3d;
  -moz-transform-style: preserve-3d;
  transform-style: preserve-3d;
}
.video-modal .overlay {
  z-index: 0;
  background: rgba(0, 73, 96, 0.82); /* overlay color */

  opacity: 0.0;

  -webkit-transition: opacity 0.2s ease-out 0.05s;
  transition: opacity 0.2s ease-out 0.05s;
}


.video-modal-content {
	position: relative;
	top: auto;
	right: auto;
	bottom: auto;
	left: auto;
	z-index: 1;
  
	margin: 0 auto;

	overflow-y: visible;

	background: #000;
  
  width: calc(100% - 12em);
  height: 0;
  padding-top: calc((100% - 12em) * 0.5625); /* 16:9 calc */
}

/* Scaling to fit within the current Viewport size:
   When viewport aspect ratio is greater than 16:9
   work off the height instead of the width for calc */
 @media (min-aspect-ratio: 16/9) {
  .video-modal-content {
    width: 0;
    height: calc(100vh - 10em);
    padding-top: 0;
    padding-left: calc((100vh - 10em) * 1.7778); /* 16:9 calc */
  }
}

/* Mobile Layout Tweaks - side margins reduced */
@media (max-width: 640px) {
	.video-modal-content {
		width: calc(100% - 1em);
    padding-top: calc((100% - 1em) * 0.5625); /* 16:9 calc */
	}
}

/* modal close button */
.close-video-modal {
	display: block;
    position: absolute;
    left: 0;
    top: -40px;

    text-decoration: none;
    font-size: 20px;
    font-weight: bold;
    color: #fff;
}

/* set the iframe element to stretch to fit its parent element */
iframe#youtube {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 1;

	background: #000;
	box-shadow: 0px 2px 16px rgba(0,0,0,0.5);
}

/* show the modal: 
   add class to the body to reveal */
.show-video-modal .video-modal {
	opacity: 1.0;

	transform: translate(0%,0%);
	-webkit-transform: translate(0%,0%);
}
.show-video-modal .video-modal .overlay {
	opacity: 1.0;
}
.show-video-modal .video-modal-content {
	transform: translate(0%,0%);
	-webkit-transform: translate(0%,0%);
}