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

html {scroll-behavior: smooth; scroll-padding-top: 5rem;}
body {word-wrap: break-word; height: 100%;}

a {font-weight: 500;}
a:hover {text-decoration: none !important;}
a:not(.hover-no-opacity):not(.btn):not(.site-logo 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;}

img {max-width: 100%;}
iframe {width: 100%; border: 0;}
b, strong {font-weight: 700;}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {font-weight: normal;}

h1 * {line-height: 1;}


/* 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;}

.fw-black {font-weight: 900;}

.text-decoration-none a {text-decoration: none;}

.links-white a:not(.btn-light):not(.btn-icon) {color: #FFF;}

.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 #DEE2E6; padding: .25rem .5rem; font-size: .9rem;}

.richtext-basic * {margin: 0;}

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

.first-child-clean > :first-child {margin-top: 0 !important;}

.big-icon {font-size: 4rem;}

.round-feature {width: 7.5rem; height: 7.5rem; border-radius: 100%;}
.round-feature .bi {font-size: 2.5rem; line-height: 0;}

@media (min-width: 768px) {
    .big-icon {font-size: 6.5rem;}
    .round-feature {width: 9rem; height: 9rem; font-size: 1.25rem;}
}

.opacity-1 {opacity: .1 !important;}
.opacity-2 {opacity: .2 !important;}
.opacity-3 {opacity: .3 !important;}
.opacity-4 {opacity: .4 !important;}
.opacity-5 {opacity: .5 !important;}
.opacity-6 {opacity: .6 !important;}
.opacity-7 {opacity: .7 !important;}
.opacity-8 {opacity: .8 !important;}
.opacity-9 {opacity: .9 !important;}
.opacity-10 {opacity: 1 !important;}

.w-10 {width: 10% !important;}
.w-20 {width: 20% !important;}
.w-30 {width: 30% !important;}
.w-40 {width: 40% !important;}
.w-50 {width: 50% !important;}
.w-60 {width: 60% !important;}
.w-70 {width: 70% !important;}
.w-80 {width: 80% !important;}
.w-90 {width: 90% !important;}


/* BOOTSTRAP CUSTOMIZATION */
/* ---------------------------------------------------------------------- */

.h1, .h2, .h3, .h4, .h5, .h6 {margin: 0;}

.carousel-item {transition: transform 3s ease-in-out;}  
.carousel-fade .active.carousel-item-start, .carousel-fade .active.carousel-item-end {transition: opacity 0s 3s;}

.ratio {overflow: hidden;}
.ratio img {position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover;}

.btn {font-weight: bold; text-transform: uppercase; padding-left: 1.25rem; padding-right: 1.25rem;}
.dropdown-item.active:hover, .dropdown-item:active {color: #FFF !important;}
.card {overflow: hidden;}
.table thead td, .table thead th {padding-top: .75rem; padding-bottom: .75rem;}
.modal-title {text-transform: uppercase; font-weight: bold;}
.accordion-flush .accordion-body {padding: 1.5rem 0;}
.alert a {color: currentColor !important; font-weight: bold;}

.dropdown-item {white-space: inherit;}
.dropdown-item:focus, .dropdown-item:hover {background: none;}

@media (min-width: 768px) {
    .lead {font-size: 1.5rem;}
}


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

.skippy {position: fixed !important; z-index: 9999;}
.site-header a {text-decoration: none;}
.site-logo img {height: 1.5rem;}
.site-logo-ingstron {display: none; /*padding-bottom: .25rem; border-bottom: 1px solid rgba(0, 0, 0, .25); margin-bottom: .25rem;*/}

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

@media (min-width: 992px) {
    .site-logo-muniweb {padding-bottom: 0; padding-right: 1rem; border-bottom: 0; border-right: 1px solid rgba(0, 0, 0, .25); margin-bottom: .0; margin-right: 1rem;}
    .site-logo-ingstron {display: block; font-size: .8rem;}
}

/* Primary navigation */

.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; top: 100%; left: 0; width: 100%; background: #FFF; border: 1px solid rgba(0, 0, 0, .15); border-radius: .25rem;}
.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 .dropdown-hover .btn.dropdown-toggle {position: absolute; top: .25rem; right: 1rem;}
.nav-primary .dropdown-hover .btn.dropdown-toggle::after {content: none;}
.nav-primary .dropdown-menu {min-width: 15rem; inset: inherit !important; transform: none !important; left: 0 !important;}
.nav-primary .dropdown-menu ul li::before {font-family: 'Font Awesome 6 Free'; content: '\f105'; font-size: .75rem; font-weight: 900; margin-right: .5rem; opacity: .3;}

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

@media (min-width: 992px) {
    .header-navbar {position: static;}
    .nav-primary {position: static; background: none; width: auto; border: 0;}
    .nav-primary > ul {max-height: none; overflow-y: visible;}
    .nav-primary > ul a, .nav-primary > ul button {max-width: none;}
    .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;}
}

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

/* Footer */

.site-cta {padding: 3rem 0;}
.footer-menu {padding-bottom: 2rem; border-bottom: 1px solid rgba(255, 255, 255, .2); margin-bottom: 2rem;}
.site-footer-copyright {font-size: .7rem;}

@media (min-width: 768px) {
    .site-cta {padding: 5rem 0;}
    .footer-menu {padding: 0; border: 0; margin: 0;}
    .footer-menu li:not(:first-child) {margin-left: 2rem;}
    .site-footer-copyright {font-size: .825rem; text-align: center;}
}


/* PAGES & SECTIONS */
/* ---------------------------------------------------------------------- */

.site-section {padding: 3rem 0;}
.site-section > .container {position: relative;}

.decoration {position: relative;}
.decoration::before {content: ''; display: block; position: absolute; inset: 0; background-size: 100%; background-repeat: no-repeat;}
.decoration-top-1::before {background-image: url('/assets/decoration-top-1.png'); background-position: top;}
.decoration-top-2::before {background-image: url('/assets/decoration-top-2.png'); background-position: top;}
.decoration-top-3::before {background-image: url('/assets/decoration-top-3.png'); background-position: top;}
.decoration-bottom-1::before {background-image: url('/assets/decoration-bottom-1.png'); background-position: center 100.5%;}
.decoration-bottom-2::before {background-image: url('/assets/decoration-bottom-2.png'); background-position: center 100.5%;}
.decoration-bottom-3::before {background-image: url('/assets/decoration-bottom-3.png'); background-position: center 100.5%;}

.gradient-hero {position: relative;}
.gradient-hero::before {content: ''; display: block; position: absolute; inset: 0; background: rgba(255, 255, 255, .9);}

.hero-preheading {font-weight: 900;}
.hero-heading {font-weight: 900;}

.mw-grid-section:not(:first-child) {margin-top: 3.5rem;}
.mw-grid-section text {height: 100%;}
.mw-grid-section > div > .row > [class^='col-']:not(:first-child) {margin-top: 3rem;}
.mw-grid-widget:not(:first-child) {margin-top: 3rem;}
.mw-grid-widget > :last-child {margin-bottom: 0;}
.mw-grid-widget .video-wrapper {position: relative; padding-bottom: 56.25%;}
.mw-grid-widget .video-wrapper iframe {position: absolute; top: 0; left: 0; width: 100%; height: 100%;}

@media (min-width: 768px) {
    .site-section {padding: 7rem 0;}
    .hero-section {padding: 8rem 0 10rem !important;}
    [class*='decoration-top'] {padding-top: 8rem;}
    [class*='decoration-bottom'] {padding-bottom: 8rem;}
    .hero-preheading {font-size: 2.75rem !important;}
    .hero-heading {font-size: 4rem !important;}
    .mw-grid-section:not(:first-child) {margin-top: 4rem;}
    .mw-grid-section > div > .row > [class^='col-']:not(:first-child) {margin-top: 0;}
    .mw-grid-widget:not(:first-child) {margin-top: 3.5rem;}
}

@media (min-width: 992px) {
    .gradient-hero::before {background: linear-gradient(to right, #FFF 45%, rgba(255, 255, 255, 0) 95%);}
}

.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: 1rem; border-radius: 100%; text-decoration: none;}
.rounded-icon-lg {display: inline-flex; align-items: center; justify-content: center; width: 5rem; height: 5rem; font-size: 2.5rem; border-radius: 100%; text-decoration: none;}


/* DASHBOARD */
/* ---------------------------------------------------------------------- */

.dashboard-section {padding: 3rem 0;}
.dashboard-section > .container {position: relative;}
.dashboard-menu .bi {font-size: 1.25rem;}

@media (min-width: 992px) {
    .dashboard-aside {min-height: 50vh;}
}


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

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


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

.registration-tabnav a {display: block; width: 100%; background-color: #FFF; text-align: center; text-decoration: none; color: currentColor;}
.registration-tabnav a:not(.active) {background-color: rgba(255, 255, 255, .35);}
.registration-tabnav a.active {font-weight: bold;}
.registration-tabnav a.active::before {content: ''; position: absolute; left: 50%; transform: translateX(-50%); top: 100%; width: 0; height: 0; border-left: 10px solid transparent; border-right: 10px solid transparent; border-top: 10px solid #FFF;}
.registration-tabnav a:hover {background: #FFF;}
.registration-tabnav .bi::before {transform: scale(1.75);}

.btn-wizard {position: relative;}
.btn-wizard:hover::after {content: ''; display: block; position: absolute; inset: 0;}

.mw-form-onsubmit {padding-top: 3rem; padding-bottom: 3rem;}
.mw-form-onsubmit .bi {font-size: 5rem;}
.mw-form-onsubmit .icon-error {transform: scale(0.85);}
.mw-form-onsubmit .icon-success {animation: bounce 1s .5s; transform: scale(0.85);}
.mw-form-onsubmit .icon-loading {height: 2.5rem; /*visibility: hidden; animation: display 2s forwards;*/}

@keyframes bounce {
    0% {transform: scale(1.1);}
    50% {transform: scale(1.6);}
    60% {transform: scale(0.6);}
    80% {transform: scale(0.95);}
    100% {transform: scale(0.85);}
}

/* @keyframes display {
    0% {visibility: hidden;}
    99.99% {visibility: hidden;}
    100% {visibility: visible;}
} */

.btn-theme {border-color: #DEE2E6 !important;}
.btn-theme:hover, .btn-check:checked + .btn-theme {background-color: #F3F5F8 !important; color: #000 !important;}
.btn-theme .palette-color {width: 100%; height: 3rem;}
.btn-theme .rounded-icon-sm {display: none;}
.btn-check:checked + .btn-theme .rounded-icon-sm {display: flex; position: absolute; top: .5rem; right: .5rem;}
.theme-label {position: absolute; inset: 0;}

.btn-color + label {overflow: hidden;}
.btn-color + label .bi {display: none;}
.btn-color:checked + label .bi {display: block; position: absolute; inset: 0;}
.colorcell {width: 1.5rem; height: 1.5rem;}

label {line-height: 1.25;}
.fileupload {overflow-x: hidden;}
.form-check {margin-bottom: .25rem;}

.form-control-icon-left {padding-left: calc(1.5em + .75rem); background-repeat: no-repeat; background-position: left calc(.375em + .1875rem) center; background-size: calc(.75em + .375rem) ;}
.form-control-icon-left + .bi {position: absolute; top: 0; left: calc(.375em + .1875rem); display: flex; align-items: center; cursor: pointer;}
.form-control-icon-left + .bi::before {vertical-align: -.5em;}
.form-control-icon-left + .bi {height: 2.125em;}
.form-control-lg.form-control-icon-left + .bi {height: 2.75em;}

.input-group-text-last {border-top-right-radius: .375rem !important; border-bottom-right-radius: .375rem !important;}

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

/* Google reCAPTCHA */

.grecaptcha-badge {display: none;}
.recaptchav3withscore {display: none;}

/* CalendarWiz */

[id^='cw_minical_widget'] {width: 100% !important;}
[id^='cwwrapper_'], [id^='cwucelist_'] {width: 100% !important; height: auto !important; position: static !important;}

/* Constant Contact */

.ctct-form-defaults {padding: 0 !important;}
.ctct-form-footer {display: none !important;}

/* Add This */

.addthis-smartlayers-mobile {display: none;}


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

@media (min-width: 768px) {

    a:focus-visible, .links-white a:focus-visible, a.text-white:focus-visible, .nav-primary a: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;
    }
    :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;}

}