/* GENERAL */
/* ---------------------------------------------------------------------- */

html {scroll-behavior: smooth; scroll-padding-top: 5rem;}
/* :target:before {content: ''; display: block; height: 5rem; margin-top: -5rem;} */

body {word-break: break-word; color: var(--bs-body-color);}

a:hover {text-decoration: none !important;}
a:not(.hover-no-opacity):not(.btn):not(.site-logo a):not(.header-navbar a):not(.at-share-btn):not(.gallery-link-image):not(.fc a):hover {opacity: .75;}
/* .btn:not(.btn-light):not(.btn-outline-primary):not(.btn-outline-secondary):not(.btn-outline-dark):hover, .fc .fc-button:hover {opacity: .8;} */
.btn:not(.btn-light):not(.btn-outline-primary):not(.btn-outline-secondary):not(.hover-no-opacity):hover, .fc .fc-button:hover {opacity: .8;}

h2 {margin-bottom: 1rem; font-weight: bold; color: var(--bs-brown);}
h3 {margin-bottom: 1rem;}
h4 {margin-bottom: 1rem; font-weight: bold;}
h5 {margin-bottom: 1rem;}

img {max-width: 100%; max-height: 100%;}

/* iframe {width: 100%; border: 0; background-image: url('/assets/loading-ellipsis.gif'); background-position: center; background-repeat: no-repeat; background-size: 3rem;} */
iframe {width: 100%; border: 0;}
iframe[src^='https://www.youtube.com'], iframe[src^='https://player.vimeo.com'] {aspect-ratio: 16 / 9; height: auto;}

.ratio-facebook {aspect-ratio: 40 / 21;}

iframe, .site-header-nav.showing, .site-header-nav ul a:hover, .site-header-nav ul li.active a, .pika-single, .pika-button, .a2a_floating_style, .a2a_kit a,
.rounded, .accordion-item, .accordion-button, .img-thumbnail, .nav-link, .navbar-toggler, .card, .card-header, .modal-content, .badge, .alert, .progress, .list-group, .toast, .tooltip-inner, .dropdown-menu, .dropdown-item,
.btn:not(.rounded-icon), .form-control, .form-select, .input-group-text, .valid-tooltip, .invalid-tooltip
{border-radius: 0 !important;}

.form-control-color::-moz-color-swatch, .form-control-color::-webkit-color-swatch {border-radius: 0 !important;}


/* UTILITIES */
/* ---------------------------------------------------------------------- */

.cursor-default {cursor: default;}
.cursor-pointer {cursor: pointer;}

.fs-7 {font-size: .825rem !important;}
.fs-8 {font-size: .75rem !important;}
.fs-9 {font-size: .625rem !important;}

.lh-0 {line-height: 0 !important;}

.text-decoration-none a {text-decoration: none;}
.text-currentcolor {color: currentColor;}

/* .btn:not(.collapsed) .open-label {display: none;} */
/* .btn.collapsed .close-label {display: none;} */

.bg-cover {background-position: center; background-size: cover;}
.bg-none {background: none !important;}

.img-hover-rotate {transition: all .3s ease-in-out;}
.img-hover-rotate:hover {transform: scale(1.2) rotate(3deg);}

.caption {border: 1px solid var(--bs-border-color); padding: .25rem .5rem; font-size: .9rem; text-align: center;}

.focus-shadow-none:focus {box-shadow: none;}

.rounded-icon {display: inline-flex; align-items: center; justify-content: center; width: 2rem; height: 2rem; font-size: 1rem; border-radius: 100%; text-decoration: none;}
.rounded-icon-sm {display: inline-flex; align-items: center; justify-content: center; width: 1.5rem; height: 1.5rem; font-size: .75rem; border-radius: 100%; text-decoration: none;}

.first-child-clean > :first-child {margin-top: 0 !important;}
.umb-block-grid__layout-item > p > img:only-child {width: 100% !important;}
.richtext-basic * {margin: 0;}
.richtext > :last-child, .umbraco-forms-field.richtext > div > div > :last-child {margin-bottom: 0;}
.first-child-mt-0 :first-child {margin-top: 0 !important;}


/* MASTER ELEMENTS */
/* ---------------------------------------------------------------------- */

.skippy {position: fixed !important; z-index: 9999;}

/* Header */

.site-header a {text-decoration: none;}
.site-logo img {max-height: 3.5rem;}

.header-tool {padding-left: .75rem; margin-left: .75rem; border-left: 1px solid var(--bs-border-color);}
.header-tool:first-child {padding-left: 0; margin-left: 0; border-left: 0;}

@media (min-width: 576px) {
    .site-logo .site-name {font-size: 1.5rem;}
}

@media (min-width: 768px) {
    .site-logo img {max-height: 5rem;}
}

@media (min-width: 992px) {
    .header-tool {padding-left: 1rem; margin-left: 1rem;}
}

@media (min-width: 576px) {
    .header-src {position: static !important; border: 0; padding: 0; inset: inherit !important; transform: none !important;}
}

/* Primary navigation */

.header-navbar {position: fixed; width: 100%; bottom: 0; top: auto; right: 0; z-index: 10; border-top: 1px solid rgba(255, 255, 255, .25);}
.btn-nav-primary {position: relative; z-index: 1;}
.btn-nav-primary:not(.collapsed)::after {content: ''; display: block; position: fixed; inset: 0; cursor: default;}
.nav-primary {position: absolute; z-index: 1; bottom: 100%; left: 0; width: 100%; background: #FFF; border: 1px solid rgba(0, 0, 0, .15);}
.nav-primary a {max-width: 85%;}
.nav-primary > ul {max-height: 70vh; overflow-y: auto;}
.nav-primary .nav-primary-lv1 > li {position: relative;}
.nav-primary .btn-drop-lv2 {position: absolute; top: .5rem; right: 1rem;}
.nav-primary .btn-drop-lv2::after {content: none;}
.nav-primary .dropdown-menu {min-width: 15rem; inset: inherit !important; transform: none; left: 0;}
.nav-primary .dropdown-menu ul li::before {font-family: 'Font Awesome 6 Pro'; content: '\f105'; font-size: .75rem; font-weight: 900; margin-right: .5rem; opacity: .3;}
.nav-primary .btn-drop-lv3 {position: absolute; top: .15rem; right: 1rem;}
.nav-primary .btn-drop-lv3::after {content: none;}
.nav-primary-lv3 a:hover {color: var(--bs-secondary) !important;}
.nav-primary .megamenu .dropdown-item:hover {border-top-right-radius: .25rem; border-bottom-right-radius: .25rem;}

@media (min-width: 576px) {
    .nav-primary {width: 50%;}
}

@media (min-width: 768px) {
    .header-navbar {position: -webkit-sticky; position: sticky; top: 0;}
    .nav-primary {bottom: auto; top: 100%; left: auto;}
}

@media (min-width: 992px) {

    .header-navbar {border-top: 0;}

    .nav-primary {position: static; background: none; width: auto; border: 0;}
    .nav-primary > ul {max-height: none; overflow-y: visible;}
    .nav-primary a {max-width: none; width: 100%;}
    .nav-primary > ul > li > a, .nav-primary > ul > li > a:hover {color: var(--bs-secondary) !important; border-radius: 0;}
    .nav-primary a.current::before {content: ''; display: block; position: absolute; bottom: 0; left: 0; width: 100%; height: 3px; background: #FFF;}
    .nav-primary .dropdown-hover .btn:active {color: #FFF !important;}
    .nav-primary .dropdown-hover .btn::after {font-family: 'Font Awesome 6 Pro'; content: '\f0d7'; font-size: .75rem; font-weight: 900; margin-left: .5rem;}
    .nav-primary .dropdown-menu {display: none !important;}
    .nav-primary .dropdown-hover:hover .dropdown-menu, .nav-primary .dropdown-hover:focus-within .dropdown-menu {display: block !important;}
    .nav-primary .dropdown-menu ul {display: block !important;}

    .nav-primary .megamenu > li {position: static;}
    .nav-primary .megamenu .dropdown-hover:hover .dropdown-menu {top: 100% !important; transition-delay: .25s;}
    .nav-primary .megamenu .dropdown-hover:focus-within .dropdown-menu {top: 100% !important;}
    .nav-primary .megamenu .dropdown-hover:hover .dropdown-menu, .nav-primary .megamenu .dropdown-hover:focus-within .dropdown-menu {display: flex !important;}
    .nav-primary .megamenu .dropdown-menu {top: -99999px !important; display: inline-flex !important; transition: top 0s;}
    .nav-primary .megamenu .dropdown-item:hover {border-radius: .25rem;}
    .nav-primary .megamenu .megamenu-intro {border: 0; width: 25%; padding: .25rem 1.5rem 0 0;}
    .nav-primary .megamenu .megamenu-columns {column-count: 4; column-gap: 1rem; orphans: 1; widows: 1;}
    .nav-primary .megamenu .megamenu-columns > div {display: inline-block; width: 100%; padding: .25rem 0; border-bottom: 1px solid rgba(0, 0, 0, .05);}
    .nav-primary .megamenu > li:hover > a, .nav-primary .nav-primary-lv1 > li:focus > a {background: #FFF; color: var(--bs-body-color) !important; opacity: 1 !important;}
    .nav-primary .megamenu > li > a:active {color: #FFF !important;}
    .nav-primary .megamenu .nav-primary-lv2 {width: 95vw; max-width: 2000px; left: 50% !important; transform: translateX(-50%); /*top: calc(100% - 1px) !important;*/ padding: 1.5rem 1.5rem 2rem; border-top: 0;}

}

@media (min-width: 1200px) {
    .nav-primary .megamenu .megamenu-columns {width: 75%;}
}

@media (max-width: 991.98px) {
    .nav-primary ul .dropdown-menu {position: static !important; transform: none !important;}
}

/* Secondary navigation */

.quick-link-list {max-width: 40rem;}
.quick-link-list [class^='col-'] {min-width: 15rem;}

.nav-secondary .dropdown-toggle::after {content: none;}
.nav-secondary .nav-link-label {font-size: .45rem;}

@media (min-width: 576px) {
    .nav-secondary .dropdown-toggle {padding-right: 2rem;}
    /* .nav-secondary .dropdown-toggle > span::after {font-family: 'Font Awesome 6 Pro'; content: '\f0d7'; font-size: .75rem; font-weight: 900; margin-left: .5rem;} */
    .nav-secondary .nav-link-label {font-size: .75rem;}
}

/* Sidebar */

.site-sidebar {top: 4rem;}

.nav-sidebar .btn-drop-lv2 {position: absolute; top: .5rem; right: .5rem;}
.nav-sidebar .btn-drop-lv3 {position: absolute; top: .3rem; right: .5rem;}
.nav-sidebar a > span {max-width: 85%; display: block;}

.sidebar-widget {margin-bottom: 2rem;}
.sidebar-widget:last-child {margin-bottom: 0 !important;}

/* Footer */

.quicklinks-bar .ql-icon span {font-size: 2rem;}
.btn-qlbar-toggle {position: absolute; top: .5rem; right: .5rem;}
.btn-qlbar-toggle::after {font-family: 'Font Awesome 6 Pro'; content: '\f00d'; font-weight: bold; color: #FFF; opacity: .7;}
.btn-qlbar-toggle:active::after {color: #FFF !important;}
.btn-qlbar-toggle.collapsed {position: fixed; bottom: 5rem; top: auto; right: 0; border-top-right-radius: 0; border-bottom-right-radius: 0; background: var(--bs-dark) !important;}
.btn-qlbar-toggle.collapsed::after {font-family: inherit; content: 'Quick Links'; opacity: 1;}
.btn-qlbar-toggle:not(.collapsed)::after {color: #000; opacity: .7;}

.col-footer:not(:first-child) {padding-top: 1rem; border-top: 1px solid rgba(0, 0, 0, .25); margin-top: 1rem;}
.site-copyright {font-size: .7rem;}

@media (min-width: 768px) {
    .col-footer:not(:first-child) {padding-top: 0; border-top: 0; margin-top: 0;}
    .col-footer:not(:first-child)::before {content: ''; display: block; position: absolute; top: 0; left: 0; height: 100%; border-left: 1px solid rgba(0, 0, 0, .125);}
    .site-copyright {font-size: .825rem;}
}

@media (max-width: 767.98px) {
    .site-copyright {padding-bottom: 4.5rem !important;}
}

@media (min-width: 992px) {
    .list-footer {column-count: 2; column-gap: 1rem;}
    .site-copyright {padding-bottom: 1rem;}
}


/* HOME PAGE */
/* ---------------------------------------------------------------------- */

/* home / Hero section */

.hero-bg-slider {height: 100vh; position: fixed; top: 0; left: 0; width: 100%; z-index: -1;}
.hero-content {padding-top: 15rem; min-height: 20rem; z-index: 2;}
.home-hero-dark .hero-welcome {background: rgba(0, 0, 0, .7);}
.home-hero-light .hero-welcome {background: rgba(255, 255, 255, .8);}

@media (min-width: 992px) {
    .home-hero-dark .home-hero-overlay {position: absolute; z-index: 2; top: 0; left: 0; background: rgba(0, 0, 0, .7);}
    .home-hero-light .home-hero-overlay {position: absolute; z-index: 2; top: 0; left: 0; background: rgba(255, 255, 255, .8);}
    .hero-content {min-height: 30rem;}
    .hero-welcome {background: none !important;}
}

/* home / Quick Links */

.hero-qlinks .ql-icon span {font-size: 2rem;}

.qlinks-alt > div {width: 100%;}
.qlinks-alt .quicklink {display: flex !important; margin-top: .5rem; margin-bottom: .5rem;}
.qlinks-alt .ql-icon {font-size: 2rem; position: relative; top: -.25rem;}

@media (min-width: 992px) {
    .hero-qlinks .ql-icon span {font-size: 3rem;}
}


/* INTERIOR PAGES */
/* ---------------------------------------------------------------------- */

.content-section {padding: 3rem 0;}
.page-heading {height: 20rem; background-position: center; background-size: cover;}
.page-heading-inner {position: absolute; bottom: 0; left: 0; width: 100%; background: rgba(0, 0, 0, .7);}

@media (min-width: 768px) {
    .page-heading {height: 25rem;}
}

@media (min-width: 992px) {
    .content-section {padding: 4.5rem 0;}
}

.umb-block-grid__layout-item > :first-child {margin-top: 0;}
.umb-block-grid__layout-item > :last-child {margin-bottom: 0;}
.umb-block-grid__layout-item img[height], img[data-udi] {height: auto !important;}


/* MACROS & WIDGETS */
/* ---------------------------------------------------------------------- */

/* .macro.row-stack > .macro-content > .row > [class^='col-'] {flex-basis: 100%;}
.macro.row-full > .macro-content > .row > [class^='col-'] {flex-grow: 1;} */

.embeditem {position: relative; padding-bottom: 56.25%;}
.embeditem iframe {position: absolute; top: 0; left: 0; width: 100%; height: 100%;}


/* FORMS */
/* ---------------------------------------------------------------------- */

.form-label {line-height: 1.25; font-weight: bold;}
/* .datepickerfield, [type="date"] {background: url('/assets/icon-calendar.svg') 95% center no-repeat; background-size: 1rem; cursor: pointer;} */
.pika-button {background: #F8F9FA !important;}
.pika-single {border: 1px solid rgba(0, 0, 0, .15) !important;}
.input-validation-error {background: #FBEBEC;}
.field-validation-error {display: block; margin-top: .25rem; color: #DC3545; font-size: .825rem;}
.fileupload {overflow-x: hidden;}
.form-check {margin-bottom: .25rem;}
.form-group.richtext :first-child {margin-top: 0 !important;}
.recaptchav3withscore {display: none;}
.captcha input {width: 100px;}

@media (min-width: 768px) {
    .umbraco-forms-form .col-md-12 .shortanswer,
    .umbraco-forms-form .col-md-12 .dropdown,
    .umbraco-forms-form .col-md-12 .calendar,
    .umbraco-forms-form .col-md-12 .date,
    .umbraco-forms-form .col-md-12 .password,
    .umbraco-forms-form .col-md-12 .checkbox,
    /* .umbraco-forms-form .col-md-12 .singlechoice, */
    /* .umbraco-forms-form .col-md-12 .multiplechoice, */
    .umbraco-forms-form .col-md-12 .fileupload {width: 50%;}
}


/* ACCESSIBILITY */
/* ---------------------------------------------------------------------- */

@media (min-width: 768px) {

    body a:focus-visible, a.text-white:focus-visible,
    body .btn:focus-visible, button:focus-visible, [role="button"]:focus-visible, [type="button"]:focus-visible, [type="submit"]:focus-visible {
        color: #000 !important;
        background-color: #FD0 !important;
        border-color: transparent !important;
        border-radius: 0 !important;
        outline: 2px solid transparent !important;
        box-shadow: 0 -2px #FD0, 0 4px #000 !important;
        text-decoration: none !important;
    }
    body a:focus-visible *, body a:focus-visible *::before, body a:focus-visible *::after, body .text-white a:focus-visible {color: #000 !important;}
    :focus-visible::before, :focus-visible::after {color: #000 !important;}
    a:focus-visible img {opacity: .8;}
    /* .rounded-icon:focus-visible [class^="fa-"] {background: #000 !important; color: #FFF !important;} */

}


/* PRINT */
/* ---------------------------------------------------------------------- */

@media print {
    a {text-decoration: none;}
    .site-header {position: static;}
    .hero-content {padding-top: 0;}
    .uwy {display: none;}
}