body {
    overflow-x: hidden;
    background-color: var(--adm-cream);
}


:root {
    --adm-navy: #00304b;
    --adm-cyan: #65aad3;
    --adm-yellow: #7fc4df;
    --adm-green: #2a9d8f;
    --adm-cream: #f6fbfd;
    --adm-deep: #041f35;
    --adm-text: #1d2d3a;

    --icomf-navy: #00304b;
    --icomf-blue: #65aad3;
    --icomf-light-blue: #7fc4df;
    --icomf-sky: #dff3fb;
    --icomf-white: #ffffff;
    --icomf-soft: #f6fbfd;
    --icomf-text: #1d2d3a;
    --icomf-border: #b9ddea;
    --icomf-deep: #041f35;
}


table { /* Matching Template variables */
    color: var(--p-color);
    font-size: var(--p-font-size);
    font-weight: var(--font-weight-light);
}

.fixed-top {
    transform: translateY(40px);
    transition: transform .3s;
}

.disabled, .nav-link.disabled {
    color: #C0C0C0 !important;
}

.navbar-nav .nav-link {
    color: var(--icomf-white);
    font-weight: initial;
    font-size: large !important;
}

.ftco-navbar-light {
    background: var(--icomf-navy) !important;
    z-index: 3;
    padding: 0;
    -webkit-box-shadow: 0px 5px 20px -17px rgba(0, 0, 0, 0.34);
    -moz-box-shadow: 0px 5px 20px -17px rgba(0, 0, 0, 0.34);
    box-shadow: 0px 5px 20px -17px rgba(0, 0, 0, 0.34);
}

@media (max-width: 991.98px) {
    .ftco-navbar-light {
        background: var(--adm-cream) !important;
        position: relative;
        top: 0;
        padding: 10px 15px;
    }
}

.ftco-navbar-light .navbar-brand {
    color: var(--icomf-white);
    font-weight: 700;
    font-size: 10px;
    line-height: 1;
}

.ftco-navbar-light .navbar-brand span {
    display: block;
    font-size: 10px;
    font-weight: 500;
}

.ftco-navbar-light .navbar-brand:hover, .ftco-navbar-light .navbar-brand:focus {
    color: var(--icomf-white);
}

@media (max-width: 767.98px) {
    .ftco-navbar-light .navbar-brand {
        margin-bottom: 20px;
    }
}

@media (max-width: 991.98px) {
    .ftco-navbar-light .navbar-nav {
        padding-bottom: 10px;
    }
}

.ftco-navbar-light .navbar-nav > .nav-item > .nav-link {
    font-size: 16px !important;
    padding-top: 2rem;
    padding-bottom: 2rem;
    padding-left: 10px;
    padding-right: 10px;
    font-weight: 500;
    color: white;
    text-transform: uppercase;
    letter-spacing: 2px;
    position: relative;
    opacity: 1 !important;
}

.ftco-navbar-light .navbar-nav > .nav-item > .nav-link:before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    bottom: 0;
    left: 0;
    background-color: var(--icomf-navy);
    color: #fff !important;
    visibility: hidden;
    -webkit-transform: scaleX(0);
    -ms-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transition: all 0.2s ease-in-out 0s;
    -o-transition: all 0.2s ease-in-out 0s;
    transition: all 0.2s ease-in-out 0s;
    z-index: -1;
}

.ftco-navbar-light .navbar-nav > .nav-item > .nav-link:hover, .ftco-navbar-light .navbar-nav > .nav-item > .active {
    color: var(--icomf-navy) !important;
}

.ftco-navbar-light .navbar-nav > .nav-item > .nav-link:hover:before, .ftco-navbar-light .navbar-nav > .nav-item > .active {
    visibility: visible;
    background-color: var(--adm-yellow);
    color: var(--adm-navy) !important;
    -webkit-transform: scaleX(1);
    -ms-transform: scaleX(1);
    transform: scaleX(1);
}

.navbar-expand-lg .navbar-nav .nav-link {
    border-radius: unset;
}

@media (max-width: 991.98px) {
    .ftco-navbar-light .navbar-nav > .nav-item > .nav-link {
        padding-left: 10px;
        padding-right: 0;
        padding-top: .9rem;
        padding-bottom: .9rem;
        width: 100%;
    }

    .ftco-navbar-light .navbar-nav > .nav-item > .nav-link:hover {
        color: var(--icomf-navy);
    }
}

@media (max-width: 767.98px) {
    .ftco-navbar-light .navbar-nav > .nav-item > .nav-link {
        border-bottom: 1px solid rgba(0, 0, 0, 0.05);
    }
}

.ftco-navbar-light .navbar-nav > .nav-item .dropdown-menu {
    border: none;
    background: #fff;
    -webkit-box-shadow: 0px 10px 34px -20px rgba(0, 0, 0, 0.41);
    -moz-box-shadow: 0px 10px 34px -20px rgba(0, 0, 0, 0.41);
    box-shadow: 0px 10px 34px -20px rgba(0, 0, 0, 0.41);
    border-radius: 4px;
}

.ftco-navbar-light .navbar-nav > .nav-item .dropdown-menu .dropdown-item {
    font-size: 18px;
    color: var(--icomf-deep);
}

.ftco-navbar-light .navbar-nav > .nav-item .dropdown-menu .dropdown-item:hover, .ftco-navbar-light .navbar-nav > .nav-item .dropdown-menu .dropdown-item:focus {
    background: var(--icomf-navy);
    color: #fff !important;
}

.ftco-navbar-light .navbar-nav > .nav-item.cta > a {
    color: #fff !important;
    background: var(--icomf-navy);
    border-radius: 0px;
}

.dropdown-item.active, .dropdown-item:active {
    text-decoration: none;
    color: #fff !important;
    background: var(--icomf-navy);
}

@media (max-width: 767.98px) {
    .ftco-navbar-light .navbar-nav > .nav-item.cta > a {
        padding-left: 15px;
        padding-right: 15px;
    }
}

@media (max-width: 991.98px) {
    .ftco-navbar-light .navbar-nav > .nav-item.cta > a {
        color: #fff !important;
        background: var(--icomf-navy);
        border-radius: 4px;
    }
}

.ftco-navbar-light .navbar-nav > .nav-item.active > a {
    color: #fff;
}

.ftco-navbar-light .navbar-nav > .nav-item.active > a:before {
    visibility: visible;
    background-color: var(--icomf-navy);
    color: #fff !important;
    -webkit-transform: scaleX(1);
    -ms-transform: scaleX(1);
    transform: scaleX(1);
}

@media (max-width: 991.98px) {
    .ftco-navbar-light .navbar-nav > .nav-item.active > a {
        color: #000; }
    .ftco-navbar-light .navbar-nav > .nav-item.active > a:before {
        display: none;
    }
}

.ftco-navbar-light .navbar-toggler {
    border: none;
    color: rgba(255, 255, 255, 1) !important;
    cursor: pointer;
    padding-right: 0;
    text-transform: uppercase;
    font-size: 16px;
    letter-spacing: .1em;
}

.ftco-navbar-light .navbar-toggler:focus {
    outline: none !important;
}

.navbar {
    display: block;
}

.sticky-wrapper {
    position: relative;
    z-index: 100;
    width: 100%;
}

.site-footer-top {
    background-color: var(--icomf-navy);
}

.site-footer {
    background-color: var(--icomf-deep);
}

.sticky-wrapper .site-navbar {
    -webkit-transition: .3s all ease;
    -o-transition: .3s all ease;
    transition: .3s all ease;
}

.sticky-wrapper.is-sticky .site-navbar {
    background: #fff;
    -webkit-box-shadow: 4px 0 20px -5px rgba(0, 0, 0, 0.2);
    box-shadow: 4px 0 20px -5px rgba(0, 0, 0, 0.2);
}

.navbar-expand-lg .navbar-nav .nav-link {
    margin: unset;
}

.sticky-wrapper.is-sticky .nav-link {
    color: white !important;
}

.sticky-wrapper.is-sticky .disabled {
    color: #C0C0C0 !important;
}

.sticky-wrapper .shrink {
    padding-top: 0px !important;
    padding-bottom: 0px !important;
}

@media (max-width: 991.98px) {
    .sticky-wrapper .shrink {
        padding-top: 30px !important;
        padding-bottom: 30px !important;
    }
}

.sectionTransaction {
    background-color: white;
    position: relative;
    margin-top: -18%;
    overflow: hidden;
    z-index: 2;
    height: 500px;
    clip-path: polygon(0% 65%, 1% 64.95%, 2% 64.8%, 3% 64.6%, 4% 64.3%, 5% 63.9%, 6% 63.45%, 7% 62.9%, 8% 62.25%, 9% 61.55%, 10% 60.8%, 11% 59.95%, 12% 59.05%, 13% 58.1%, 14% 57.1%, 15% 56.05%, 16% 55%, 17% 53.9%, 18% 52.8%, 19% 51.65%, 20% 50.5%, 21% 49.35%, 22% 48.2%, 23% 47.05%, 24% 45.9%, 25% 44.8%, 26% 43.75%, 27% 42.75%, 28% 41.75%, 29% 40.8%, 30% 39.9%, 31% 39.1%, 32% 38.35%, 33% 37.65%, 34% 37.05%, 35% 36.5%, 36% 36.05%, 37% 35.65%, 38% 35.35%, 39% 35.15%, 40% 35.05%, 41% 35%, 42% 35.05%, 43% 35.2%, 44% 35.45%, 45% 35.75%, 46% 36.15%, 47% 36.65%, 48% 37.2%, 49% 37.85%, 50% 38.55%, 51% 39.35%, 52% 40.2%, 53% 41.1%, 54% 42.05%, 55% 43.05%, 56% 44.1%, 57% 45.15%, 58% 46.3%, 59% 47.4%, 60% 48.55%, 61% 49.7%, 62% 50.85%, 63% 52%, 64% 53.15%, 65% 54.25%, 66% 55.35%, 67% 56.4%, 68% 57.45%, 69% 58.4%, 70% 59.35%, 71% 60.2%, 72% 61.05%, 73% 61.8%, 74% 62.45%, 75% 63.05%, 76% 63.6%, 77% 64.05%, 78% 64.4%, 79% 64.7%, 80% 64.85%, 81% 65%, 82% 65%, 83% 64.9%, 84% 64.75%, 85% 64.5%, 86% 64.2%, 87% 63.75%, 88% 63.25%, 89% 62.7%, 90% 62.05%, 91% 61.3%, 92% 60.5%, 93% 59.65%, 94% 58.75%, 95% 57.8%, 96% 56.8%, 97% 55.75%, 98% 54.65%, 99% 53.55%, 100% 52.4%, 100% 100%, 0% 100%);
}

.sectionTransactionFooter {
    background-color: var(--icomf-deep);
    position: relative;
    overflow: hidden;
    z-index: 2;
    height: 350px;
    clip-path: polygon(0% 65%, 1% 64.95%, 2% 64.8%, 3% 64.6%, 4% 64.3%, 5% 63.9%, 6% 63.45%, 7% 62.9%, 8% 62.25%, 9% 61.55%, 10% 60.8%, 11% 59.95%, 12% 59.05%, 13% 58.1%, 14% 57.1%, 15% 56.05%, 16% 55%, 17% 53.9%, 18% 52.8%, 19% 51.65%, 20% 50.5%, 21% 49.35%, 22% 48.2%, 23% 47.05%, 24% 45.9%, 25% 44.8%, 26% 43.75%, 27% 42.75%, 28% 41.75%, 29% 40.8%, 30% 39.9%, 31% 39.1%, 32% 38.35%, 33% 37.65%, 34% 37.05%, 35% 36.5%, 36% 36.05%, 37% 35.65%, 38% 35.35%, 39% 35.15%, 40% 35.05%, 41% 35%, 42% 35.05%, 43% 35.2%, 44% 35.45%, 45% 35.75%, 46% 36.15%, 47% 36.65%, 48% 37.2%, 49% 37.85%, 50% 38.55%, 51% 39.35%, 52% 40.2%, 53% 41.1%, 54% 42.05%, 55% 43.05%, 56% 44.1%, 57% 45.15%, 58% 46.3%, 59% 47.4%, 60% 48.55%, 61% 49.7%, 62% 50.85%, 63% 52%, 64% 53.15%, 65% 54.25%, 66% 55.35%, 67% 56.4%, 68% 57.45%, 69% 58.4%, 70% 59.35%, 71% 60.2%, 72% 61.05%, 73% 61.8%, 74% 62.45%, 75% 63.05%, 76% 63.6%, 77% 64.05%, 78% 64.4%, 79% 64.7%, 80% 64.85%, 81% 65%, 82% 65%, 83% 64.9%, 84% 64.75%, 85% 64.5%, 86% 64.2%, 87% 63.75%, 88% 63.25%, 89% 62.7%, 90% 62.05%, 91% 61.3%, 92% 60.5%, 93% 59.65%, 94% 58.75%, 95% 57.8%, 96% 56.8%, 97% 55.75%, 98% 54.65%, 99% 53.55%, 100% 52.4%, 100% 100%, 0% 100%);
}

.sectionTransactionBefore {
    margin-top: -10%;
    padding-top: 10%;
    padding-bottom: 12%;
}

#headerContent {
    background-image: url(/image/header-interno.jpg);
    background-size: cover;
    background-position: right top;
    background-repeat: no-repeat;
}

@media (min-width: 992px) {
    #headerContent {
        background-image: url(/image/header-interno-mobile.jpg);
        background-color: var(--icomf-blue);
        background-size: cover;
        background-position: right top;
        background-repeat: no-repeat;
    }
}

#headerContent h2, #headerContentSociedade h2, #rio h2, #venue h2 {
    color: var(--icomf-blue) !important;
}

#section_about h2, #section_about h3, #section_about p, #section_about ul li {
    color: var(--icomf-text);
    text-align: justify;
}

h1, h2, h3, h4, h5, h6 {
    color: var(--icomf-blue) !important;
}

.sticky-wrapper {
    background-color: unset;
}

.hero-banner-img {
    display: block;
    width: 100%;
    height: auto;
}

.social-icons {
    position: relative;
    z-index: 3;
}

.social-icons .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    height: 4rem;
    width: 4rem;
    border-radius: 100rem;
}

@media (min-width: 992px) {
    .social-icons {
        position: absolute;
        height: 100%;
        top: 0;
        right: 0.5rem;
        width: auto;
    }
}

.btn-yellow {
    background-color: var(--adm-yellow);
    color: var(--adm-navy);
    border: 2px solid var(--adm-yellow);
}

.btn-yellow:hover {
    background-color: var(--adm-cyan);
    color: var(--adm-navy);
    border-color: var(--adm-cyan);
}

.btn-blue {
    background-color: var(--adm-navy);
    color: #fff;
    border: 5px solid var(--adm-cyan);
    font-weight: bold;
}

.btn-blue:hover {
    background-color: var(--adm-cyan);
    color: var(--adm-navy);
}

.card-title {
    color: white;
    font-size: 0.9em;
    line-height: 0.9em;
}

footer a {
    color: white;
}

a {
    font-weight: bold;
    text-decoration: underline;
    color: var(--icomf-navy);
}

p {
    text-align: justify !important;
    /*color: black;*/
    overflow-wrap: break-word;
}

.text-dark {
    color: var(--icomf-blue) !important;
}

.person {
    text-align: center;
    background-color: white;
    border: 1px solid var(--icomf-blue);
    border-radius: 4px;
}

.person img {
    position: relative;
    width: 90px;
    border-radius: 50%;
    margin: -45px auto 0 auto;
}

.person .person-contents {
    padding: 30px;
}

.person .person-contents h2, .person .person-contents .h2 {
    font-size: 18px;
}

.person .person-contents h2 a, .person .person-contents .h2 a {
    color: var(--icomf-blue);
    text-decoration: none;
}

.person .person-contents p {
    font-size: 14px;
}

.contact-info i {
    font-size: 20px;
    float: left;
    width: 44px;
    height: 44px;
    background: var(--icomf-navy);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    border-radius: 50px;
    -webkit-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s;
    color: #fff; }

.contact-info h4, .contact-info .h4 {
    font-size: 18px;
    padding: 0 0 0 60px;
}

.contact-info p {
    padding: 0 0 0 60px;
    margin-bottom: 0;
    font-size: 14px;
}

.text-success {
    color: var(--dark-color) !important;
}

/* Img Click - Modal */
.clickable-img {
    width: 100%;
    height: 100%;
    vertical-align: middle;
    cursor: pointer;
    transition: 0.3s;
    object-fit: cover;
}

.clickable-img:hover {
    opacity: 0.7;
}

#imgModal {
    position: fixed; /* Stay in place */
    z-index: 1000; /* Sit on top */
    left: 0;
    top: 0;
    width: 100%; /* Full width */
    height: 100%; /* Full height */
    overflow: auto; /* Enable scroll if needed */
    background-color: rgb(0,0,0); /* Fallback color */
    background-color: rgba(0,0,0,0.9); /* Black w/ opacity */
}

.modal-wrapper {
    padding-top: 70px; /* Location of the box */
    height: calc(100% - 70px);
}

.img-modal-content {
    margin: auto;
    display: block;
    /*width: 80%;*/
    max-width: 1024px;
    height: auto;
}

#img-caption {
    margin: auto;
    display: block;
    width: 80%;
    max-width: 700px;
    text-align: center;
    color: #ccc;
    padding: 10px 0;
    height: auto;
}

.img-modal-content, #img-caption {
    animation-name: zoom;
    animation-duration: 0.6s;
}

@keyframes zoom {
    from {transform:scale(0)}
    to {transform:scale(1)}
}

.img-close {
    position: absolute;
    top: 15px;
    right: 35px;
    color: #f1f1f1;
    font-size: 40px;
    font-weight: bold;
    transition: 0.3s;
}

.img-close:hover,
.img-close:focus {
    color: #bbb;
    text-decoration: none;
    cursor: pointer;
}

@media only screen and (max-width: 700px){
    .img-modal-content {
        max-width: 100%;
    }
}
/* -- */

/* Home Top Arrow */
.circle-arrow {
    position: absolute;
    text-align: center;
    z-index: 10;
    width: 65px;
    height: 65px;
    top: calc(100vh - 210px);
    left: calc(50% - 14px);
}

.down-arrow {
    position: absolute;
    top: 15%;
    left: 48%;
    width: 0;
    height: 22px;
    border: 2px solid;
    border-radius: 2px;
    animation: jumpInfinite 1.5s infinite;
    box-sizing: content-box;
}

.down-arrow:after {
    content: " ";
    position: absolute;
    top: 5px;
    left: -10px;
    width: 16px;
    height: 16px;
    border-bottom: 4px solid;
    border-right: 4px solid;
    border-radius: 4px;
    transform: rotateZ(45deg);
    box-sizing: content-box;
}

@keyframes jumpInfinite {
    0% {
        margin-top: 0;
    }
    50% {
        margin-top: 15px;
    }
    100% {
        margin-top: 0;
    }
}

.btn .fab {
    font-size: 30px;
}

#ctaButton {
    position: absolute;
    top: 116px;
    right: 13px;
    margin: 0 10px 10px 0;
    z-index: 99;
}

.tab-content {
    background-color: var(--white-color);
    border-radius: 0;
    padding: 10px;
    border: 1px var(--icomf-blue) solid;
}

.nav-tabs {
    background-color: var(--icomf-blue);
    border-radius: 0;
    border-bottom: 0;
    padding: 15px;
}

.nav-tabs .nav-link {
    border-radius: 0;
    border: 0;
    padding: 15px 25px;
    transition: all 0.3s;
    color: white;
}

.nav-tabs .nav-link:first-child {
    margin-right: 15px;
}

.nav-tabs .nav-item.show .nav-link,
.nav-tabs .nav-link.active,
.nav-tabs .nav-link:focus,
.nav-tabs .nav-link:hover {
    background: var(--white-color);
    box-shadow: none;
    color: var(--icomf-blue);
    font-weight: bolder;
}

.nav-tabs h5 {
    color: var(--p-color);
    margin-bottom: 0;
}

.nav-tabs .nav-link.active h5,
.nav-tabs .nav-link:focus h5,
.nav-tabs .nav-link:hover h5 {
    color: var(--primary-color);
}

.accordion-button:not(.collapsed) {
    color: white;
    background-color: var(--icomf-blue);
    box-shadow: unset;
}

.accordion-button {
    color: black;
    background-color: var(--icomf-sky);
    box-shadow: unset;
}

.accordion-button:focus {
    z-index: 3;
    border-color: unset;
    outline: 0;
    box-shadow: unset;
}

.text-link {
    color: var(--link-hover-color);
}

.text-black {
    color: var(--p-color);
}

.text-yellow {
    color: var(--icomf-blue);
}

.card-img-wrapper {
    overflow: hidden;
    height: 300px;
}

.card-img-wrapper .img-fluid {
    object-fit: cover;
    width: 100%;
    height: 100%;
}

.pulse {
    background-color: white;
    color: var(--icomf-blue);
    border-radius: 10px;
    animation: animate 3s linear infinite
}

.pulse i {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 30px;
    color: #fff;
    height: 100%;
    cursor: pointer
}

@keyframes animate {
    0% {
        box-shadow: 0 0 0 0 rgba(105, 199, 217, 0.7), 0 0 0 0 rgba(105, 199, 217, 0.7)
    }
    40% {
        box-shadow: 0 0 0 50px rgba(105, 199, 217, 0), 0 0 0 0 rgba(105, 199, 217, 0.7)
    }
    80% {
        box-shadow: 0 0 0 50px rgba(105, 199, 217, 0), 0 0 0 30px rgba(105, 199, 217, 0)
    }
    100% {
        box-shadow: 0 0 0 0 rgba(105, 199, 217, 0), 0 0 0 30px rgba(105, 199, 217, 0)
    }
}

.timeline {
    border-left: 1px solid hsl(0, 0%, 90%);
    position: relative;
    list-style: none;
}

.timeline .timeline-item {
    position: relative;
}

.timeline .timeline-item:after {
    position: absolute;
    display: block;
    top: 0;
}

.timeline .badge {
    background-color: var(--icomf-navy);
}

.timeline .timeline-item:after {
    background-color: var(--icomf-navy);
    left: -42px;
    top: 5px;
    border-radius: 50%;
    height: 20px;
    width: 20px;
    content: "";
}

.bg-green {
    background-color: var(--icomf-blue) !important;
    color: white;
}

.bg-clean-orange {
    background-color: var(--icomf-navy) !important;
    color: white;
}

#section_about {
    background: linear-gradient(
            to bottom,
            var(--icomf-white) 0%,
            var(--icomf-soft) 35%,
            var(--icomf-sky) 100%
    );
}

ol li {
    color: var(--p-color);
    font-size: var(--p-font-size);
    font-weight: var(--font-weight-light);
}

ol li::marker,
ul li::marker {
    font-weight: var(--font-weight-bold);
}

.table-responsive{
    filter: none; !important
}

a img:hover {
    opacity: 0.5;
    transform: scale(1.2);
}

.card {
    border: 2px var(--icomf-blue) solid;
    overflow: hidden;
}

.middle {
    transition: .5s ease;
    opacity: 0;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    text-align: center;
}

a:hover .middle {
    opacity: 1;
}

.text {
    background-color: var(--icomf-blue);
    color: var(--icomf-blue);
    font-size: 1em;
    padding: 10px 10px;
}

.card-title {
    font-weight: bold;
}

.card-body {
    z-index: 99;
    background-color: var(--icomf-blue);
}

.programacao td {
    border: black 1px solid;
}
/* ADM 2026 responsive/header refinements */
@media (max-width: 991.98px) {
    .ftco-navbar-light .navbar-toggler {
        color: var(--adm-navy) !important;
    }

    .ftco-navbar-light .navbar-nav > .nav-item > .nav-link {
        color: var(--adm-navy) !important;
    }

    .ftco-navbar-light .navbar-nav > .nav-item > .nav-link:before {
        display: none;
    }
}

h1, h2, h3, h4, h5, h6 {
    color: var(--adm-navy) !important;
}

a {
    color: var(--adm-navy);
}

a:hover {
    color: var(--adm-cyan);
}


/* ICOMF visual refinements */
.ftco-navbar-light .navbar-nav > .nav-item > .nav-link:hover:before,
.ftco-navbar-light .navbar-nav > .nav-item > .active {
    background: linear-gradient(135deg, var(--icomf-blue), var(--icomf-light-blue));
    color: var(--icomf-white) !important;
}

.btn-yellow {
    background-color: var(--icomf-light-blue);
    color: var(--icomf-navy);
    border-color: var(--icomf-light-blue);
}

.btn-yellow:hover {
    background-color: var(--icomf-navy);
    color: var(--icomf-white);
    border-color: var(--icomf-navy);
}

.card {
    border-color: var(--icomf-border);
    border-radius: 8px;
}

@media (max-width: 991.98px) {
    .navbar-nav .nav-link {
        color: var(--icomf-navy) !important;
    }
}

/* =========================================================
   ICOTOM 2027 — visual identity refresh
   ========================================================= */
:root {
    --icotom-blue: #004cab;
    --icotom-blue-bright: #0879c9;
    --icotom-blue-deep: #002b62;
    --icotom-blue-dark: #071b35;
    --icotom-cyan: #0080ab;
    --icotom-green: #74d303;
    --icotom-lime: #a7da00;
    --icotom-yellow: #f9d400;
    --icotom-red: #fe270a;
    --icotom-ink: #102235;
    --icotom-muted: #64778a;
    --icotom-line: #dce7f0;
    --icotom-soft: #f4f8fc;
    --icotom-white: #ffffff;

    /* Backward-compatible aliases for the existing template */
    --adm-navy: var(--icotom-blue-deep);
    --adm-cyan: var(--icotom-blue-bright);
    --adm-yellow: var(--icotom-lime);
    --adm-green: var(--icotom-green);
    --adm-cream: var(--icotom-soft);
    --adm-deep: var(--icotom-blue-dark);
    --adm-text: var(--icotom-ink);

    --icomf-navy: var(--icotom-blue-deep);
    --icomf-blue: var(--icotom-blue);
    --icomf-light-blue: var(--icotom-blue-bright);
    --icomf-sky: #eaf5fc;
    --icomf-white: var(--icotom-white);
    --icomf-soft: var(--icotom-soft);
    --icomf-text: var(--icotom-ink);
    --icomf-border: var(--icotom-line);
    --icomf-deep: var(--icotom-blue-dark);
}

html {
    scroll-behavior: smooth;
}

body {
    background: var(--icotom-white);
    color: var(--icotom-ink);
    font-family: 'Manrope', sans-serif;
}

h1, h2, h3, h4, h5, h6 {
    color: var(--icotom-blue-deep) !important;
    letter-spacing: -0.025em;
}

p, ul li, ol li {
    color: var(--icotom-ink);
    line-height: 1.75;
}

/* Navigation */
.ftco-section {
    position: relative;
    z-index: 1000;
}

.ftco-navbar-light {
    min-height: 76px;
    padding: 0 1.25rem;
    background: var(--icotom-blue) !important;
    border-bottom: 1px solid rgba(255,255,255,.16);
    box-shadow: 0 8px 28px rgba(0, 35, 90, .16);
}

.home-page .ftco-section {
    position: absolute;
    inset: 0 0 auto 0;
    width: 100%;
}

.home-page .ftco-navbar-light {
    background: var(--icotom-blue) !important;
    box-shadow: 0 8px 28px rgba(0, 35, 90, .16);
}

.navbar-event-logo {
    max-height: 55px;
    width: auto;
    padding: 5px 0;
}

.ftco-navbar-light .navbar-nav > .nav-item > .nav-link {
    padding: 1.7rem .72rem;
    color: #fff !important;
    font-size: 13px !important;
    font-weight: 700;
    letter-spacing: .085em;
    text-transform: uppercase;
}

.ftco-navbar-light .navbar-nav > .nav-item > .nav-link:before {
    height: 3px;
    top: auto;
    bottom: 0;
    background: linear-gradient(90deg, var(--icotom-green), var(--icotom-yellow)) !important;
}

.ftco-navbar-light .navbar-nav > .nav-item > .nav-link:hover,
.ftco-navbar-light .navbar-nav > .nav-item > .active {
    color: #fff !important;
}

/* Full-screen video hero */
.icotom-hero {
    position: relative;
    height: max(690px, 100svh);
    min-height: 690px;
    overflow: hidden;
    background: var(--icotom-blue-dark);
    isolation: isolate;
}

.icotom-hero-video {
    position: absolute;
    inset: 0;
    z-index: -3;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
}

/* Blue veil aligned with the navbar: strongest behind the logo and fading into the video. */
.icotom-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -2;
    pointer-events: none;
    background: linear-gradient(90deg,
        rgba(0, 76, 171, .88) 0%,
        rgba(0, 76, 171, .76) 24%,
        rgba(0, 76, 171, .48) 43%,
        rgba(0, 76, 171, .20) 61%,
        rgba(0, 76, 171, .06) 74%,
        rgba(0, 76, 171, 0) 88%);
}

.icotom-hero::after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    height: 7px;
    background: linear-gradient(90deg,
        var(--icotom-blue) 0 30%,
        var(--icotom-green) 30% 48%,
        var(--icotom-yellow) 48% 67%,
        var(--icotom-red) 67% 76%,
        var(--icotom-cyan) 76% 100%);
}

.icotom-hero-content {
    position: relative;
    z-index: 2;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding-top: 86px;
}

.icotom-hero-logo-panel {
    position: relative;
    width: min(900px, 72vw);
    padding: clamp(20px, 2.5vw, 36px) clamp(20px, 2.8vw, 40px);
}

/* The logo now sits directly on the blue veil; no white haze or panel behind it. */
.icotom-hero-logo-panel::before {
    content: none;
}

.icotom-hero-logo {
    display: block;
    width: 100%;
    height: auto;
}

.icotom-scroll-cue {
    position: absolute;
    left: 50%;
    bottom: 34px;
    width: 52px;
    height: 52px;
    transform: translateX(-50%);
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255,255,255,.62);
    border-radius: 50%;
    background: rgba(0,25,57,.30);
    color: #fff;
    cursor: pointer;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    transition: transform .25s ease, background .25s ease;
}

.icotom-scroll-cue:hover {
    transform: translateX(-50%) translateY(4px);
    background: rgba(0,76,171,.74);
}

.icotom-scroll-cue i {
    position: static;
    display: block;
    font-size: 1.45rem;
    line-height: 1;
    color: #fff;
    transform: translateY(1px);
    animation: icotomCueBounce 1.8s ease-in-out infinite;
}

@keyframes icotomCueBounce {
    0%, 100% { transform: translateY(-1px); }
    50% { transform: translateY(4px); }
}

/* Homepage content */
#section_about {
    position: relative;
    background: linear-gradient(180deg, #fff 0%, var(--icotom-soft) 100%);
}

.sectionTransactionBefore {
    margin-top: 0;
    padding-top: 0;
    padding-bottom: 0;
}

.sectionTransaction {
    display: none;
}

.event-kicker {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    margin-bottom: 1rem;
    color: var(--icotom-blue);
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.event-kicker::before {
    content: "";
    width: 30px;
    height: 4px;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--icotom-green), var(--icotom-yellow));
}

.event-heading {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: clamp(3.1rem, 6vw, 5.7rem);
    font-weight: 700;
    line-height: .95;
    text-transform: uppercase;
}

.event-lead {
    max-width: 760px;
    margin: 0;
    color: var(--icotom-muted) !important;
    font-size: clamp(1.05rem, 1.7vw, 1.25rem);
    font-weight: 400;
    text-align: left !important;
}

.event-meta-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin-top: 2rem;
}

.event-meta-card {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 18px;
    border: 1px solid var(--icotom-line);
    border-radius: 18px;
    background: rgba(255,255,255,.78);
    box-shadow: 0 12px 35px rgba(0, 43, 98, .06);
}

.event-meta-icon {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    border-radius: 14px;
    background: rgba(0,76,171,.09);
    color: var(--icotom-blue);
    font-size: 1.25rem;
}

.event-meta-card small,
.event-meta-card strong {
    display: block;
}

.event-meta-card small {
    margin-bottom: 2px;
    color: var(--icotom-muted);
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.event-meta-card strong {
    color: var(--icotom-ink);
    font-size: .96rem;
}

.event-date-card {
    position: relative;
    overflow: hidden;
    padding: clamp(30px, 4vw, 52px);
    border-radius: 26px;
    background: linear-gradient(145deg, var(--icotom-blue-deep), var(--icotom-blue));
    box-shadow: 0 24px 60px rgba(0, 43, 98, .22);
}

.event-date-card::before {
    content: "";
    position: absolute;
    width: 220px;
    height: 220px;
    top: -100px;
    right: -70px;
    border-radius: 50%;
    background: rgba(116,211,3,.17);
}

.event-date-label {
    position: relative;
    z-index: 1;
    display: block;
    margin-bottom: 1rem;
    color: rgba(255,255,255,.72);
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.event-countdown {
    position: relative;
    z-index: 1;
    color: #fff;
    font-family: 'Barlow Condensed', sans-serif;
    font-size: clamp(2.2rem, 4vw, 3.8rem);
    font-weight: 700;
    line-height: 1;
}

.event-date-accent {
    width: 90px;
    height: 6px;
    margin-top: 2rem;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--icotom-green), var(--icotom-yellow), var(--icotom-red));
}

.section-title-wrap {
    max-width: 760px;
}

.section-title-wrap h2 {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: clamp(2.4rem, 4vw, 4rem);
    text-transform: uppercase;
}

.section-title-wrap p {
    color: var(--icotom-muted);
    text-align: center !important;
}

/* Buttons / components */
.btn-blue {
    border: 0;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--icotom-blue), var(--icotom-blue-bright));
    box-shadow: 0 12px 30px rgba(0,76,171,.25);
}

.btn-blue:hover {
    color: var(--icotom-blue-deep);
    background: var(--icotom-lime);
}

#ctaButton {
    z-index: 1100;
}

#ctaButton .btn {
    padding: .85rem 1.25rem;
    border-radius: 999px;
    font-size: .8rem;
    letter-spacing: .03em;
}

/* Footer */
.site-footer-top {
    background: var(--icotom-blue-deep);
    border-bottom: 1px solid rgba(255,255,255,.10);
}

.site-footer {
    background: var(--icotom-blue-dark);
}

.site-footer h4 {
    font-family: 'Barlow Condensed', sans-serif;
    letter-spacing: .04em;
}

.site-footer p,
.site-footer .copyright-text {
    color: rgba(255,255,255,.72) !important;
}

/* Accessibility: users who prefer less animation see a still hero */
@media (prefers-reduced-motion: reduce) {
    .icotom-hero-video {
        display: none;
    }

    .icotom-hero {
        background:
            linear-gradient(135deg, rgba(0,43,98,.96), rgba(0,76,171,.84)),
            url('/image/header.jpg') center/cover no-repeat;
    }
}

@media (max-width: 1199.98px) {
    .ftco-navbar-light .navbar-nav > .nav-item > .nav-link {
        padding-left: .5rem;
        padding-right: .5rem;
        font-size: 12px !important;
    }
}

@media (max-width: 991.98px) {
    .home-page .ftco-section,
    .ftco-section {
        position: relative;
    }

    .ftco-navbar-light,
    .home-page .ftco-navbar-light {
        min-height: 68px;
        padding: .6rem 1rem;
        background: var(--icotom-blue) !important;
    }

    .ftco-navbar-light .navbar-toggler {
        color: #fff !important;
    }

    .ftco-navbar-light .navbar-nav > .nav-item > .nav-link,
    .navbar-nav .nav-link {
        padding: .8rem .25rem;
        color: #fff !important;
    }

    .navbar-event-logo {
        max-height: 48px;
    }

    .icotom-hero {
        height: min(78svh, 720px);
        min-height: 570px;
    }

    .icotom-hero-content {
        padding-top: 0;
    }

    .icotom-hero-logo-panel {
        width: min(880px, 94vw);
    }
}

@media (max-width: 767.98px) {
    .icotom-hero {
        min-height: 500px;
        height: 68svh;
    }

    .icotom-hero-video {
        object-position: 58% center;
    }

    .icotom-hero-logo-panel {
        width: 98%;
        padding: 18px 20px;
    }

    .icotom-hero-logo-panel::before {
        inset: -16% -4%;
        filter: blur(8px);
    }

    .section-padding {
        padding-top: 68px;
        padding-bottom: 68px;
    }

    .event-meta-grid {
        grid-template-columns: 1fr;
    }

    .event-heading {
        font-size: clamp(3rem, 15vw, 4.5rem);
    }

    .event-date-card {
        border-radius: 20px;
    }
}


/* ICOTOM 2027 refinements v3 */
#ctaButton.pulse {
    background: transparent;
    border-radius: 999px;
}

.event-countdown {
    display: flex;
    align-items: baseline;
    flex-wrap: nowrap;
    white-space: nowrap;
}

.event-countdown .countdown-days {
    font-size: 1em;
}

.event-countdown .countdown-time {
    font-size: .58em;
    margin-left: .08em;
    font-weight: 600;
}

@media (max-width: 575.98px) {
    .event-countdown .countdown-time {
        font-size: .52em;
    }
}

/* =========================================================
   ICOTOM 2027 — summary and compact inner pages
   ========================================================= */
.icotom-soft-section {
    background: var(--icotom-soft);
}

/* Summary on homepage */
.summary-section {
    position: relative;
    overflow: hidden;
}

.summary-section::before {
    content: "";
    position: absolute;
    width: 420px;
    height: 420px;
    right: -180px;
    top: 80px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(8,121,201,.09) 0%, rgba(8,121,201,0) 70%);
    pointer-events: none;
}

.summary-heading-sticky {
    position: sticky;
    top: 120px;
}

.summary-title {
    margin-bottom: 1.5rem;
    font-family: 'Barlow Condensed', sans-serif;
    font-size: clamp(4rem, 8vw, 6.7rem);
    font-weight: 700;
    line-height: .85;
    text-transform: uppercase;
}

.summary-intro {
    max-width: 390px;
    color: var(--icotom-muted) !important;
    font-size: 1rem;
    text-align: left !important;
}

.summary-highlight {
    display: flex;
    align-items: center;
    gap: 18px;
    max-width: 390px;
    margin-top: 2rem;
    padding: 18px 20px;
    border-left: 5px solid var(--icotom-green);
    border-radius: 0 16px 16px 0;
    background: var(--icotom-soft);
    color: var(--icotom-ink);
    font-weight: 700;
}

.summary-highlight-number {
    color: var(--icotom-blue);
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 2.5rem;
    font-weight: 700;
    line-height: 1;
}

.summary-content {
    position: relative;
    z-index: 1;
    padding-left: clamp(0px, 3vw, 42px);
}

.summary-content > p {
    color: #34485b;
    font-size: 1.02rem;
    text-align: left !important;
}

.summary-content > p:first-child {
    color: var(--icotom-ink);
    font-size: clamp(1.1rem, 1.6vw, 1.25rem);
    font-weight: 500;
}

.summary-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.summary-stat-card {
    min-height: 135px;
    padding: 22px;
    border: 1px solid var(--icotom-line);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 12px 35px rgba(0,43,98,.06);
}

.summary-stat-card strong,
.summary-stat-card span {
    display: block;
}

.summary-stat-card strong {
    margin-bottom: .35rem;
    color: var(--icotom-blue);
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 2.25rem;
    line-height: 1;
}

.summary-stat-card span {
    color: var(--icotom-muted);
    font-size: .85rem;
    font-weight: 700;
    line-height: 1.4;
}

/* Keep navbar dropdowns above the floating registration CTA */
.ftco-section,
.ftco-navbar-light {
    z-index: 2000;
}

.ftco-navbar-light .navbar-nav > .nav-item.dropdown {
    position: relative;
    z-index: 2010;
}

.ftco-navbar-light .navbar-nav > .nav-item .dropdown-menu {
    z-index: 2050;
}

#ctaButton {
    z-index: 1200;
}

/* Navbar dropdowns */
.ftco-navbar-light .navbar-nav > .nav-item .dropdown-menu {
    min-width: 250px;
    margin-top: 0;
    padding: .55rem;
    border: 0;
    border-top: 3px solid var(--icotom-green);
    border-radius: 0 0 12px 12px;
    box-shadow: 0 18px 45px rgba(0,43,98,.18);
}

.ftco-navbar-light .navbar-nav > .nav-item .dropdown-menu .dropdown-item {
    padding: .72rem .85rem;
    border-radius: 8px;
    color: var(--icotom-ink);
    font-size: .86rem;
    font-weight: 700;
}

.ftco-navbar-light .navbar-nav > .nav-item .dropdown-menu .dropdown-item:hover,
.ftco-navbar-light .navbar-nav > .nav-item .dropdown-menu .dropdown-item:focus,
.ftco-navbar-light .navbar-nav > .nav-item .dropdown-menu .dropdown-item.active {
    background: var(--icotom-soft);
    color: var(--icotom-blue) !important;
}

/* Compact inner-page header */
.inner-page .ftco-section {
    position: relative;
}

.inner-hero {
    position: relative;
    overflow: hidden;
    min-height: 230px;
    display: flex;
    align-items: center;
    padding: 52px 0 46px;
    background:
        linear-gradient(118deg, rgba(0,43,98,.99) 0%, rgba(0,76,171,.96) 62%, rgba(8,121,201,.92) 100%);
    isolation: isolate;
}

.inner-hero::after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    height: 6px;
    background: linear-gradient(90deg,
        var(--icotom-blue) 0 28%,
        var(--icotom-green) 28% 48%,
        var(--icotom-yellow) 48% 68%,
        var(--icotom-red) 68% 77%,
        var(--icotom-cyan) 77% 100%);
}

.inner-hero-decoration {
    position: absolute;
    border-radius: 50%;
    border: 1px solid rgba(255,255,255,.12);
    pointer-events: none;
}

.inner-hero-decoration-one {
    width: 360px;
    height: 360px;
    right: 6%;
    top: -210px;
    box-shadow: 0 0 0 55px rgba(255,255,255,.025), 0 0 0 110px rgba(255,255,255,.018);
}

.inner-hero-decoration-two {
    width: 140px;
    height: 140px;
    right: 28%;
    bottom: -90px;
    background: rgba(116,211,3,.08);
}

.inner-hero-eyebrow {
    display: inline-block;
    margin-bottom: .4rem;
    color: rgba(255,255,255,.68);
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.inner-hero h1 {
    max-width: 850px;
    margin-bottom: .8rem;
    color: #fff !important;
    font-family: 'Barlow Condensed', sans-serif;
    font-size: clamp(2.6rem, 5vw, 4.35rem);
    font-weight: 700;
    line-height: .95;
    text-transform: uppercase;
}

.inner-breadcrumb,
.inner-breadcrumb li {
    color: rgba(255,255,255,.6) !important;
    font-size: .8rem;
    font-weight: 600;
}

.inner-breadcrumb a {
    color: #fff;
}

.inner-breadcrumb a:hover {
    color: var(--icotom-lime);
}

.inner-breadcrumb .breadcrumb-item + .breadcrumb-item::before {
    color: rgba(255,255,255,.42);
}

.inner-breadcrumb .breadcrumb-item.active {
    color: rgba(255,255,255,.62) !important;
}

.inner-content-section {
    background: linear-gradient(180deg, #fff 0%, var(--icotom-soft) 100%);
}

.content-card {
    padding: clamp(28px, 5vw, 58px);
    border: 1px solid var(--icotom-line);
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 18px 55px rgba(0,43,98,.08);
}

.content-card-heading {
    display: flex;
    align-items: center;
    gap: 18px;
    margin-bottom: 2.5rem;
    padding-bottom: 1.6rem;
    border-bottom: 1px solid var(--icotom-line);
}

.content-card-heading h2 {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: clamp(2rem, 4vw, 3rem);
    text-transform: uppercase;
}

.content-icon {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 58px;
    border-radius: 18px;
    background: linear-gradient(145deg, var(--icotom-blue-deep), var(--icotom-blue));
    color: #fff;
    font-size: 1.45rem;
    box-shadow: 0 12px 28px rgba(0,76,171,.18);
}

/* Committee */
.committee-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.committee-member {
    position: relative;
    min-height: 132px;
    padding: 23px 22px 21px 26px;
    overflow: hidden;
    border: 1px solid var(--icotom-line);
    border-radius: 16px;
    background: var(--icotom-soft);
}

.committee-member::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 5px;
    background: linear-gradient(180deg, var(--icotom-green), var(--icotom-yellow));
}

.committee-member h3 {
    margin-bottom: .45rem;
    color: var(--icotom-blue-deep) !important;
    font-size: 1.05rem;
    font-weight: 800;
    line-height: 1.35;
}

.committee-member p {
    margin: 0;
    color: var(--icotom-muted);
    font-size: .88rem;
    line-height: 1.55;
    text-align: left !important;
}

/* Brazil visa */
.visa-content > p,
.visa-content li {
    color: #34485b;
    text-align: left !important;
}

.visa-content > h3 {
    margin: 2.6rem 0 1.2rem;
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 1.9rem;
    text-transform: uppercase;
}

.visa-content > h4 {
    margin: 2rem 0 1rem;
    font-size: 1.15rem;
    font-weight: 800;
}

.visa-info-block {
    display: grid;
    grid-template-columns: 46px 1fr;
    gap: 18px;
    margin: 1rem 0;
    padding: 22px;
    border: 1px solid var(--icotom-line);
    border-radius: 16px;
    background: var(--icotom-soft);
}

.visa-step {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: var(--icotom-blue);
    color: #fff;
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 1.35rem;
    font-weight: 700;
}

.visa-info-block h4 {
    margin-bottom: .5rem;
    font-size: 1.1rem;
    font-weight: 800;
}

.check-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 0;
    padding-left: 0;
    list-style: none;
}

.check-list li {
    padding: .48rem .75rem;
    border-radius: 999px;
    background: rgba(0,76,171,.08);
    color: var(--icotom-blue-deep);
    font-size: .85rem;
    font-weight: 800;
}

.check-list li::before {
    content: "✓";
    margin-right: .4rem;
    color: var(--icotom-green);
}

.requirements-list li {
    margin-bottom: .7rem;
}

.visa-notice {
    display: flex;
    gap: 18px;
    margin: 2.6rem 0 1.4rem;
    padding: 24px;
    border-radius: 18px;
    background: linear-gradient(135deg, var(--icotom-blue-deep), var(--icotom-blue));
}

.visa-notice .content-icon {
    width: 48px;
    height: 48px;
    background: rgba(255,255,255,.14);
    box-shadow: none;
}

.visa-notice h3,
.visa-notice li,
.visa-notice strong {
    color: #fff !important;
}

.visa-notice h3 {
    margin: 0 0 .7rem;
    font-size: 1.35rem;
}

.visa-notice ul {
    padding-left: 1.2rem;
}

.visa-disclaimer {
    padding: 16px 18px;
    border-left: 4px solid var(--icotom-yellow);
    background: #fff9d9;
    color: #5b4b00 !important;
    font-size: .86rem;
    text-align: left !important;
}

@media (min-width: 1200px) {
    .navbar .dropdown:hover > .dropdown-menu {
        display: block;
    }
}

@media (max-width: 1199.98px) {
    .ftco-navbar-light .navbar-nav > .nav-item .dropdown-menu {
        border-top: 0;
        border-radius: 8px;
        box-shadow: none;
    }
}

@media (max-width: 991.98px) {
    .summary-heading-sticky {
        position: static;
    }

    .summary-content {
        padding-left: 0;
    }

    .inner-hero {
        min-height: 190px;
        padding: 38px 0 34px;
    }

    .inner-page #ctaButton {
        display: none !important;
    }
}

@media (max-width: 767.98px) {
    .summary-stats,
    .committee-list {
        grid-template-columns: 1fr;
    }

    .summary-highlight {
        max-width: none;
    }

    .content-card {
        border-radius: 18px;
    }

    .content-card-heading {
        align-items: flex-start;
    }

    .visa-info-block {
        grid-template-columns: 1fr;
    }

    .visa-notice {
        flex-direction: column;
    }
}


/* Final stacking fix: keep sticky navigation and dropdowns above the home CTA.
   jquery.sticky wraps .ftco-section in .sticky-wrapper, so the wrapper itself
   must participate in the highest stacking context. */
.sticky-wrapper,
.sticky-wrapper.is-sticky {
    position: relative !important;
    z-index: 10000 !important;
    overflow: visible !important;
}

.sticky-wrapper .ftco-section,
.ftco-section.js-sticky-header,
.ftco-navbar-light,
.ftco-navbar-light .navbar-collapse,
.ftco-navbar-light .navbar-nav,
.ftco-navbar-light .nav-item.dropdown {
    position: relative;
    z-index: 10010 !important;
    overflow: visible !important;
}

.ftco-navbar-light .dropdown-menu,
.ftco-navbar-light .dropdown-menu.show {
    position: absolute;
    z-index: 10050 !important;
}

#ctaButton {
    z-index: 20 !important;
}

/* ICOTOM destination imagery */
.icotom-hero-credit {
    position: absolute;
    right: 24px;
    bottom: 18px;
    z-index: 4;
    max-width: calc(100% - 48px);
    padding: 5px 9px;
    border-radius: 4px;
    background: rgba(0, 48, 75, .48);
    color: rgba(255, 255, 255, .86);
    font-size: 10px;
    font-weight: 500;
    line-height: 1.3;
    letter-spacing: .02em;
    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);
}

.destination-section {
    position: relative;
    overflow: hidden;
    background: #fff;
}

.destination-section::before {
    content: "";
    position: absolute;
    width: 440px;
    height: 440px;
    right: -220px;
    top: 60px;
    border-radius: 50%;
    background: rgba(101, 170, 211, .08);
    pointer-events: none;
}

.destination-title {
    margin: .35rem 0 0;
    color: var(--icomf-navy);
    font-family: "Barlow Condensed", sans-serif;
    font-size: clamp(3rem, 6vw, 5.4rem);
    font-weight: 700;
    line-height: .92;
    letter-spacing: -.025em;
}

.destination-lead {
    color: var(--icomf-text);
    font-size: 1.06rem;
    line-height: 1.75;
}

.destination-mosaic {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    grid-template-rows: 275px 275px;
    gap: 18px;
}

.destination-photo {
    position: relative;
    overflow: hidden;
    border-radius: 18px;
    background: var(--icomf-soft);
    box-shadow: 0 18px 45px rgba(4, 31, 53, .10);
}

.destination-photo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .7s cubic-bezier(.2,.7,.2,1);
}

.destination-photo:hover img {
    transform: scale(1.025);
}

.destination-photo-main {
    grid-column: 1 / span 7;
    grid-row: 1 / span 2;
}

.destination-photo-bird {
    grid-column: 8 / span 5;
    grid-row: 1;
}

.destination-photo-portrait-one {
    grid-column: 8 / span 2;
    grid-row: 2;
}

.destination-photo-portrait-two {
    grid-column: 10 / span 3;
    grid-row: 2;
}

.destination-photo-main img {
    object-position: center center;
}

.destination-photo-bird img {
    object-position: center 43%;
}

.destination-photo-portrait-one img,
.destination-photo-portrait-two img {
    object-position: center center;
}

.destination-media-credit {
    margin-top: 12px;
    color: #6f7d88;
    font-size: .72rem;
    line-height: 1.45;
    text-align: right;
}

@media (max-width: 991.98px) {
    .destination-mosaic {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-rows: 360px 240px 360px;
        gap: 12px;
    }

    .destination-photo-main {
        grid-column: 1 / -1;
        grid-row: 1;
    }

    .destination-photo-bird {
        grid-column: 1 / -1;
        grid-row: 2;
    }

    .destination-photo-portrait-one {
        grid-column: 1;
        grid-row: 3;
    }

    .destination-photo-portrait-two {
        grid-column: 2;
        grid-row: 3;
    }
}

@media (max-width: 575.98px) {
    .icotom-hero-credit {
        right: 10px;
        bottom: 8px;
        max-width: calc(100% - 20px);
        font-size: 8px;
        text-align: right;
    }

    .destination-title {
        font-size: 3.5rem;
    }

    .destination-mosaic {
        display: block;
    }

    .destination-photo {
        height: 260px;
        margin-bottom: 12px !important;
        border-radius: 14px;
    }

    .destination-photo-main {
        height: 300px;
    }

    .destination-photo-portrait-one,
    .destination-photo-portrait-two {
        height: 380px;
    }

    .destination-media-credit {
        text-align: left;
    }
}


/* v11 — Keep homepage sections in the normal document flow below the video hero. */
.home-page .icotom-hero {
    display: block;
    position: relative;
    z-index: 1;
    margin: 0;
}

.home-page #section_about {
    display: block;
    position: relative;
    z-index: 2;
    clear: both;
    margin: 0 !important;
    transform: none !important;
}


/* v12 — content from ICOTOM information documents */
.committee-role{display:inline-block;margin-left:.5rem;padding:.2rem .55rem;border-radius:999px;background:var(--icomf-blue);color:#fff;font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;vertical-align:middle}.committee-bios{display:grid;gap:1.25rem}.committee-bio{padding:1.5rem;border:1px solid rgba(0,76,171,.12);border-radius:16px;background:#fff}.committee-bio h3{margin-bottom:.25rem}.committee-affiliation{font-weight:700;color:var(--icomf-blue);margin-bottom:.9rem}.registration-table thead th{background:var(--icomf-blue);color:#fff;border:0;padding:1rem}.registration-table thead small{font-weight:400;opacity:.85}.registration-table tbody th,.registration-table tbody td{padding:1rem;border-color:#e8edf2}.important-dates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.important-dates>div{padding:1.25rem;border-radius:14px;background:#fff;border-left:4px solid var(--icomf-blue);box-shadow:0 8px 24px rgba(4,31,53,.06)}.important-dates strong,.important-dates span{display:block}.important-dates strong{color:var(--icomf-blue);font-size:1.05rem}.important-dates span{margin-top:.25rem;color:var(--icomf-text)}.venue-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.venue-gallery-item{margin:0;overflow:hidden;border-radius:16px;background:#fff;box-shadow:0 12px 30px rgba(4,31,53,.08)}.venue-gallery-item img{width:100%;height:330px;object-fit:cover;display:block;cursor:zoom-in}.venue-gallery-item figcaption{padding:.8rem 1rem;font-weight:600;color:var(--icomf-text)}@media(max-width:767.98px){.important-dates,.venue-gallery{grid-template-columns:1fr}.venue-gallery-item img{height:260px}}

/* Foz do Iguaçu photo gallery */
.foz-gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:240px;gap:14px}.foz-gallery-item{position:relative;margin:0;overflow:hidden;border-radius:16px;background:#eaf1f8;box-shadow:0 10px 28px rgba(4,31,53,.08)}.foz-gallery-item.foz-gallery-featured{grid-column:span 2;grid-row:span 2}.foz-gallery-item img{width:100%;height:100%;object-fit:cover;display:block;cursor:zoom-in;transition:transform .45s ease}.foz-gallery-item:hover img{transform:scale(1.035)}.foz-gallery-item figcaption{position:absolute;left:0;right:0;bottom:0;padding:2.5rem 1rem .85rem;color:#fff;font-size:.82rem;font-weight:700;letter-spacing:.02em;background:linear-gradient(transparent,rgba(0,35,75,.78));pointer-events:none}.footer-organizer{display:flex;align-items:center;gap:14px}.footer-organizer span{color:rgba(255,255,255,.72);font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;font-weight:700}.footer-organizer img{display:block;width:170px;max-height:58px;object-fit:contain}.site-footer-top{overflow:hidden}@media(max-width:991.98px){.foz-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:220px}}@media(max-width:575.98px){.foz-gallery-grid{grid-template-columns:1fr;grid-auto-rows:250px}.foz-gallery-item.foz-gallery-featured{grid-column:span 1;grid-row:span 1}.footer-organizer{width:100%;justify-content:flex-start}.footer-organizer img{width:145px}}


/* v14: gallery modal above sticky navigation */
#imgModal{z-index:20000 !important;}
#imgModal .img-close{position:fixed;top:18px;right:28px;z-index:20002;line-height:1;cursor:pointer;text-shadow:0 2px 10px rgba(0,0,0,.45);}
#imgModal .modal-wrapper{position:relative;z-index:20001;padding-top:28px;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;}
#imgModal .img-modal-content{max-height:calc(100vh - 110px);max-width:min(92vw,1400px);width:auto;object-fit:contain;}
#imgModal #img-caption{flex:0 0 auto;}

/* Institutional support */
.support-section{background:#fff;}
.support-card{padding:2.5rem 1.5rem;border:1px solid rgba(0,76,171,.10);border-radius:20px;box-shadow:0 12px 35px rgba(4,31,53,.06);}
.support-logo-sbpmat{display:block;width:min(440px,80vw);height:auto;margin:0 auto;}
