:root {
    /*overwrite this in theme.css*/
    --body-font: helvetica, sans-serif;
    --heading-font: helvetica, sans-serif;
    --transition-timing: .2s;
    --body-color: #000;
    --base-font-color: var(--body-color, var(--bs-body-color, #000));
    --color-light: #fff;
    --html-font-size: 12px;
    --font-11: .6875rem;
    --font-12: .75rem;
    --font-13: .8125rem;
    --font-14: .875rem;
    --font-15: .9375rem;
}

html {
    font-size: var(--html-font-size);
}
.ndm-utility {
    transition: all .2s ease;
}
a,
.nav-link {
    color: var(--color-link, var(--color-primary));
    transition: all var(--transition-timing) ease;
    text-decoration: none;
}
a:hover,
.nav-link:hover {
    color: var(--color-link-hover);
}
.ndm-navBg {
    background-color:var(--nav-bg-color, transparent);
}
.ndm-btn-no-style {
    display: flex !important;
    flex-direction: column;
    appearance: none;
    -webkit-appearance: none !important;
    text-transform: none !important;
    text-align: inherit !important;
    vertical-align: top !important;
    margin: 0 !important;
    padding: 0 !important;
    background: none !important;
    border:0 !important;
    border-radius: 0 !important;
    color:inherit;
    width: 100% !important;
    white-space: normal !important;
}
img {
    max-width:100%;
}

h1,.h1,
h2,.h2,
h3,.h3,
h4,.h4,
h5,.h5,
h6,.h6 {
    font-family: var(--heading-font);
    font-weight: 700;
    font-style: normal;
    margin-bottom:1.25em;
}

.heading-font {
    font-family: var(--heading-font) !important;
}
body,
.body-font {
    font-family: var(--body-font) !important;
}
.weight-normal {
    font-weight: normal !important;
}
.weight-bold {
    font-weight: bold !important;
}
.weight-100 {font-weight:100 !important}
.weight-200 {font-weight:200 !important}
.weight-300 {font-weight:300 !important}
.weight-400 {font-weight:400 !important}
.weight-500 {font-weight:500 !important}
.weight-600 {font-weight:600 !important}
.weight-700 {font-weight:700 !important}
.z0 {z-index: 0 !important}
.z1 {z-index: 1 !important}
.z2 {z-index: 2 !important}

.strike-thru {
    text-decoration: line-through;
}

.font-11 {font-size: var(--font-11);}
.font-12 {font-size: var(--font-12);}
.font-13 {font-size: var(--font-13);}
.font-14 {font-size: var(--font-14);}
.font-15 {font-size: var(--font-15);}

.text-transform-none {
    text-transform: none !important;
}

/***********************************
        PRELOADER
**********************************/


/**********************************
        MAIN NAV BAR
***********************************/
.ndm-logo-wrap {
    width: 100%;
    height: 0;
    padding-top:40%;
    position: relative;
}
.ndm-logo-wrap > img,
.ndm-logo-wrap > svg {
    position: absolute;
    left:50%;
    top:50%;
    transform: translateX(-50%) translateY(-50%);
    width:100%;
    height:100%;
    object-fit: contain;
}

/*********************************
        HERO / JUMBOTRON
**********************************/
.jumbotron {
    position: relative;
    padding:10rem 0;
}
.jumbotron > img,
.jumbotron > video {
    position: absolute;
    left:0;
    top:0;
    width: 100% !important;
    height:100% !important;
    object-fit: cover;
}
.ndm-full-image-sect {
    overflow:hidden;
}


/*********************************
        BG Classes
**********************************/
.bg-cover {
    background-size: cover;
}
.bg-fixed {
    background-attachment: fixed;
}
.bg-center {
    background-position: center;
}
.bg-dark,
.bg-dark a:not(.dropdown-item, .nav-link, .btn) {
    color:var(--color-light);
    --base-font-color: var(--color-light);
}
.bg-light,
.color-dark,
.color-body {
    color:var(--body-color);
}
.bg-light a:not(.dropdown-item, .nav-link, .btn),
.color-dark a:not(.dropdown-item, .nav-link, .btn) {
    color:var(--color-link) !important;
}

.bg-dark a:not(.dropdown-item, .nav-link, .btn) {
    color: #fff;
}
.bg-dark h2,
.bg-dark .h2,
.bg-dark h3,
.bg-dark .h3,
.bg-dark h4,
.bg-dark .h4,
.bg-dark h5,
.bg-dark .h5,
.bg-dark h6,
.bg-dark .h6 {
    color:var(--color-light);
}
.bg-dark .color-dark h2,
.bg-dark .color-dark .h2,
.bg-dark .color-dark h3,
.bg-dark .color-dark .h3,
.bg-dark .color-dark h4,
.bg-dark .color-dark .h4,
.bg-dark .color-dark h5,
.bg-dark .color-dark .h5,
.bg-dark .color-dark h6,
.bg-dark .color-dark .h6 {
    color:var(--body-color);
}
.bg-blur {
    backdrop-filter: blur(30px);
    -webkit-backdrop-filter: blur(30px);
}
.bg-black {background-color: rgba(0,0,0,1);}
.bg-black-90 {background-color: rgba(0,0,0,.9) !important;;}
.bg-black-80 {background-color: rgba(0,0,0,.8) !important;;}
.bg-black-70 {background-color: rgba(0,0,0,.7) !important;;}
.bg-black-60 {background-color: rgba(0,0,0,.6) !important;;}
.bg-black-50 {background-color: rgba(0,0,0,.5) !important;;}
.bg-black-40 {background-color: rgba(0,0,0,.4) !important;;}
.bg-black-30 {background-color: rgba(0,0,0,.3) !important;;}
.bg-black-20 {background-color: rgba(0,0,0,.2) !important;;}
.bg-black-10 {background-color: rgba(0,0,0,.1) !important;}

.bg-white {background-color: rgba(255,255,255,1) !important;;}
.bg-white-90 {background-color: rgba(255,255,255,.9) !important;;}
.bg-white-80 {background-color: rgba(255,255,255,.8) !important;;}
.bg-white-70 {background-color: rgba(255,255,255,.7) !important;;}
.bg-white-60 {background-color: rgba(255,255,255,.6) !important;;}
.bg-white-50 {background-color: rgba(255,255,255,.5) !important;;}
.bg-white-40 {background-color: rgba(255,255,255,.4) !important;;}
.bg-white-30 {background-color: rgba(255,255,255,.3) !important;;}
.bg-white-20 {background-color: rgba(255,255,255,.2) !important;;}
.bg-white-10 {background-color: rgba(255,255,255,.1) !important;;}

.bg-primary {background-color: var(--color-primary) !important;}
.bg-secondary {background-color: var(--color-secondary) !important;}
.bg-tertiary {background-color: var(--color-tertiary) !important;}
.bg-gradient {background: linear-gradient(286.91deg, var(--color-primary) 23.31%, var(--color-secondary) 100%) !important;}
.bg-gradient-rev {background: linear-gradient(286.91deg, var(--color-secondary) 23.31%, var(--color-primary) 100%) !important;}
.bg-gradient-grayscale {background: linear-gradient(286.91deg, #000000 23.31%, #ffffff 100%) !important;}


.bg-gray {

}
.bg-l-gray {
    background-color: var(--bs-gray-300);
}

.color-black-100 {color: rgb(0,0,0);}
.color-black-90 {color: #414042;}

.color-black-80 {color: #58595b;}
.color-black-70 {color: #6d6e71;}
.color-black-60 {color: #808285;}
.color-black-50 {color: #939598;}
.color-black-40 {color: #a7a9ac;}
.color-black-30 {color: #bcbec0;}
.color-black-20 {color: #d1d3d4;}
.color-black-10 {color: #e6e7e8;}

.src-bg {
    position: relative;
}
.src-bg img,
.ndm-bg-video,
.object-fit {
    position: absolute;
    top:0;
    left:0;
    width:100% !important;
    height:100% !important;
    object-fit: cover;
}
.min-vh-ratio {
    min-height: 33vw;
}
[class*='ndm-overlay'] {
    position: relative;
}
[class*='ndm-overlay']:before {
    content:'';
    display: block;
    position: absolute;
    left:0;
    top:0;
    width:100%;
    height:100%;
    background: #000;
    opacity:.5;
    z-index:1;
}
[class*='ndm-overlay'] > *:not(img, video) {
    z-index: 1;
}
.ndm-overlay-dark::before {
    background-color: #272727;
}
.ndm-overlay-light::before {
    background-color: #fff;
}
.ndm-overlay-primary::before {
    background-color: var(--color-primary, #000);
}
.ndm-overlay-secondary::before {
    background-color: var(--color-secondary, #000);
}
.ndm-overlay-tertiary::before {
    background-color: var(--color-tertiary, #000);
}

.ndm-overlay-opac-1::before {opacity:.1;}
.ndm-overlay-opac-2::before {opacity:.2;}
.ndm-overlay-opac-3::before {opacity:.3;}
.ndm-overlay-opac-4::before {opacity:.4;}
.ndm-overlay-opac-5::before {opacity:.5;}
.ndm-overlay-opac-6::before {opacity:.6;}
.ndm-overlay-opac-7::before {opacity:.7;}
.ndm-overlay-opac-8::before {opacity:.8;}
.ndm-overlay-opac-9::before {opacity:.9;}

/* Base Colors */
.text-primary,
.color-primary {
    color: var(--color-primary, var(--bs-primary)) !important;
}
.text-secondary,
.color-secondary {
    color: var(--color-secondary, var(--bs-secondary)) !important;
}
.text-tertiary,
.color-tertiary {
    color: var(--color-tertiary) !important;
}
input.text-white::placeholder {
    color:#fff;
}


/*************************************
Scroll More indicator (sometimes used in tall hero areas)
*************************************/
/*scroll arrow*/
.arrow, .arrow:before {
    position: absolute;
    left: 50%;
    top:0;
    display: block;
}

.arrow {
    width: 30px;
    height: 30px;
    margin: -15px 0 0 -15px;
    -webkit-transform: rotate(
            45deg);
    border-left: none;
    border-top: none;
    border-right: 2px var(--color-secondary) solid;
    border-bottom: 2px var(--color-secondary) solid;
    bottom: 2em;
    z-index: 2;
}

.arrow:before {
    content: "";
    width: 15px;
    height: 15px;
    top: 50%;
    margin: -8px 0 0 -8px;
    border-left: none;
    border-top: none;
    border-right: 1px var(--color-secondary) solid;
    border-bottom: 1px var(--color-secondary) solid;
    animation-duration: 2s;
    animation-iteration-count: infinite;
    animation-name: arrow;
}

@keyframes arrow {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
        transform: translate(-10px, -10px);
    }
}




/*****************************************
                Video
****************************************/
.ndm-video-link {
    position: relative;
    overflow: hidden;
    display: block !important;
}
.ndm-video-link::before {
    content:'';
    display: block;
    width:100%;
    height:100%;
    position: absolute;
    top:0;
    left:0;
    background:#000;
    opacity:0;
    transition: all var(--transition-timing) ease;
    z-index:1;
}
.ndm-video-link img {
    z-index:0;
    transition: all 1s ease !important;
}
.ndm-video-link:hover img {
    transform: scale(1.1);
}
.ndm-video-link::after {
    content:"\e1c4";
    font-family: 'Material Icons';
    /*font-weight: 900;*/
    color:#fff;
    /*opacity:.75;*/
    font-size: 4rem;
    position: absolute;
    left:50%;
    top:50%;
    transform: translateX(-50%) translateY(-50%);
    transition: all var(--transition-timing) ease;
    z-index:1;
}
.ndm-video-link:hover::before {
    opacity: .25;
}
.ndm-video-link:hover::after {
    /*opacity:.90;*/
}
.videoWrapper {
    display: block;
    position: relative;
    padding-bottom: 56.25%; /* 16:9 */
    height: 0;
}
.videoWrapper iframe,
.videoWrapper > img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.videoWrapper > img {
    object-fit: cover;
}

/***************************************
        Accordion
***************************************/
[class*='ndm-accordion'].ndm-accordion-transparent .accordion-button:not(.collapsed) {
    color: var(--color-black, #000);
    background-color:transparent;
}
[class*='ndm-accordion']:not(.ndm-accordion-transparent) .accordion-button:not(.collapsed) {
    background-color: var(--color-primary);
    color:#fff;
}
.ndm-accordion-secondary .accordion-button:not(.collapsed) {
    background-color: var(--color-secondary) !important;
    color:#fff;
}
.ndm-accordion-tertiary .accordion-button:not(.collapsed) {
    background-color: var(--color-tertiary) !important;
    color:#fff;
}
[class*='ndm-accordion'] .accordion-button {
    font-weight: bold;
}
[class*='ndm-accordion'] .accordion-button::after {
    content:'\f107';
    width:auto;
    height:auto;
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    transform-origin: center center;
    background: none !important;
}
[class*='ndm-accordion'] .accordion-body {
    padding-top:2rem;
    padding-bottom:2rem;
}
[class*='ndm-accordion'].plus-minus .accordion-button::after {
    content:'\e145';
    font-family: 'Material Symbols Outlined' !important;

}
[class*='ndm-accordion'].plus-minus .accordion-button:not(.collapsed)::after {
    transform: none;
    content:'\e15b';
}

/****************************************
            Owl Carousel
*****************************************/
.ndm-generic-carousel .owl-stage {
    display: flex;
}
.ndm-generic-carousel {
    position: relative;
}
.ndm-generic-carousel .owl-nav {
    font-size:3rem;
}
.ndm-generic-carousel .owl-nav .owl-prev,
.ndm-generic-carousel .owl-nav .owl-next {
    position: absolute;
    top: 50%;
}
.ndm-generic-carousel .owl-nav .owl-prev {
    left:0;
    transform: translateX(calc((100% + .25em) * -1)) translateY(-50%);
}
.ndm-generic-carousel .owl-nav .owl-next {
    right:0;
    transform: translateX(calc(100% + .25em)) translateY(-50%);
}

/****************************************
        Bios / Modal / Offcanvas
*****************************************/
.offcanvas.offcanvas-end,
.offcanvas.offcanvas-start,
.ndm-modal-content {
    border-top:20px solid var(--color-secondary) !important;
}
#bioCanvas .offcanvas-header,
#bioCanvas .offcanvas-body {
    padding: 2rem;
}
#bioCanvas,
.ndm-large-canvas {
    width:500px;
}
.speakerLink {
    -webkit-appearance: none;
    border:0 !important;
    display: block;
    background:transparent !important;
    width:100%;
}


/***************************************
        Special Helpers
***************************************/
[class*='hover-scale'] {
    transition: all var(--transition-timing) ease;
}
.hover-scale-1:hover,
a:hover .hover-scale-1 {
    transform: scale(1.125);
}
.hover-scale-2:hover,
a:hover .hover-scale-2 {
    transform: scale(1.25);
}
.hover-scale-3:hover,
a:hover .hover-scale-3 {
    transform: scale(1.5);
}
.square,
.circle {
    position: relative;
    padding-bottom: 100%; /* 1:1 */
    height: 0;
    overflow:hidden;
}
.portrait {
    position: relative;
    padding-bottom: 115%;
    height: 0;
    overflow:hidden;
}
.landscape {
    position: relative;
    padding-bottom: 56%;
    height: 0;
    overflow:hidden;
}

.square > *,
.circle > *,
.portrait > *,
.landscape > * {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;

}
.circle {
    border-radius: 50%;
}
.square > img,
.circle > img,
.portrait > img,
.landscape > img {
    object-fit: cover;
}
.portrait > img {
    object-position: center top;
}
.object-top {
    object-position: center top !important;
}
.object-bottom {
    object-position: center bottom !important;
}
.object-left {
    object-position: left center !important;
}
.object-right {
    object-position: right center !important;
}
.object-contain {
    object-fit: contain !important;
}


/* pager */
/*pager*/
.visually-hidden {
    position: absolute !important;
    height: 1px;
    width: 1px;
    overflow: hidden;
    clip: rect(1px,1px,1px,1px);
}
.pager {
    clear: both;
    padding: 0;
    text-align: center
}

.view-footer div.results-summary {
}

@media print {
    .pager {
        display: none
    }
}

.pager__item,.pager__current-item,.pager .is-active,.pager-current,.pager-item,.pager-first,.pager-previous,.pager-next,.pager-last,.pager-ellipsis {
    display: inline-block;
    padding: 5px 8px;
    list-style-type: none;
    background-image: none
}

.pager__current-item,.pager .is-active,.pager-current {
}

.pager__item a {
    line-height: 2rem;
    display: block;
}

.pager__current-item a,.pager .is-active a,.pager-current a {
    color: #fff !important;
    background: var(--color-primary, #000) !important;
    padding-left: .75em;
    padding-right: .75em;
}

.pager__items {
    float: left;
    width: 100%;
    padding: 0 !important;
}

/************************************
            BREAKPOINTS
**********************************/

/*sm*/
@media screen and (min-width:576px) {
    .bg-cover-sm {
        background-size: cover;
    }
    .bg-fixed-sm {
        background-attachment: fixed;
    }
    .bg-center-sm {
        background-position: center;
    }
}
/*md*/
@media screen and (min-width:768px) {
    html {
        /*font-size:14px;*/
        --html-font-size: 14px !important;
    }
    .bg-cover-md {
        background-size: cover;
    }
    .bg-fixed-md {
        background-attachment: fixed;
    }
    .bg-center-md {
        background-position: center;
    }
}
/*lg*/
@media screen and (min-width:992px) {
    .bg-cover-lg {
        background-size: cover;
    }
    .bg-fixed-lg {
        background-attachment: fixed;
    }
    .bg-center-lg {
        background-position: center;
    }
}
/*xl*/
@media screen and (min-width:1200px) {
    html {
        /*font-size:16px;*/
        --html-font-size: 16px !important;
    }
    .bg-cover-xl {
        background-size: cover;
    }
    .bg-fixed-xl {
        background-attachment: fixed;
    }
    .bg-center-xl {
        background-position: center;
    }

    #bioCanvas,
    .ndm-large-canvas {
        width:600px;
    }
    #bioCanvas .offcanvas-header,
    .ndm-large-canvas .offcanvas-header {
        padding: 3rem 4rem;
    }
    #bioCanvas .offcanvas-body,
    .ndm-large-canvas .offcanvas-body {
        padding: 1rem 4rem;
    }
}
/*xxl*/
@media screen and (min-width:1400px) {
    .bg-cover-xxl {
        background-size: cover;
    }
    .bg-fixed-xxl {
        background-attachment: fixed;
    }
    .bg-center-xxl {
        background-position: center;
    }

    #bioCanvas,
    .ndm-large-canvas {
        width:800px;
    }
    #bioCanvas .offcanvas-header,
    .ndm-large-canvas .offcanvas-header {
        padding: 5rem 5rem 3rem 5rem;
    }
    #bioCanvas .offcanvas-body,
    .ndm-large-canvas .offcanvas-body {
        padding: 1rem 5rem;
    }
}


/*color picker*/
.ndm-color-adjust {
    position: fixed;
    top:50%;
    right:0;
    transform: translateY(-50%);
    z-index:1044;
}
.ndm-color-adjust a[href='#colorOffcanvas'] {
    border-bottom-right-radius: 0;
    border-top-right-radius: 0;
    padding-right: 1rem;
}

.ndm-branding-logo {
    max-width: 250px;
    min-width:175px;
    /*width:240px;
    height:0;
    padding-bottom:65%;*/
    position: relative;
}
.ndm-branding-logo > img {
    display: block;
    max-height:100%;
    max-width:100%;
    /*position: absolute;
    left:0;
    top:0;
    max-width:100%;
    height:100%;
    !*transform: translateY(-50%);*!
    object-fit: contain;*/
}
.ndm-placeholder-logo-square {
    fill:none !important;
}
.ndm-placeholder-logo {
    fill:var(--color-primary);
}
.navbar-dark .ndm-placeholder-logo {
    fill:#fff;
}