/*Global Layout Styles*/
:root {
    --page-max-width: 1600px;
}
html {
    box-sizing: border-box;
}
*, *:before, *:after {
    box-sizing: border-box;
}
/*Body*/
body {
    background: linear-gradient(180deg, rgba(8, 88, 143, 1) 0px, rgba(18, 101, 158, 1) 500px, rgba(18, 101, 158, 1) 100%);
    top: 0px !important;
    margin: 0px;
    /* font-size: 0px;
    line-height: 0px; */
    font-family: "proxima-nova", sans-serif;
    --header-top-height: 100px;
    --header-nav-height: 39px;
    --header-total-height: calc(var(--header-top-height) + var(--header-nav-height));
    --media-before-cont: 20.625vw;
    --media-after-content: 500px;
    --media-height: calc(var(--media-before-cont) + var(--media-after-content));

    --theme-orange: rgb(255, 144, 50);

    display: grid;
    grid:
        [img-start] "header" var(--header-total-height)
        "media-spacing" var(--media-before-cont)
        [content-start] "content" minmax(var(--media-after-content), 1fr)
        "footer" min-content
        / 1fr;
    
        /* grid-template-rows: var(--media-before-cont) [content-start] minmax(var(--media-after-content), 1fr); */
}
@media screen and (max-width:1600px) {
    body {
        --media-before-cont: 330px;
    }
}
img {
    max-width: 100%;
}
header {
    grid-area: header;
}
footer {
    grid-area: footer;
}
body .pageBleed{
    position:absolute;
    top:0px;
    width:100%;
    height:100%;
    background: linear-gradient(180deg, rgba(8,88,143,1) 0px,  rgba(18,101,158,1) 500px, rgba(18,101,158,1) 100%);
    z-index: -1;
}
body .blankPageBleed {
    position:absolute;
    top:0px;
    width:100%;
    height:100%;
}
/*F5 Monitor*/
.F5Monitor {
    line-height:1em;
    font-size:15px;
}
/*ADA Menu*/
.ADAmenu {
    position: absolute;
    left: 5px;
    border: 2px solid rgb(60, 60, 60);
    padding: 10px;
    background-color: #FAFAFA;
    border-radius: 5px;
    z-index: 99999;
    box-shadow: 5px 5px 20px rgba(0,0,0,0.3);
    overflow: hidden;
    max-width: calc(100% - 40px);
    top: -250px;
    transition: top 1s;
    line-height: 16px;
}
.ADAmenu.focused{
    top: 5px;
}
.ADAmenu a{
    display: block;
    font-size: 16px;
    padding: 5px;
    color: black;
    text-decoration: none;
    white-space:nowrap;
}
.ADAmenu a:focus, .ADAmenu a:hover{
    background-color:#DEDEDE;
}
.adaHidden, .skipToLink, .hideADAmenu, .ada-hidden {
    position: absolute !important;
    height: 0px !important;
    width: 0px !important;
    overflow: hidden !important;
    line-height: 0px !important;
    padding: 0px !important;
    margin: 0px !important;
}


.kenticoSearchPopup {
    display: none;
}

.page :is(a:active, a:visited), .page a {
    color: #30567d;
    text-decoration: underline;
}


.page {
    display: grid;
    grid: "subNav content" 1fr
        / min-content [c1] 1fr;
    max-width: var(--page-max-width);
    margin-left: auto;
    margin-right: auto;
    /*box-shadow: 0 40px 80px rgba(0, 0, 0, .5);*/
    box-shadow: 0 20px 80px rgba(0, 0, 0, .25);
    width: 100%;
    z-index: 0;

    grid-row-start: content-start;
    background: linear-gradient(180deg, rgba(255, 255, 255, .9) 0%, rgba(255, 255, 255) 650px, rgba(255, 255, 255, 1) 100%);
}
.page__content-wrapper {
    padding: 50px;
    grid-area: content;
    grid-column-start: c1;
}
@media screen and (max-width: 1280px) {
    .page__content-wrapper {
        padding: 15px;
    }
    .page {
        display: grid;
        grid: "subNav ." 3em
              "subNav content" 1fr
              / [c1] 1fr [c2] minmax(0, 1fr);
    }
}
.page__inline-wrapper {
    display:inline-block;
    width:100%;
}
.page__top-media {
    grid-row-start: img-start;
    /* height: var(--media-height); */
    overflow: hidden;
    position: relative;
    grid-column: 1;
    height: min-content;
    z-index: -1;
}
.page__top-media :is(img, video) {
    mask-image: linear-gradient(to top, rgba(255, 255, 255, 0) 0px, rgba(255, 255, 255, 0.2) 50px, rgba(255, 255, 255, 1) 150px);
    /* linear-gradient(to top, rgba(255, 255, 255, 0) 200px, rgba(255, 255, 255, 0.2) 400px, rgba(255, 255, 255, 1) 600px); */
    /* linear-gradient(to top, rgba(255, 255, 255, 0) 40%, rgba(255, 255, 255, 1) 80%); */
    /* linear-gradient(to top, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 40%); */
    width: 100%;
    z-index: -1;
    position: relative;
    max-height:calc(100vh - 138px);
    min-height: 30vw;
    margin-top:138px;
    object-fit: cover; 
    object-position: top center;
}
@media screen and (max-width: 1400px) {
    .page__top-media {
        display: flex;
        justify-content: center;
    }
    .page__top-media :is(img, video) {
        height: var(--media-height);
    }
}
@media screen and (max-width:700px) {
    .page__top-media :is(img, video) {
        max-height: calc(100vh - 189px);
        margin-top: 189px;
    }
}

@media screen and (max-width:430px) {
    .page__top-media :is(img, video) {
        max-height: calc(100vh - 240px);
        margin-top: 240px;
    }
}
@media screen and (max-height:640px) and (max-width: 1400px) {
    .page__top-media :is(img, video) {
        max-height: 331px;
        mask-image: none;
    }
}

.bg-vid__button {
    position: absolute;
    right: max(15px, calc(50% - var(--page-max-width) / 2 + 15px));
    top: var(--header-total-height);

    background-color: rgba(0,0,0,0.5);
    color: white;
    border: 0;
    padding: 10px;
    border-radius: 0 0 10px 10px;
    font-size: 15px;
    cursor: pointer;

    display: flex;
    align-items: center;
}
.bg-vid__button-icon {
    border-style: double;
    border-width: 0px 0 0px 10px;
    height: 15px;
    padding-right: 5px;
}
.bg-vid__button-icon.bg-vid--paused {
    border-style: solid;
    /* Make it a triangle pointing right */
    border-top: 0.5em solid transparent;
    border-bottom: 0.5em solid transparent;
    border-left: 1em solid white;
    height: 0;
    width: 0;
}

.two-col-def {
    display: grid;
    gap: 20px;
    grid-template-columns: 1fr 1fr;
}

:is(.two-col-def, .one-col-def) h3 a {
    text-decoration: none;
}
/* .two-col-def__child {
    flex-grow: 1;
} */

@media screen and (max-width: 600px) {
    .two-col-def {
        grid-template-columns: 1fr;
    }
}

.icon {
    width: 20px;
    height: 20px;
    display: inline-block;
    background-size: cover;
    background-repeat: no-repeat;
    vertical-align: middle;
    background-position: center;
}
.icon--address {
    background-image: url('/Content/Images/gps.png');
}
.icon--address {
    margin-bottom: -3px;
}
.icon--on-left {
    margin-right: 0;
}

.u-yt-overlay::after {
    content: '';
    background-image: url('/Content/Images/youtube-filled-svgrepo-com.svg');
    position: absolute;
    top: calc(50% - 2em);
    left: calc(50% - 3em);
    width: 6em;
    height: 4em;
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
}
