﻿:root {
    --primary: #75b0d2;
    --primary-80: rgba(117, 176, 210, .8);
    --secondary: #ed486b;
    --third: #9e9fa1;
}

.drop-shadow {
    filter: drop-shadow(3px 3px 3px rgba(120, 120, 120, .7));
}

.bg-primary {
    background-color: var(--primary) !important;
}

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

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

body {
    font-family: "Open Sans", sans-serif;
    color: #444444;
    overflow-x: hidden;
}

.fit-contain {
    object-fit: contain;
}

.fit-cover {
    object-fit: cover;
}

.top-0 {
    top: 0;
} 

.left-0 {
    left: 0;
}

a {
    color: var(--primary);
    text-decoration: none;
}

    a:hover {
        color: #3291e6;
        text-decoration: none;
    }

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: "Open Sans", sans-serif;
}

/* ==========================================================
   VENUE
   ========================================================== */

.resp26-venue {
    --venue-navy: #08294e;
    --venue-blue: #0b8dcc;
    --venue-red: #ef3f5d;
    --venue-muted: #688295;
    position: relative;
    padding: 95px 0 105px;
    overflow: hidden;
    background: radial-gradient( circle at 85% 20%, rgba(43, 165, 220, .08), transparent 30% ), #ffffff;
}


/* ==========================================================
   HEADING
   ========================================================== */

.resp26-venue__heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 30px;
    margin-bottom: 42px;
}


    .resp26-venue__heading h2 {
        margin: 0;
        color: var(--venue-navy);
        font-size: clamp(36px, 4vw, 54px);
        font-weight: 800;
        line-height: 1.05;
        letter-spacing: -.045em;
    }


    .resp26-venue__heading p {
        max-width: 600px;
        margin: 13px 0 0;
        color: var(--venue-muted);
        font-size: 14px;
        line-height: 1.65;
    }


.resp26-venue__heading-icon {
    width: 60px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border: 1px solid rgba(11,141,204,.11);
    border-radius: 18px;
    color: var(--venue-red);
    font-size: 22px;
    background: #fff;
    box-shadow: 0 12px 35px rgba(24,83,118,.08);
}


/* ==========================================================
   CARD
   ========================================================== */

.resp26-venue__card {
    display: grid;
    grid-template-columns: minmax(0, 1.3fr) minmax(380px, .7fr);
    min-height: 510px;
    border: 1px solid rgba(13, 105, 158, .10);
    border-radius: 28px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 25px 70px rgba(19, 73, 105, .10);
}


/* ==========================================================
   MAP
   ========================================================== */

.resp26-venue__map {
    position: relative;
    min-height: 510px;
    overflow: hidden;
    background: #eaf5fa;
}


    .resp26-venue__map iframe {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        border: 0;
        filter: saturate(.85) contrast(.96);
    }


/* location badge */

.resp26-venue__map-badge {
    position: absolute;
    left: 22px;
    bottom: 22px;
    z-index: 2;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 15px;
    border: 1px solid rgba(255,255,255,.65);
    border-radius: 30px;
    color: var(--venue-navy);
    font-size: 11px;
    font-weight: 700;
    background: rgba(255,255,255,.88);
    box-shadow: 0 10px 30px rgba(18,72,103,.13);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}


.resp26-venue__map-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--venue-red);
    box-shadow: 0 0 0 5px rgba(239,63,93,.12);
}


/* ==========================================================
   INFO
   ========================================================== */

.resp26-venue__info {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(35px, 4vw, 58px);
    background: radial-gradient( circle at 100% 0%, rgba(45,171,225,.10), transparent 35% ), linear-gradient( 145deg, #f8fcfe, #ffffff );
}


    /* subtle decor */

    .resp26-venue__info::after {
        content: "";
        position: absolute;
        right: -90px;
        bottom: -100px;
        width: 250px;
        height: 250px;
        border: 1px solid rgba(11,141,204,.06);
        border-radius: 50%;
    }


/* ==========================================================
   EYEBROW
   ========================================================== */

.resp26-venue__eyebrow {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 17px;
    color: var(--venue-blue);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}


    .resp26-venue__eyebrow span {
        width: 24px;
        height: 2px;
        border-radius: 10px;
        background: var(--venue-red);
    }


/* ==========================================================
   HOTEL TITLE
   ========================================================== */

.resp26-venue__info h3 {
    margin: 0;
    color: var(--venue-navy);
    font-size: clamp(33px, 3.1vw, 47px);
    font-weight: 800;
    line-height: .98;
    letter-spacing: -.045em;
}


    .resp26-venue__info h3 small {
        display: block;
        margin-top: 8px;
        color: #53778e;
        font-size: 17px;
        font-weight: 500;
        letter-spacing: -.01em;
    }


/* ==========================================================
   DESCRIPTION
   ========================================================== */

.resp26-venue__description {
    max-width: 430px;
    margin: 22px 0 0;
    color: var(--venue-muted);
    font-size: 12px;
    line-height: 1.65;
}


/* ==========================================================
   DETAILS
   ========================================================== */

.resp26-venue__details {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-top: 30px;
    padding-top: 25px;
    border-top: 1px solid rgba(15,108,160,.09);
}


.resp26-venue__detail {
    display: flex;
    align-items: center;
    gap: 13px;
}


.resp26-venue__detail-icon {
    width: 43px;
    height: 43px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border: 1px solid rgba(11,141,204,.09);
    border-radius: 13px;
    color: var(--venue-red);
    font-size: 14px;
    background: rgba(235,248,254,.75);
}


.resp26-venue__detail small {
    display: block;
    margin-bottom: 2px;
    color: #91a2ad;
    font-size: 9px;
}


.resp26-venue__detail strong {
    display: block;
    color: var(--venue-navy);
    font-size: 13px;
    font-weight: 700;
}


.resp26-venue__detail span {
    display: block;
    margin-top: 1px;
    color: #78909f;
    font-size: 10px;
}


/* ==========================================================
   ACTION
   ========================================================== */

.resp26-venue__actions {
    position: relative;
    z-index: 2;
    margin-top: 31px;
}


.resp26-venue__route {
    min-height: 50px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 0 21px;
    border-radius: 13px;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    text-decoration: none;
    background: linear-gradient( 135deg, #f34b69, #e92d50 );
    box-shadow: 0 12px 30px rgba(234,46,80,.20);
    transition: transform .25s ease, box-shadow .25s ease;
}


    .resp26-venue__route:hover {
        color: #fff;
        transform: translateY(-2px);
        box-shadow: 0 17px 36px rgba(234,46,80,.29);
    }


    .resp26-venue__route i:last-child {
        font-size: 8px;
        opacity: .7;
    }


/* ==========================================================
   TABLET
   ========================================================== */

@media (max-width: 991.98px) {

    .resp26-venue {
        padding: 70px 0 80px;
    }


    .resp26-venue__heading-icon {
        display: none;
    }


    .resp26-venue__card {
        grid-template-columns: 1fr;
        min-height: 0;
    }


    .resp26-venue__map {
        min-height: 420px;
    }


    .resp26-venue__info {
        padding: 38px;
    }
}


/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 767.98px) {

    .resp26-venue {
        padding: 55px 0 65px;
    }


    .resp26-venue__heading {
        margin-bottom: 27px;
    }


        .resp26-venue__heading h2 {
            font-size: 34px;
        }


        .resp26-venue__heading p {
            font-size: 12px;
        }


    .resp26-venue__card {
        border-radius: 20px;
    }


    .resp26-venue__map {
        min-height: 330px;
    }


    .resp26-venue__map-badge {
        left: 15px;
        bottom: 15px;
    }


    .resp26-venue__info {
        padding: 30px 23px;
    }


        .resp26-venue__info h3 {
            font-size: 34px;
        }


            .resp26-venue__info h3 small {
                font-size: 14px;
            }


    .resp26-venue__description {
        font-size: 11px;
    }


    .resp26-venue__route {
        width: 100%;
    }
}


/* ==========================================================
   SMALL MOBILE
   ========================================================== */

@media (max-width: 480px) {

    .resp26-venue__map {
        min-height: 280px;
    }


    .resp26-venue__info {
        padding: 27px 20px;
    }
}

#preloader {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 9999;
    overflow: hidden;
    background: #fff;
}

    #preloader:before {
        content: "";
        position: fixed;
        top: calc(50% - 30px);
        left: calc(50% - 30px);
        border: 6px solid var(--primary);
        border-top-color: #d1e6f9;
        border-radius: 50%;
        width: 60px;
        height: 60px;
        animation: animate-preloader 1s linear infinite;
    }

@keyframes animate-preloader {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

/* ==========================================================
   PROGRAM
   ========================================================== */

.resp26-program {
    --program-navy: #08294e;
    --program-blue: #0b8dcc;
    --program-red: #ef3f5d;
    --program-light: #f2f9fd;
    --program-border: #dcebf3;
    position: relative;
    padding: 90px 0 100px;
    overflow: hidden;
    background: radial-gradient( circle at 90% 15%, rgba(54, 170, 225, .09), transparent 30% ), linear-gradient( 180deg, #ffffff 0%, #f7fbfd 100% );
}


/* ==========================================================
   HEADING
   ========================================================== */

.resp26-program__heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 30px;
    margin-bottom: 38px;
}


.resp26-section-label {
    display: block;
    margin-bottom: 8px;
    color: var(--program-red);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}


.resp26-program__heading h2 {
    margin: 0;
    color: var(--program-navy);
    font-size: clamp(36px, 4vw, 54px);
    font-weight: 800;
    letter-spacing: -.045em;
}


.resp26-program__heading-icon {
    width: 58px;
    height: 58px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(11, 141, 204, .12);
    border-radius: 17px;
    color: var(--program-blue);
    font-size: 23px;
    background: rgba(255,255,255,.7);
    box-shadow: 0 12px 35px rgba(25, 95, 135, .08);
}


/* ==========================================================
   TABS
   ========================================================== */

.resp26-program__tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 0 0 30px;
    padding: 0;
    border: 0;
}


    .resp26-program__tabs .nav-item {
        margin: 0;
    }


    .resp26-program__tabs .nav-link {
        min-width: 155px;
        display: flex;
        align-items: flex-start;
        flex-direction: column;
        gap: 3px;
        padding: 13px 20px;
        border: 1px solid var(--program-border) !important;
        border-radius: 14px !important;
        color: #547389;
        background: rgba(255,255,255,.72);
        transition: color .25s ease, background .25s ease, border-color .25s ease, transform .25s ease, box-shadow .25s ease;
    }


.resp26-program__tab-title {
    color: var(--program-navy);
    font-size: 13px;
    font-weight: 700;
}


.resp26-program__tabs .nav-link small {
    font-size: 10px;
    opacity: .7;
}


.resp26-program__tabs .nav-link:hover {
    transform: translateY(-2px);
    border-color: rgba(239, 63, 93, .25) !important;
    box-shadow: 0 10px 30px rgba(20, 80, 120, .07);
}


.resp26-program__tabs .nav-link.active {
    color: #fff;
    border-color: var(--program-red) !important;
    background: linear-gradient( 135deg, #f34c69, #e92d50 );
    box-shadow: 0 12px 30px rgba(234, 46, 80, .22);
}


    .resp26-program__tabs .nav-link.active
    .resp26-program__tab-title {
        color: #fff;
    }


/* ==========================================================
   CONTENT CARD
   ========================================================== */

.resp26-program__content {
    position: relative;
    border: 1px solid rgba(13, 113, 169, .10);
    border-radius: 25px;
    background: rgba(255,255,255,.85);
    box-shadow: 0 22px 65px rgba(25, 79, 112, .08);
    overflow: hidden;
}


/* ==========================================================
   DAY HEADER
   ========================================================== */

.resp26-program__day-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 25px;
    padding: 24px 30px;
    border-bottom: 1px solid rgba(13, 113, 169, .09);
    background: linear-gradient( 90deg, rgba(223,244,254,.65), rgba(255,255,255,.65) );
}


.resp26-program__date {
    display: flex;
    align-items: center;
    gap: 13px;
}


.resp26-program__date-icon {
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 13px;
    color: #fff;
    background: linear-gradient( 135deg, #1ca5e0, #087ab9 );
    box-shadow: 0 9px 25px rgba(12, 131, 191, .19);
}


.resp26-program__date small {
    display: block;
    margin-bottom: 2px;
    color: #738d9f;
    font-size: 9px;
}


.resp26-program__date strong {
    display: block;
    color: var(--program-navy);
    font-size: 16px;
    font-weight: 700;
}


.resp26-program__venue {
    display: flex;
    align-items: center;
    gap: 9px;
    color: #527187;
    font-size: 12px;
    font-weight: 600;
    text-decoration: none;
}


    .resp26-program__venue i {
        color: var(--program-red);
    }


    .resp26-program__venue:hover {
        color: var(--program-red);
    }


/* ==========================================================
   SECTION TITLE
   ========================================================== */

.resp26-program__section {
    position: relative;
    padding: 30px 30px 17px;
}


    .resp26-program__section span {
        display: block;
        width: 34px;
        height: 3px;
        margin-bottom: 10px;
        border-radius: 5px;
        background: linear-gradient( 90deg, var(--program-red), #ff8699 );
    }


    .resp26-program__section h3 {
        margin: 0;
        color: var(--program-navy);
        font-size: clamp(18px, 2vw, 23px);
        font-weight: 700;
        line-height: 1.35;
    }


/* ==========================================================
   MODERATORS
   ========================================================== */

.resp26-program__moderators {
    margin: 8px 30px 20px;
    display: grid;
    grid-template-columns: 160px 1fr;
    gap: 25px;
    padding: 18px;
    border: 1px solid rgba(15, 142, 201, .09);
    border-radius: 16px;
    background: linear-gradient( 135deg, rgba(231,247,254,.72), rgba(255,255,255,.7) );
}


.resp26-program__moderators-label {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    padding-top: 6px;
    color: var(--program-blue);
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
}


.resp26-program__moderators-list {
    display: flex;
    flex-wrap: wrap;
    gap: 18px 30px;
}


.resp26-program__person {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 240px;
}


.resp26-program__avatar {
    width: 50px;
    height: 50px;
    flex-shrink: 0;
    border-radius: 50%;
    overflow: hidden;
    background: #e7f2f8;
}


    .resp26-program__avatar img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }


.resp26-program__person-info strong {
    display: block;
    color: var(--program-navy);
    font-size: 13px;
    font-weight: 700;
}


.resp26-program__person-info p {
    max-width: 440px;
    margin: 3px 0 0;
    color: #698396;
    font-size: 10px;
    line-height: 1.4;
}


/* ==========================================================
   PROGRAM ITEM
   ========================================================== */

.resp26-program__item {
    position: relative;
    display: grid;
    grid-template-columns: 155px 1fr;
    min-height: 125px;
    margin: 0 30px;
    border-top: 1px solid rgba(20, 94, 137, .09);
    transition: background .25s ease, transform .25s ease;
}


    .resp26-program__item:hover {
        background: linear-gradient( 90deg, rgba(238,249,254,.65), rgba(255,255,255,0) );
    }


/* ==========================================================
   TIME
   ========================================================== */

.resp26-program__time {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 27px 20px 25px 0;
}


    .resp26-program__time::after {
        content: "";
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        width: 1px;
        background: rgba(17, 122, 178, .09);
    }


.resp26-program__time-icon {
    width: 29px;
    height: 29px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border-radius: 9px;
    color: var(--program-red);
    font-size: 11px;
    background: rgba(239,63,93,.08);
}


.resp26-program__time time {
    padding-top: 3px;
    color: var(--program-navy);
    font-size: 13px;
    font-weight: 800;
    white-space: nowrap;
}


    .resp26-program__time time span,
    .resp26-program__time time small {
        display: block;
    }


    .resp26-program__time time small {
        margin: 1px 0;
        color: #9aadb9;
        font-size: 9px;
        text-align: center;
    }


/* ==========================================================
   LECTURE
   ========================================================== */

.resp26-program__item-content {
    padding: 24px 0 24px 28px;
}


    .resp26-program__item-content h4 {
        max-width: 950px;
        margin: 0;
        color: var(--program-navy);
        font-size: 16px;
        font-weight: 700;
        line-height: 1.45;
    }


.resp26-program__subtitle {
    margin-top: 7px;
    color: #638095;
    font-size: 12px;
    line-height: 1.45;
}


/* ==========================================================
   SPEAKERS
   ========================================================== */

.resp26-program__speakers {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 30px;
    margin-top: 17px;
}


.resp26-program__speaker {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 230px;
}


.resp26-program__speaker-photo {
    width: 42px;
    height: 42px;
    flex-shrink: 0;
    border: 2px solid #fff;
    border-radius: 50%;
    overflow: hidden;
    background: #eaf2f6;
    box-shadow: 0 4px 13px rgba(21, 74, 105, .12);
}


    .resp26-program__speaker-photo img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }


.resp26-program__speaker strong {
    display: block;
    color: #254e69;
    font-size: 12px;
    font-weight: 700;
}


.resp26-program__speaker p {
    max-width: 440px;
    margin: 2px 0 0;
    color: #8094a3;
    font-size: 9px;
    line-height: 1.4;
}


/* ==========================================================
   TABLET
   ========================================================== */

@media (max-width: 991.98px) {

    .resp26-program {
        padding: 70px 0;
    }


    .resp26-program__heading-icon {
        display: none;
    }


    .resp26-program__moderators {
        grid-template-columns: 1fr;
    }


    .resp26-program__item {
        grid-template-columns: 125px 1fr;
    }
}


/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 767.98px) {

    .resp26-program {
        padding: 55px 0 65px;
    }


    .resp26-program__heading {
        margin-bottom: 25px;
    }


        .resp26-program__heading h2 {
            font-size: 34px;
        }


    /* horizontal swipe tabs */

    .resp26-program__tabs {
        flex-wrap: nowrap;
        margin-left: -12px;
        margin-right: -12px;
        padding: 3px 12px 10px;
        overflow-x: auto;
        scrollbar-width: none;
    }


        .resp26-program__tabs::-webkit-scrollbar {
            display: none;
        }


        .resp26-program__tabs .nav-link {
            min-width: 140px;
            padding: 11px 15px;
        }


    .resp26-program__content {
        border-radius: 20px;
    }


    .resp26-program__day-header {
        align-items: flex-start;
        flex-direction: column;
        gap: 13px;
        padding: 20px;
    }


    .resp26-program__section {
        padding: 25px 20px 14px;
    }


        .resp26-program__section h3 {
            font-size: 18px;
        }


    .resp26-program__moderators {
        margin: 5px 15px 15px;
        padding: 15px;
    }


    .resp26-program__moderators-list {
        flex-direction: column;
        gap: 15px;
    }


    .resp26-program__person {
        min-width: 0;
    }


    /* lecture card */

    .resp26-program__item {
        display: block;
        min-height: 0;
        margin: 0 15px;
        padding: 20px 5px;
    }


    .resp26-program__time {
        align-items: center;
        padding: 0 0 11px;
    }


        .resp26-program__time::after {
            display: none;
        }


        .resp26-program__time time {
            display: flex;
            align-items: center;
            gap: 5px;
        }


            .resp26-program__time time span,
            .resp26-program__time time small {
                display: inline;
            }


    .resp26-program__item-content {
        padding: 0;
    }


        .resp26-program__item-content h4 {
            font-size: 15px;
        }


    .resp26-program__speakers {
        flex-direction: column;
        gap: 13px;
        margin-top: 15px;
    }


    .resp26-program__speaker {
        min-width: 0;
    }
}

#supporters {
    padding: 60px 0;
}

    #supporters .supporters-wrap {
        margin-bottom: 30px;
    }

    #supporters .supporter-logo {
        padding: 30px;
        display: flex;
        justify-content: center;
        align-items: center;
        overflow: hidden;
        background: rgba(255, 255, 255, 0.5);
        min-height: 160px;
    }

        #supporters .supporter-logo:hover img {
            transform: scale(1.2);
        }

    #supporters img {
        transition: all 0.4s ease-in-out;
    }
/*--------------------------------------------------------------
# Back to top button
--------------------------------------------------------------*/
.back-to-top {
    position: fixed;
    visibility: hidden;
    opacity: 0;
    right: 15px;
    bottom: 15px;
    z-index: 996;
    background: var(--primary);
    width: 40px;
    height: 40px;
    border-radius: 4px;
    transition: all 0.4s;
}

    .back-to-top i {
        font-size: 28px;
        color: #fff;
        line-height: 0;
    }

    .back-to-top:hover {
        background: #298ce5;
        color: #fff;
    }

    .back-to-top.active {
        visibility: visible;
        opacity: 1;
    }

.datepicker-dropdown {
    padding: 20px !important;
}

/*--------------------------------------------------------------
# Top Bar
--------------------------------------------------------------*/
#topbar {
    background: #fff;
    height: 40px;
    font-size: 14px;
    transition: all 0.5s;
    z-index: 996;
}

    #topbar.topbar-scrolled {
        top: -40px;
    }

    #topbar .contact-info a {
        line-height: 1;
        color: #444444;
        transition: 0.3s;
    }

        #topbar .contact-info a:hover {
            color: var(--primary);
        }

    #topbar .contact-info i {
        color: var(--primary);
        padding-right: 4px;
        margin-left: 15px;
        line-height: 0;
    }

        #topbar .contact-info i:first-child {
            margin-left: 0;
        }

    #topbar .social-links a {
        color: #437099;
        padding-left: 15px;
        display: inline-block;
        line-height: 1px;
        transition: 0.3s;
    }

        #topbar .social-links a:hover {
            color: var(--primary);
        }

        #topbar .social-links a:first-child {
            border-left: 0;
        }
/* =========================================================
   HEADER
   ========================================================= */

.resp26-header {
    --header-navy: #08294e;
    --header-blue: #087fc1;
    --header-red: #ef3f5d;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1000;
    width: 100%;
    transition: background .3s ease, box-shadow .3s ease, backdrop-filter .3s ease;
}


    /* subtle gradient behind header when over hero */

    .resp26-header::before {
        content: "";
        position: absolute;
        inset: 0;
        z-index: -1;
        background: linear-gradient( 180deg, rgba(255,255,255,.80) 0%, rgba(255,255,255,.38) 65%, rgba(255,255,255,0) 100% );
        transition: opacity .3s ease;
    }


    /* after scroll */

    .resp26-header.is-scrolled {
        background: rgba(255,255,255,.88);
        box-shadow: 0 8px 40px rgba(20, 69, 100, .09);
        backdrop-filter: blur(18px);
        -webkit-backdrop-filter: blur(18px);
    }


        .resp26-header.is-scrolled::before {
            opacity: 0;
        }


/* =========================================================
   CONTAINER
   ========================================================= */

.resp26-header__container {
    height: 92px;
    display: flex;
    align-items: center;
    gap: 30px;
}


/* =========================================================
   BRAND
   ========================================================= */

.resp26-header__brand {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-shrink: 0;
    color: var(--header-navy);
    text-decoration: none;
}


.resp26-header__logos {
    display: flex;
    align-items: center;
    gap: 7px;
}


.resp26-header__logo {
    width: 45px;
    height: 45px;
    object-fit: contain;
}


.resp26-header__brand-text {
    position: relative;
    padding-left: 14px;
    font-size: 10px;
    line-height: 1.25;
    text-transform: uppercase;
    letter-spacing: .06em;
}


    .resp26-header__brand-text::before {
        content: "";
        position: absolute;
        top: 2px;
        bottom: 2px;
        left: 0;
        width: 1px;
        background: rgba(8, 41, 78, .17);
    }


    .resp26-header__brand-text span,
    .resp26-header__brand-text strong {
        display: block;
    }


    .resp26-header__brand-text span {
        color: #668297;
    }


    .resp26-header__brand-text strong {
        margin-top: 2px;
        color: var(--header-navy);
        font-weight: 800;
    }


/* =========================================================
   NAVIGATION
   ========================================================= */

.resp26-header__nav {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: clamp(15px, 1.5vw, 29px);
}


.resp26-header__link {
    position: relative;
    padding: 34px 0;
    color: #244c69;
    font-size: 13px;
    font-weight: 600;
    white-space: nowrap;
    text-decoration: none;
    transition: color .2s ease;
}


    .resp26-header__link::after {
        content: "";
        position: absolute;
        left: 50%;
        bottom: 23px;
        width: 0;
        height: 2px;
        border-radius: 10px;
        background: var(--header-red);
        transform: translateX(-50%);
        transition: width .25s ease;
    }


    .resp26-header__link:hover {
        color: var(--header-red);
    }


        .resp26-header__link:hover::after,
        .resp26-header__link.active::after {
            width: 22px;
        }


/* =========================================================
   ACTIONS
   ========================================================= */

.resp26-header__actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
}


/* =========================================================
   LANGUAGE
   ========================================================= */

.resp26-language {
    position: relative;
}


.resp26-language__button {
    height: 42px;
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 0 13px;
    border: 1px solid rgba(8, 81, 125, .14);
    border-radius: 11px;
    color: var(--header-navy);
    font-size: 12px;
    font-weight: 700;
    background: rgba(255,255,255,.45);
    cursor: pointer;
}


    .resp26-language__button i {
        font-size: 8px;
        transition: transform .2s;
    }


.resp26-language__dropdown {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    width: 75px;
    padding: 6px;
    border: 1px solid rgba(8, 81, 125, .09);
    border-radius: 12px;
    opacity: 0;
    visibility: hidden;
    background: rgba(255,255,255,.96);
    box-shadow: 0 12px 35px rgba(20, 60, 90, .12);
    transform: translateY(-5px);
    transition: .2s ease;
}


.resp26-language:hover
.resp26-language__dropdown {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}


.resp26-language__dropdown a {
    display: block;
    padding: 8px;
    border-radius: 7px;
    color: var(--header-navy);
    font-size: 11px;
    font-weight: 700;
    text-align: center;
    text-decoration: none;
}


    .resp26-language__dropdown a:hover {
        color: var(--header-red);
        background: #f6fafd;
    }


/* =========================================================
   REGISTER
   ========================================================= */

.resp26-header__register {
    height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding: 0 19px;
    border-radius: 12px;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none;
    background: linear-gradient( 135deg, #f34b68, #e92d50 );
    box-shadow: 0 8px 25px rgba(235, 51, 83, .20);
    transition: transform .2s ease, box-shadow .2s ease;
}


    .resp26-header__register:hover {
        color: #fff;
        transform: translateY(-2px);
        box-shadow: 0 12px 30px rgba(235, 51, 83, .30);
    }


    .resp26-header__register i {
        font-size: 10px;
    }


/* =========================================================
   BURGER
   ========================================================= */

.resp26-header__burger {
    width: 44px;
    height: 44px;
    display: none;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 5px;
    padding: 0;
    border: 0;
    border-radius: 12px;
    background: rgba(255,255,255,.62);
    cursor: pointer;
}


    .resp26-header__burger span {
        width: 19px;
        height: 2px;
        border-radius: 5px;
        background: var(--header-navy);
        transition: .3s ease;
    }


.resp26-header.menu-open
.resp26-header__burger span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
}


.resp26-header.menu-open
.resp26-header__burger span:nth-child(2) {
    opacity: 0;
}


.resp26-header.menu-open
.resp26-header__burger span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
}


/* =========================================================
   MOBILE MENU
   ========================================================= */

.resp26-mobile-menu {
    display: none;
}


/* =========================================================
   SMALL DESKTOP
   ========================================================= */

@media (max-width: 1200px) {

    .resp26-header__brand-text {
        display: none;
    }


    .resp26-header__logo {
        width: 39px;
        height: 39px;
    }


    .resp26-header__nav {
        gap: 17px;
    }


    .resp26-header__link {
        font-size: 12px;
    }
}


/* =========================================================
   MOBILE / TABLET
   ========================================================= */

@media (max-width: 991.98px) {

    .resp26-header::before {
        background: linear-gradient( 180deg, rgba(255,255,255,.88), rgba(255,255,255,.53), rgba(255,255,255,0) );
    }


    .resp26-header__container {
        height: 76px;
        padding-left: 16px;
        padding-right: 16px;
    }


    .resp26-header__nav,
    .resp26-language,
    .resp26-header__register {
        display: none;
    }


    .resp26-header__brand {
        margin-right: auto;
    }


    .resp26-header__logo {
        width: 42px;
        height: 42px;
    }


    .resp26-header__burger {
        display: flex;
    }


    /* menu background */

    .resp26-mobile-menu {
        position: fixed;
        top: 76px;
        left: 0;
        width: 100%;
        height: calc(100dvh - 76px);
        display: block;
        opacity: 0;
        visibility: hidden;
        background: linear-gradient( 145deg, rgba(246,251,255,.98), rgba(230,245,253,.98) );
        backdrop-filter: blur(20px);
        -webkit-backdrop-filter: blur(20px);
        transform: translateY(-10px);
        transition: opacity .3s ease, visibility .3s ease, transform .3s ease;
    }


    .resp26-header.menu-open
    .resp26-mobile-menu {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
    }


    .resp26-mobile-menu__inner {
        height: 100%;
        display: flex;
        flex-direction: column;
        padding: 32px 24px 28px;
        overflow-y: auto;
    }


    .resp26-mobile-menu__nav {
        display: flex;
        flex-direction: column;
    }


        .resp26-mobile-menu__nav a {
            display: flex;
            align-items: center;
            gap: 18px;
            padding: 17px 3px;
            border-bottom: 1px solid rgba(8, 67, 105, .09);
            color: var(--header-navy);
            font-size: clamp(20px, 5vw, 26px);
            font-weight: 700;
            letter-spacing: -.025em;
            text-decoration: none;
        }


            .resp26-mobile-menu__nav a span {
                width: 25px;
                color: var(--header-red);
                font-size: 9px;
                font-weight: 800;
                letter-spacing: .08em;
            }


    .resp26-mobile-menu__register {
        min-height: 56px;
        margin-top: 30px;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 12px;
        border-radius: 15px;
        color: #fff;
        font-size: 14px;
        font-weight: 700;
        text-decoration: none;
        background: linear-gradient( 135deg, #f34a67, #e92d50 );
        box-shadow: 0 15px 35px rgba(234, 46, 79, .20);
    }


    .resp26-mobile-menu__languages {
        margin-top: auto;
        padding-top: 30px;
        display: flex;
        justify-content: center;
        gap: 9px;
    }


        .resp26-mobile-menu__languages a {
            width: 47px;
            height: 39px;
            display: flex;
            align-items: center;
            justify-content: center;
            border: 1px solid rgba(8, 67, 105, .13);
            border-radius: 10px;
            color: #53738a;
            font-size: 11px;
            font-weight: 700;
            text-decoration: none;
        }


            .resp26-mobile-menu__languages a.active {
                border-color: var(--header-red);
                color: #fff;
                background: var(--header-red);
            }
}


@media (max-width: 480px) {

    .resp26-header__logos {
        gap: 3px;
    }


    .resp26-header__logo {
        width: 35px;
        height: 35px;
    }
}

#video {
    margin-top: 60px;
}

/* ==========================================================
   RESPAT26 HERO
   ========================================================== */

.resp26-hero {
    --resp-blue: #0a7fc1;
    --resp-blue-dark: #073d6b;
    --resp-navy: #08294e;
    --resp-red: #ef3f5d;
    position: relative;
    min-height: 760px;
    height: 100svh;
    max-height: 980px;
    display: flex;
    align-items: center;
    overflow: hidden;
    background-image: url("/images/respat26/hero-bg.png");
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
}


/* ----------------------------------------------------------
   Additional light layer for text readability
   ---------------------------------------------------------- */

.resp26-hero__overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background: radial-gradient( circle at 53% 48%, rgba(255, 255, 255, 0.36) 0%, rgba(255, 255, 255, 0.12) 34%, rgba(255, 255, 255, 0) 62% );
}


/* ----------------------------------------------------------
   Container
   ---------------------------------------------------------- */

.resp26-hero__container {
    position: relative;
    z-index: 2;
    width: 100%;
}


/* ----------------------------------------------------------
   Content
   ---------------------------------------------------------- */

.resp26-hero__content {
    width: min(760px, 52vw);
    margin-left: clamp(290px, 24vw, 470px);
    padding-top: 40px;
}


/* ----------------------------------------------------------
   Eyebrow
   ---------------------------------------------------------- */

.resp26-hero__eyebrow {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 22px;
    color: #295875;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.16em;
    line-height: 1.4;
    text-transform: uppercase;
}


.resp26-hero__eyebrow-line {
    width: 36px;
    height: 2px;
    flex-shrink: 0;
    border-radius: 10px;
    background: var(--resp-red);
}


/* ----------------------------------------------------------
   Title
   ---------------------------------------------------------- */

.resp26-hero__title {
    max-width: 760px;
    margin: 0;
    color: var(--resp-navy);
    font-size: clamp(42px, 4vw, 70px);
    font-weight: 800;
    line-height: 0.99;
    letter-spacing: -0.045em;
    text-wrap: balance;
}


    .resp26-hero__title span {
        display: block;
        color: var(--resp-red);
    }


/* ----------------------------------------------------------
   Meta
   ---------------------------------------------------------- */

.resp26-hero__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 18px 42px;
    margin-top: 38px;
}


.resp26-hero__meta-item {
    display: flex;
    align-items: center;
    gap: 13px;
}


.resp26-hero__meta-icon {
    width: 46px;
    height: 46px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border: 1px solid rgba(10, 127, 193, 0.14);
    border-radius: 14px;
    color: var(--resp-red);
    font-size: 18px;
    background: rgba(255, 255, 255, 0.72);
    box-shadow: 0 8px 30px rgba(34, 95, 130, 0.09);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}


.resp26-hero__meta-item small {
    display: block;
    margin-bottom: 2px;
    color: #668399;
    font-size: 12px;
    line-height: 1.2;
}


.resp26-hero__meta-item strong {
    display: block;
    color: var(--resp-navy);
    font-size: 15px;
    font-weight: 700;
    line-height: 1.25;
}


/* ----------------------------------------------------------
   Buttons
   ---------------------------------------------------------- */

.resp26-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 34px;
}


.resp26-btn {
    min-height: 54px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 11px;
    padding: 0 26px;
    border-radius: 14px;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    transition: transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease, border-color 0.25s ease;
}


    .resp26-btn:hover {
        transform: translateY(-2px);
    }


.resp26-btn--primary {
    color: #fff;
    background: linear-gradient( 135deg, #f34866 0%, #e92d50 100% );
    box-shadow: 0 14px 35px rgba(232, 48, 82, 0.24);
}


    .resp26-btn--primary:hover {
        color: #fff;
        box-shadow: 0 18px 40px rgba(232, 48, 82, 0.34);
    }


.resp26-btn--glass {
    border: 1px solid rgba(8, 64, 104, 0.19);
    color: var(--resp-navy);
    background: rgba(255, 255, 255, 0.60);
    box-shadow: 0 10px 30px rgba(34, 95, 130, 0.07);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}


    .resp26-btn--glass:hover {
        color: var(--resp-navy);
        border-color: rgba(8, 64, 104, 0.3);
        background: rgba(255, 255, 255, 0.82);
    }


/* ----------------------------------------------------------
   Scroll
   ---------------------------------------------------------- */

.resp26-hero__scroll {
    position: absolute;
    left: 50%;
    bottom: 24px;
    z-index: 3;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    color: rgba(7, 61, 107, 0.68);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-decoration: none;
    text-transform: uppercase;
    transform: translateX(-50%);
}


.resp26-hero__scroll-icon {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(7, 61, 107, 0.16);
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.55);
    backdrop-filter: blur(10px);
    animation: resp26-scroll 2s ease-in-out infinite;
}


@keyframes resp26-scroll {

    0%, 100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(5px);
    }
}


/* ==========================================================
   DESKTOP ≤ 1400
   ========================================================== */

@media (max-width: 1400px) {

    .resp26-hero__content {
        width: min(680px, 54vw);
        margin-left: clamp(240px, 22vw, 340px);
    }


    .resp26-hero__title {
        font-size: clamp(40px, 4vw, 60px);
    }
}


/* ==========================================================
   TABLET
   ========================================================== */

@media (max-width: 991.98px) {

    .resp26-hero {
        min-height: 720px;
        background-position: 43% center;
    }


    .resp26-hero__content {
        width: 64%;
        margin-left: 24%;
    }


    .resp26-hero__title {
        font-size: clamp(38px, 5vw, 52px);
    }


    .resp26-hero__meta {
        gap: 14px;
        margin-top: 28px;
    }
}


/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 767.98px) {

    .resp26-hero {
        min-height: 820px;
        height: 100svh;
        max-height: none;
        align-items: flex-start;
        background-image: url("/images/respat26/hero-bg-mob.png");
        background-size: cover;
        background-position: center top;
    }


    .resp26-hero__overlay {
        background: linear-gradient( to bottom, rgba(255, 255, 255, 0.02) 0%, rgba(255, 255, 255, 0.16) 28%, rgba(255, 255, 255, 0.58) 42%, rgba(255, 255, 255, 0.48) 65%, rgba(255, 255, 255, 0.02) 100% );
    }


    .resp26-hero__container {
        padding-top: clamp(230px, 31vh, 330px);
    }


    .resp26-hero__content {
        width: 100%;
        max-width: none;
        margin: 0;
        padding: 0 16px;
        text-align: center;
    }


    .resp26-hero__eyebrow {
        justify-content: center;
        margin-bottom: 14px;
        font-size: 10px;
        letter-spacing: 0.12em;
    }


    .resp26-hero__eyebrow-line {
        display: none;
    }


    .resp26-hero__title {
        max-width: 520px;
        margin-inline: auto;
        font-size: clamp(34px, 10vw, 48px);
        line-height: 1.02;
        letter-spacing: -0.04em;
    }


    .resp26-hero__meta {
        max-width: 430px;
        margin: 24px auto 0;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 10px;
    }


    .resp26-hero__meta-item {
        align-items: flex-start;
        padding: 12px;
        border: 1px solid rgba(0, 95, 155, 0.11);
        border-radius: 15px;
        text-align: left;
        background: rgba(255, 255, 255, 0.55);
        backdrop-filter: blur(12px);
        -webkit-backdrop-filter: blur(12px);
    }


    .resp26-hero__meta-icon {
        width: 34px;
        height: 34px;
        border-radius: 10px;
        font-size: 14px;
        background: rgba(255, 255, 255, 0.76);
        box-shadow: none;
    }


    .resp26-hero__meta-item small {
        font-size: 9px;
    }


    .resp26-hero__meta-item strong {
        font-size: 12px;
    }


    .resp26-hero__actions {
        max-width: 430px;
        margin: 18px auto 0;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 10px;
    }


    .resp26-btn {
        min-height: 48px;
        padding: 0 14px;
        border-radius: 12px;
        font-size: 12px;
    }


    .resp26-hero__scroll {
        display: none;
    }
}


/* ==========================================================
   SMALL MOBILE
   ========================================================== */

@media (max-width: 480px) {

    .resp26-hero__container {
        padding-top: 29vh;
    }


    .resp26-hero__title {
        font-size: clamp(31px, 9.2vw, 40px);
    }


    .resp26-hero__meta {
        grid-template-columns: 1fr;
        max-width: 330px;
    }


    .resp26-hero__meta-item {
        padding: 9px 11px;
    }


    .resp26-hero__actions {
        max-width: 330px;
        grid-template-columns: 1fr;
    }
}

/* ==========================================================
   VENUE
   ========================================================== */

.resp26-venue {
    --venue-navy: #08294e;
    --venue-blue: #0b8dcc;
    --venue-red: #ef3f5d;
    --venue-muted: #688295;
    position: relative;
    padding: 95px 0 105px;
    overflow: hidden;
    background: radial-gradient( circle at 85% 20%, rgba(43, 165, 220, .08), transparent 30% ), #ffffff;
}


/* ==========================================================
   HEADING
   ========================================================== */

.resp26-venue__heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 30px;
    margin-bottom: 42px;
}


    .resp26-venue__heading h2 {
        margin: 0;
        color: var(--venue-navy);
        font-size: clamp(36px, 4vw, 54px);
        font-weight: 800;
        line-height: 1.05;
        letter-spacing: -.045em;
    }


    .resp26-venue__heading p {
        max-width: 600px;
        margin: 13px 0 0;
        color: var(--venue-muted);
        font-size: 14px;
        line-height: 1.65;
    }


.resp26-venue__heading-icon {
    width: 60px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border: 1px solid rgba(11,141,204,.11);
    border-radius: 18px;
    color: var(--venue-red);
    font-size: 22px;
    background: #fff;
    box-shadow: 0 12px 35px rgba(24,83,118,.08);
}


/* ==========================================================
   CARD
   ========================================================== */

.resp26-venue__card {
    display: grid;
    grid-template-columns: minmax(0, 1.3fr) minmax(380px, .7fr);
    min-height: 510px;
    border: 1px solid rgba(13, 105, 158, .10);
    border-radius: 28px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 25px 70px rgba(19, 73, 105, .10);
}


/* ==========================================================
   MAP
   ========================================================== */

.resp26-venue__map {
    position: relative;
    min-height: 510px;
    overflow: hidden;
    background: #eaf5fa;
}


    .resp26-venue__map iframe {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        border: 0;
        filter: saturate(.85) contrast(.96);
    }


/* location badge */

.resp26-venue__map-badge {
    position: absolute;
    left: 22px;
    bottom: 22px;
    z-index: 2;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 15px;
    border: 1px solid rgba(255,255,255,.65);
    border-radius: 30px;
    color: var(--venue-navy);
    font-size: 11px;
    font-weight: 700;
    background: rgba(255,255,255,.88);
    box-shadow: 0 10px 30px rgba(18,72,103,.13);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}


.resp26-venue__map-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--venue-red);
    box-shadow: 0 0 0 5px rgba(239,63,93,.12);
}


/* ==========================================================
   INFO
   ========================================================== */

.resp26-venue__info {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(35px, 4vw, 58px);
    background: radial-gradient( circle at 100% 0%, rgba(45,171,225,.10), transparent 35% ), linear-gradient( 145deg, #f8fcfe, #ffffff );
}


    /* subtle decor */

    .resp26-venue__info::after {
        content: "";
        position: absolute;
        right: -90px;
        bottom: -100px;
        width: 250px;
        height: 250px;
        border: 1px solid rgba(11,141,204,.06);
        border-radius: 50%;
    }


/* ==========================================================
   EYEBROW
   ========================================================== */

.resp26-venue__eyebrow {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 17px;
    color: var(--venue-blue);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}


    .resp26-venue__eyebrow span {
        width: 24px;
        height: 2px;
        border-radius: 10px;
        background: var(--venue-red);
    }


/* ==========================================================
   HOTEL TITLE
   ========================================================== */

.resp26-venue__info h3 {
    margin: 0;
    color: var(--venue-navy);
    font-size: clamp(33px, 3.1vw, 47px);
    font-weight: 800;
    line-height: .98;
    letter-spacing: -.045em;
}


    .resp26-venue__info h3 small {
        display: block;
        margin-top: 8px;
        color: #53778e;
        font-size: 17px;
        font-weight: 500;
        letter-spacing: -.01em;
    }


/* ==========================================================
   DESCRIPTION
   ========================================================== */

.resp26-venue__description {
    max-width: 430px;
    margin: 22px 0 0;
    color: var(--venue-muted);
    font-size: 12px;
    line-height: 1.65;
}


/* ==========================================================
   DETAILS
   ========================================================== */

.resp26-venue__details {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-top: 30px;
    padding-top: 25px;
    border-top: 1px solid rgba(15,108,160,.09);
}


.resp26-venue__detail {
    display: flex;
    align-items: center;
    gap: 13px;
}


.resp26-venue__detail-icon {
    width: 43px;
    height: 43px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border: 1px solid rgba(11,141,204,.09);
    border-radius: 13px;
    color: var(--venue-red);
    font-size: 14px;
    background: rgba(235,248,254,.75);
}


.resp26-venue__detail small {
    display: block;
    margin-bottom: 2px;
    color: #91a2ad;
    font-size: 9px;
}


.resp26-venue__detail strong {
    display: block;
    color: var(--venue-navy);
    font-size: 13px;
    font-weight: 700;
}


.resp26-venue__detail span {
    display: block;
    margin-top: 1px;
    color: #78909f;
    font-size: 10px;
}


/* ==========================================================
   ACTION
   ========================================================== */

.resp26-venue__actions {
    position: relative;
    z-index: 2;
    margin-top: 31px;
}


.resp26-venue__route {
    min-height: 50px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 0 21px;
    border-radius: 13px;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    text-decoration: none;
    background: linear-gradient( 135deg, #f34b69, #e92d50 );
    box-shadow: 0 12px 30px rgba(234,46,80,.20);
    transition: transform .25s ease, box-shadow .25s ease;
}


    .resp26-venue__route:hover {
        color: #fff;
        transform: translateY(-2px);
        box-shadow: 0 17px 36px rgba(234,46,80,.29);
    }


    .resp26-venue__route i:last-child {
        font-size: 8px;
        opacity: .7;
    }


/* ==========================================================
   TABLET
   ========================================================== */

@media (max-width: 991.98px) {

    .resp26-venue {
        padding: 70px 0 80px;
    }


    .resp26-venue__heading-icon {
        display: none;
    }


    .resp26-venue__card {
        grid-template-columns: 1fr;
        min-height: 0;
    }


    .resp26-venue__map {
        min-height: 420px;
    }


    .resp26-venue__info {
        padding: 38px;
    }
}


/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 767.98px) {

    .resp26-venue {
        padding: 55px 0 65px;
    }


    .resp26-venue__heading {
        margin-bottom: 27px;
    }


        .resp26-venue__heading h2 {
            font-size: 34px;
        }


        .resp26-venue__heading p {
            font-size: 12px;
        }


    .resp26-venue__card {
        border-radius: 20px;
    }


    .resp26-venue__map {
        min-height: 330px;
    }


    .resp26-venue__map-badge {
        left: 15px;
        bottom: 15px;
    }


    .resp26-venue__info {
        padding: 30px 23px;
    }


        .resp26-venue__info h3 {
            font-size: 34px;
        }


            .resp26-venue__info h3 small {
                font-size: 14px;
            }


    .resp26-venue__description {
        font-size: 11px;
    }


    .resp26-venue__route {
        width: 100%;
    }
}


/* ==========================================================
   SMALL MOBILE
   ========================================================== */

@media (max-width: 480px) {

    .resp26-venue__map {
        min-height: 280px;
    }


    .resp26-venue__info {
        padding: 27px 20px;
    }
}

/*--------------------------------------------------------------
# Appointments
--------------------------------------------------------------*/
#registration .reg-form {
    width: 100%;
}

    #registration .reg-form .form-group {
        padding-bottom: 8px;
    }

    #registration .reg-form .validate {
        display: none;
        color: red;
        margin: 0 0 15px 0;
        font-weight: 400;
        font-size: 13px;
    }

    .alert-info {
        background: #f1f7fd !important;
    }

#registration .text-danger {
    font-size: 10pt;
    margin-left: 3px;
}

.alert-warning {
    background: rgb(249, 246, 211, 0.25) !important;
}

    #registration .reg-form .error-message {
        display: none;
        color: #fff;
        background: #ed3c0d;
        text-align: left;
        padding: 15px;
        font-weight: 600;
    }

        #registration .reg-form .error-message br + br {
            margin-top: 25px;
        }

    #registration .reg-form .sent-message {
        display: none;
        color: #fff;
        background: #18d26e;
        text-align: center;
        padding: 15px;
        font-weight: 600;
    }

    #registration .reg-form .loading {
        display: none;
        background: #fff;
        text-align: center;
        padding: 15px;
    }

        #registration .reg-form .loading:before {
            content: "";
            display: inline-block;
            border-radius: 50%;
            width: 24px;
            height: 24px;
            margin: 0 10px -6px 0;
            border: 3px solid #18d26e;
            border-top-color: #eee;
            animation: animate-loading 1s linear infinite;
        }

    #registration .reg-form input[type=text],
    #registration .reg-form textarea,
    #registration .reg-form select {
        border-radius: 0;
        box-shadow: none;
        font-size: 14px;
        padding: 10px !important;
    }

        #registration .reg-form input[type=text]:focus,
        #registration .reg-form textarea:focus,
        #registration .reg-form select:focus {
            border-color: var(--primary);
        }

        #registration .reg-form input[type=text],
        #registration .reg-form select {
            height: 44px;
        }

    #registration .reg-form textarea {
        padding: 10px 12px;
    }

    #registration .reg-form button[type=submit] {
        background: var(--primary);
        border: 0;
        padding: 10px 35px;
        color: #fff;
        transition: 0.4s;
        border-radius: 50px;
    }

        #registration .reg-form button[type=submit]:hover {
            background: #1c84e3;
        }

.floating-label {
    margin-bottom: 3px;
    margin-left: 3px;
    font-size: 14px;
    visibility: collapse;
    color: var(--secondary);
}

select:valid ~ .floating-label,
textarea:not(:placeholder-shown) ~ .floating-label,
input:not(:placeholder-shown) ~ .floating-label {
    visibility: visible;
    animation: slide-in-top-label 0.5s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
}

@-webkit-keyframes slide-in-top-label {
    0% {
        -webkit-transform: translateY(10px);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateY(0);
        opacity: 1;
    }
}

@keyframes slide-in-top-label {
    0% {
        transform: translateY(10px);
        opacity: 0;
    }

    100% {
        transform: translateY(0);
        opacity: 1;
    }
}

/*--------------------------------------------------------------
# Departments
--------------------------------------------------------------*/
.departments {
    overflow: hidden;
}

    .departments .nav-tabs {
        border: 0;
    }

    .departments .nav-link {
        border: 0;
        padding: 12px 15px 12px 0;
        transition: 0.3s;
        color: var(--secondary);
        border-radius: 0;
        border-right: 2px solid #ebf1f6;
        font-weight: 600;
        font-size: 15px;
    }

        .departments .nav-link:hover {
            color: var(--primary);
        }

        .departments .nav-link.active {
            color: var(--primary);
            border-color: var(--primary);
        }

    .departments .tab-pane.active {
        animation: fadeIn 0.5s ease-out;
    }

    .departments .details h3 {
        font-size: 26px;
        font-weight: 600;
        margin-bottom: 20px;
        color: var(--secondary);
    }

    .departments .details p {
        color: #777777;
    }

        .departments .details p:last-child {
            margin-bottom: 0;
        }

@media (max-width: 992px) {
    .departments .nav-link {
        border: 0;
        padding: 15px;
    }

        .departments .nav-link.active {
            color: #fff;
            background: var(--primary);
        }
}

/* ==========================================================
   SPEAKERS
   ========================================================== */

.resp26-speakers {
    --speaker-navy: #08294e;
    --speaker-blue: #0b8dcc;
    --speaker-red: #ef3f5d;
    --speaker-muted: #688295;
    position: relative;
    padding: 95px 0 105px;
    overflow: hidden;
    background: radial-gradient( circle at 5% 15%, rgba(48, 169, 223, .08), transparent 28% ), radial-gradient( circle at 95% 90%, rgba(239, 63, 93, .055), transparent 28% ), #f7fbfd;
}


    /* decorative background */

    .resp26-speakers::before {
        content: "";
        position: absolute;
        top: 80px;
        right: -180px;
        width: 430px;
        height: 430px;
        border: 1px solid rgba(11, 141, 204, .06);
        border-radius: 50%;
        pointer-events: none;
    }


    .resp26-speakers::after {
        content: "";
        position: absolute;
        right: -100px;
        top: 160px;
        width: 270px;
        height: 270px;
        border: 1px solid rgba(11, 141, 204, .05);
        border-radius: 50%;
        pointer-events: none;
    }


/* ==========================================================
   HEADING
   ========================================================== */

.resp26-speakers__heading {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 30px;
    margin-bottom: 45px;
}


    .resp26-speakers__heading h2 {
        margin: 0;
        color: var(--speaker-navy);
        font-size: clamp(36px, 4vw, 54px);
        font-weight: 800;
        line-height: 1.05;
        letter-spacing: -.045em;
    }


    .resp26-speakers__heading p {
        max-width: 600px;
        margin: 13px 0 0;
        color: var(--speaker-muted);
        font-size: 14px;
        line-height: 1.65;
    }


.resp26-section-label {
    display: block;
    margin-bottom: 8px;
    color: var(--speaker-red);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}


.resp26-speakers__heading-icon {
    width: 60px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border: 1px solid rgba(11, 141, 204, .11);
    border-radius: 18px;
    color: var(--speaker-blue);
    font-size: 23px;
    background: rgba(255, 255, 255, .75);
    box-shadow: 0 12px 35px rgba(25, 90, 125, .08);
}


/* ==========================================================
   CARD
   ========================================================== */

.resp26-speaker-card {
    position: relative;
    min-height: 260px;
    display: grid;
    grid-template-columns: 190px 1fr;
    border: 1px solid rgba(13, 105, 158, .10);
    border-radius: 24px;
    overflow: hidden;
    background: rgba(255, 255, 255, .92);
    box-shadow: 0 15px 45px rgba(20, 78, 111, .07);
    transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}


    .resp26-speaker-card:hover {
        transform: translateY(-6px);
        border-color: rgba(11, 141, 204, .20);
        box-shadow: 0 25px 60px rgba(20, 78, 111, .13);
    }


    /* top accent */

    .resp26-speaker-card::after {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 0;
        height: 3px;
        background: linear-gradient( 90deg, var(--speaker-red), #ff8397 );
        transition: width .35s ease;
    }


    .resp26-speaker-card:hover::after {
        width: 100%;
    }


/* ==========================================================
   PHOTO
   ========================================================== */

.resp26-speaker-card__photo {
    position: relative;
    min-height: 260px;
    overflow: hidden;
    background: linear-gradient( 145deg, #dceff8, #eef8fc );
}


    .resp26-speaker-card__photo img {
        width: 100%;
        height: 100%;
        position: absolute;
        inset: 0;
        object-fit: cover;
        object-position: center top;
        transition: transform .5s ease;
    }


.resp26-speaker-card:hover
.resp26-speaker-card__photo img {
    transform: scale(1.035);
}


.resp26-speaker-card__photo-overlay {
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient( 180deg, transparent 55%, rgba(8, 41, 78, .18) 100% );
}


/* ==========================================================
   PHOTO PLACEHOLDER
   ========================================================== */

.resp26-speaker-card__placeholder {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: radial-gradient( circle at 50% 30%, #f4fbfe, #d9edf7 );
}


    .resp26-speaker-card__placeholder span {
        width: 95px;
        height: 95px;
        display: flex;
        align-items: center;
        justify-content: center;
        border: 1px solid rgba(11,141,204,.15);
        border-radius: 50%;
        color: rgba(8, 78, 119, .65);
        font-size: 27px;
        font-weight: 700;
        letter-spacing: -.04em;
        background: rgba(255,255,255,.55);
        box-shadow: 0 15px 35px rgba(28, 101, 140, .09);
    }


/* ==========================================================
   CONTENT
   ========================================================== */

.resp26-speaker-card__content {
    position: relative;
    display: flex;
    flex-direction: column;
    padding: 30px 30px 23px;
}


/* ==========================================================
   LABEL
   ========================================================== */

.resp26-speaker-card__label {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 13px;
    color: var(--speaker-blue);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}


    .resp26-speaker-card__label span {
        width: 19px;
        height: 2px;
        border-radius: 4px;
        background: var(--speaker-red);
    }


/* ==========================================================
   NAME
   ========================================================== */

.resp26-speaker-card__content h3 {
    margin: 0;
    color: var(--speaker-navy);
    font-size: clamp(20px, 1.7vw, 25px);
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: -.025em;
}


    .resp26-speaker-card__content h3 strong {
        display: block;
        font-weight: 800;
    }


/* ==========================================================
   POSITION
   ========================================================== */

.resp26-speaker-card__position {
    margin-top: 14px;
    color: var(--speaker-muted);
    font-size: 11px;
    line-height: 1.55;
}


    .resp26-speaker-card__position p {
        margin: 0;
    }


/* ==========================================================
   BOTTOM
   ========================================================== */

.resp26-speaker-card__bottom {
    margin-top: auto;
    padding-top: 20px;
}


    .resp26-speaker-card__bottom span {
        display: inline-flex;
        align-items: center;
        gap: 7px;
        padding: 7px 11px;
        border-radius: 20px;
        color: #55788d;
        font-size: 9px;
        font-weight: 700;
        background: #eff8fc;
    }


    .resp26-speaker-card__bottom i {
        color: var(--speaker-red);
    }


/* ==========================================================
   TABLET
   ========================================================== */

@media (max-width: 991.98px) {

    .resp26-speakers {
        padding: 70px 0 80px;
    }


    .resp26-speakers__heading-icon {
        display: none;
    }


    .resp26-speaker-card {
        grid-template-columns: 170px 1fr;
    }
}


/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 767.98px) {

    .resp26-speakers {
        padding: 55px 0 65px;
    }


    .resp26-speakers__heading {
        margin-bottom: 30px;
    }


        .resp26-speakers__heading h2 {
            font-size: 34px;
        }


        .resp26-speakers__heading p {
            font-size: 12px;
        }


    .resp26-speaker-card {
        min-height: 210px;
        grid-template-columns: 135px 1fr;
        border-radius: 19px;
    }


    .resp26-speaker-card__photo {
        min-height: 210px;
    }


    .resp26-speaker-card__content {
        padding: 22px 18px 17px;
    }


        .resp26-speaker-card__content h3 {
            font-size: 18px;
        }


    .resp26-speaker-card__position {
        margin-top: 9px;
        font-size: 10px;
    }


    .resp26-speaker-card__bottom {
        padding-top: 12px;
    }
}


/* ==========================================================
   SMALL MOBILE
   ========================================================== */

@media (max-width: 480px) {

    .resp26-speaker-card {
        grid-template-columns: 110px 1fr;
        min-height: 185px;
    }


    .resp26-speaker-card__photo {
        min-height: 185px;
    }


    .resp26-speaker-card__content {
        padding: 18px 14px 14px;
    }


    .resp26-speaker-card__label {
        margin-bottom: 9px;
        font-size: 8px;
    }


        .resp26-speaker-card__label span {
            width: 13px;
        }


    .resp26-speaker-card__content h3 {
        font-size: 16px;
    }


    .resp26-speaker-card__position {
        font-size: 9px;
        line-height: 1.4;
    }


    .resp26-speaker-card__bottom {
        display: none;
    }
}

/*--------------------------------------------------------------
# Contact
--------------------------------------------------------------*/
.contact .info {
    width: 100%;
    background: #fff;
}

    .contact .info i {
        font-size: 20px;
        color: var(--primary);
        float: left;
        width: 44px;
        height: 44px;
        background: #d6e9fa;
        display: flex;
        justify-content: center;
        align-items: center;
        border-radius: 50px;
        transition: all 0.3s ease-in-out;
    }

    .contact .info h4 {
        padding: 0 0 0 60px;
        font-size: 22px;
        font-weight: 600;
        margin-bottom: 5px;
        color: var(--secondary);
    }

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

    .contact .info .email,
    .contact .info .phone {
        margin-top: 40px;
    }

        .contact .info .email:hover i,
        .contact .info .address:hover i,
        .contact .info .phone:hover i {
            background: var(--primary);
            color: #fff;
        }

.contact .reg-form {
    width: 100%;
    background: #fff;
}

    .contact .reg-form .form-group {
        padding-bottom: 8px;
    }

    .contact .reg-form .error-message {
        display: none;
        color: #fff;
        background: #ed3c0d;
        text-align: left;
        padding: 15px;
        font-weight: 600;
    }

        .contact .reg-form .error-message br + br {
            margin-top: 25px;
        }

    .contact .reg-form .sent-message {
        display: none;
        color: #fff;
        background: #18d26e;
        text-align: center;
        padding: 15px;
        font-weight: 600;
    }

    .contact .reg-form .loading {
        display: none;
        background: #fff;
        text-align: center;
        padding: 15px;
    }

        .contact .reg-form .loading:before {
            content: "";
            display: inline-block;
            border-radius: 50%;
            width: 24px;
            height: 24px;
            margin: 0 10px -6px 0;
            border: 3px solid #18d26e;
            border-top-color: #eee;
            animation: animate-loading 1s linear infinite;
        }

    .contact .reg-form input,
    .contact .reg-form textarea {
        border-radius: 0;
        box-shadow: none;
        font-size: 14px;
    }

    .contact .reg-form input {
        height: 44px;
    }

    .contact .reg-form textarea {
        padding: 10px 12px;
    }

    .contact .reg-form button[type=submit] {
        background: var(--primary);
        border: 0;
        padding: 10px 35px;
        color: #fff;
        transition: 0.4s;
        border-radius: 50px;
    }

        .contact .reg-form button[type=submit]:hover {
            background: #1c84e3;
        }

@keyframes animate-loading {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}
/* ==========================================================
   RESPAT26 FOOTER
   ========================================================== */

.resp26-footer {
    --footer-bg: #071f39;
    --footer-bg-light: #0a2b4b;
    --footer-blue: #4db9ee;
    --footer-red: #ef3f5d;
    position: relative;
    overflow: hidden;
    padding: 75px 0 0;
    color: rgba(255,255,255,.72);
    background: radial-gradient( circle at 85% 15%, rgba(42, 155, 210, .16), transparent 35% ), radial-gradient( circle at 15% 90%, rgba(239, 63, 93, .08), transparent 30% ), linear-gradient( 135deg, #061a30 0%, #082a49 100% );
}


/* ==========================================================
   DECOR
   ========================================================== */

.resp26-footer__decor {
    position: absolute;
    pointer-events: none;
    opacity: .45;
}


.resp26-footer__decor--one {
    top: -180px;
    right: -150px;
    width: 500px;
    height: 500px;
    border: 1px solid rgba(255,255,255,.06);
    border-radius: 50%;
}


    .resp26-footer__decor--one::before,
    .resp26-footer__decor--one::after {
        content: "";
        position: absolute;
        border: 1px solid rgba(255,255,255,.05);
        border-radius: 50%;
    }


    .resp26-footer__decor--one::before {
        inset: 50px;
    }


    .resp26-footer__decor--one::after {
        inset: 110px;
    }


.resp26-footer__decor--two {
    left: -100px;
    bottom: -150px;
    width: 350px;
    height: 350px;
    border-radius: 50%;
    background: radial-gradient( circle, rgba(62, 177, 228, .11), transparent 68% );
}


/* ==========================================================
   TOP
   ========================================================== */

.resp26-footer__top {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 50px;
    padding-bottom: 45px;
    border-bottom: 1px solid rgba(255,255,255,.09);
}


.resp26-footer__brand {
    display: flex;
    align-items: center;
    gap: 25px;
    max-width: 750px;
}


.resp26-footer__logos {
    display: flex;
    align-items: center;
    gap: 9px;
    flex-shrink: 0;
}


.resp26-footer__logo {
    width: 60px;
    height: 60px;
    padding: 5px;
    border-radius: 50%;
    object-fit: contain;
    background: rgba(255,255,255,.95);
    box-shadow: 0 10px 30px rgba(0,0,0,.12);
}


.resp26-footer__eyebrow {
    margin-bottom: 8px;
    color: var(--footer-blue);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .13em;
    text-transform: uppercase;
}


.resp26-footer__brand-content h3 {
    max-width: 590px;
    margin: 0;
    color: #fff;
    font-size: clamp(21px, 2vw, 29px);
    font-weight: 700;
    line-height: 1.18;
    letter-spacing: -.02em;
}


.resp26-footer__brand-content p {
    margin: 10px 0 0;
    color: rgba(255,255,255,.55);
    font-size: 13px;
}


/* ==========================================================
   CTA
   ========================================================== */

.resp26-footer__cta {
    max-width: 290px;
    flex-shrink: 0;
}


    .resp26-footer__cta > span {
        display: block;
        margin-bottom: 5px;
        color: rgba(255,255,255,.45);
        font-size: 11px;
    }


    .resp26-footer__cta > strong {
        display: block;
        margin-bottom: 16px;
        color: #fff;
        font-size: 14px;
        font-weight: 600;
        line-height: 1.4;
    }


.resp26-footer__register {
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 0 21px;
    border-radius: 12px;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none;
    background: linear-gradient( 135deg, #f34a68, #e82d50 );
    box-shadow: 0 12px 30px rgba(232,45,80,.20);
    transition: transform .2s ease, box-shadow .2s ease;
}


    .resp26-footer__register:hover {
        color: #fff;
        transform: translateY(-2px);
        box-shadow: 0 16px 35px rgba(232,45,80,.30);
    }


/* ==========================================================
   MAIN
   ========================================================== */

.resp26-footer__main {
    position: relative;
    display: grid;
    grid-template-columns: 1fr 1fr 1.25fr 1fr;
    gap: clamp(35px, 5vw, 80px);
    padding: 48px 0;
}


.resp26-footer__column h4 {
    position: relative;
    margin: 0 0 20px;
    padding-bottom: 12px;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
}


    .resp26-footer__column h4::after {
        content: "";
        position: absolute;
        left: 0;
        bottom: 0;
        width: 23px;
        height: 2px;
        border-radius: 5px;
        background: var(--footer-red);
    }


/* ==========================================================
   NAV
   ========================================================== */

.resp26-footer__nav {
    display: flex;
    flex-direction: column;
    gap: 11px;
}


    .resp26-footer__nav a {
        width: fit-content;
        color: rgba(255,255,255,.58);
        font-size: 12px;
        text-decoration: none;
        transition: color .2s ease, transform .2s ease;
    }


        .resp26-footer__nav a:hover {
            color: #fff;
            transform: translateX(3px);
        }


/* ==========================================================
   INFO
   ========================================================== */

.resp26-footer__column--info {
    display: flex;
    flex-direction: column;
    gap: 4px;
}


    .resp26-footer__column--info h4 {
        margin-bottom: 16px;
    }


.resp26-footer__info-item {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 13px;
}


.resp26-footer__icon {
    width: 39px;
    height: 39px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border: 1px solid rgba(255,255,255,.09);
    border-radius: 11px;
    color: var(--footer-blue);
    font-size: 14px;
    background: rgba(255,255,255,.04);
}


.resp26-footer__info-item small {
    display: block;
    margin-bottom: 2px;
    color: rgba(255,255,255,.40);
    font-size: 9px;
}


.resp26-footer__info-item strong {
    display: block;
    color: rgba(255,255,255,.86);
    font-size: 12px;
    font-weight: 600;
}


/* ==========================================================
   CONTACTS
   ========================================================== */

.resp26-footer__contacts {
    display: flex;
    flex-direction: column;
    gap: 12px;
}


    .resp26-footer__contacts a {
        display: flex;
        align-items: center;
        gap: 9px;
        color: rgba(255,255,255,.62);
        font-size: 12px;
        text-decoration: none;
        transition: color .2s ease;
    }


        .resp26-footer__contacts a:hover {
            color: #fff;
        }


    .resp26-footer__contacts i {
        width: 17px;
        color: var(--footer-blue);
        font-size: 12px;
        text-align: center;
    }


/* ==========================================================
   BOTTOM
   ========================================================== */

.resp26-footer__bottom {
    position: relative;
    min-height: 75px;
    display: flex;
    align-items: center;
    gap: 30px;
    padding: 18px 0;
    border-top: 1px solid rgba(255,255,255,.08);
}


.resp26-footer__copyright {
    color: rgba(255,255,255,.38);
    font-size: 10px;
    line-height: 1.5;
}


    .resp26-footer__copyright span {
        margin-left: 5px;
    }


.resp26-footer__legal {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 22px;
}


    .resp26-footer__legal a {
        color: rgba(255,255,255,.38);
        font-size: 10px;
        text-decoration: none;
        transition: color .2s ease;
    }


        .resp26-footer__legal a:hover {
            color: rgba(255,255,255,.85);
        }


/* ==========================================================
   UP BUTTON
   ========================================================== */

.resp26-footer__up {
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 50%;
    color: #fff;
    font-size: 11px;
    text-decoration: none;
    background: rgba(255,255,255,.04);
    transition: transform .2s ease, background .2s ease, border-color .2s ease;
}


    .resp26-footer__up:hover {
        color: #fff;
        border-color: rgba(255,255,255,.28);
        background: rgba(255,255,255,.09);
        transform: translateY(-3px);
    }


/* ==========================================================
   TABLET
   ========================================================== */

@media (max-width: 991.98px) {

    .resp26-footer {
        padding-top: 55px;
    }


    .resp26-footer__top {
        align-items: flex-start;
        flex-direction: column;
    }


    .resp26-footer__cta {
        max-width: 100%;
    }


    .resp26-footer__main {
        grid-template-columns: repeat(2, 1fr);
        gap: 40px;
    }
}


/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 767.98px) {

    .resp26-footer {
        padding-top: 45px;
    }


    .resp26-footer__top {
        gap: 30px;
        padding-bottom: 35px;
    }


    .resp26-footer__brand {
        align-items: flex-start;
        flex-direction: column;
        gap: 20px;
    }


    .resp26-footer__logo {
        width: 50px;
        height: 50px;
    }


    .resp26-footer__brand-content h3 {
        font-size: 23px;
    }


    .resp26-footer__register {
        width: 100%;
    }


    .resp26-footer__cta {
        width: 100%;
    }


    .resp26-footer__main {
        grid-template-columns: 1fr 1fr;
        gap: 35px 25px;
        padding: 38px 0;
    }


    .resp26-footer__bottom {
        align-items: flex-start;
        flex-direction: column;
        gap: 16px;
        padding: 24px 0 30px;
    }


    .resp26-footer__legal {
        margin-left: 0;
        align-items: flex-start;
        flex-direction: column;
        gap: 8px;
    }


    .resp26-footer__up {
        position: absolute;
        right: 0;
        top: 22px;
    }


    .resp26-footer__copyright {
        max-width: calc(100% - 55px);
    }


        .resp26-footer__copyright span {
            display: block;
            margin: 3px 0 0;
        }
}


/* ==========================================================
   SMALL MOBILE
   ========================================================== */

@media (max-width: 480px) {

    .resp26-footer__main {
        grid-template-columns: 1fr;
        gap: 32px;
    }


    .resp26-footer__logos {
        gap: 6px;
    }


    .resp26-footer__logo {
        width: 46px;
        height: 46px;
    }
}


.countdown {
    display: block;
    height: 66px;
    margin-bottom: 30px;
}

    .countdown .countdown-seconds,
    .countdown .countdown-minutes,
    .countdown .countdown-hours,
    .countdown .countdown-days {
        position: relative;
        display: inline-block;
        color: white;
        font-size: 34px;
        font-weight: 700;
        height: 70px;
        width: 70px;
        background-color: var(--primary);
        vertical-align: middle;
        text-align: center;
        margin: 3px;
        line-height: 55px;
        border: 2px solid var(--primary);
        border-radius: 10px;
    }

        .countdown .countdown-seconds::after,
        .countdown .countdown-minutes::after,
        .countdown .countdown-hours::after,
        .countdown .countdown-days::after {
            position: absolute;
            font-size: 9px;
            bottom: -10px;
            left: 0;
            width: 100%;
            text-align: center;
        }

/* ==========================================================
   PARTNERS
   ========================================================== */

.resp26-partners {
    --partners-navy: #08294e;
    --partners-blue: #0b8dcc;
    --partners-red: #ef3f5d;
    --partners-muted: #688295;
    position: relative;
    padding: 95px 0 105px;
    overflow: hidden;
    background: radial-gradient( circle at 10% 15%, rgba(40, 166, 224, .08), transparent 28% ), radial-gradient( circle at 90% 85%, rgba(239, 63, 93, .05), transparent 26% ), #f7fbfd;
}


/* ==========================================================
   HEADING
   ========================================================== */

.resp26-partners__heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 30px;
    margin-bottom: 55px;
}


    .resp26-partners__heading h2 {
        margin: 0;
        color: var(--partners-navy);
        font-size: clamp(36px, 4vw, 54px);
        font-weight: 800;
        line-height: 1.05;
        letter-spacing: -.045em;
    }


    .resp26-partners__heading p {
        max-width: 580px;
        margin: 13px 0 0;
        color: var(--partners-muted);
        font-size: 14px;
        line-height: 1.65;
    }


.resp26-partners__heading-icon {
    width: 60px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border: 1px solid rgba(11,141,204,.11);
    border-radius: 18px;
    color: var(--partners-blue);
    font-size: 23px;
    background: rgba(255,255,255,.8);
    box-shadow: 0 12px 35px rgba(24,83,118,.08);
}


/* ==========================================================
   GROUP
   ========================================================== */

.resp26-partner-group {
    margin-top: 52px;
}


    .resp26-partner-group:first-of-type {
        margin-top: 0;
    }


.resp26-partner-group__title {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    margin-bottom: 25px;
}


    .resp26-partner-group__title h3 {
        margin: 0;
        color: var(--partners-navy);
        font-size: 13px;
        font-weight: 700;
        letter-spacing: .08em;
        text-transform: uppercase;
        white-space: nowrap;
    }


.resp26-partner-group__line {
    width: 45px;
    height: 1px;
    background: linear-gradient( 90deg, transparent, rgba(8, 41, 78, .18) );
}


    .resp26-partner-group__line:last-child {
        transform: scaleX(-1);
    }


/* ==========================================================
   GRID
   ========================================================== */

.resp26-partners__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
    max-width: 1000px;
    margin: 0 auto;
}


.resp26-partners__grid--major {
    grid-template-columns: repeat(2, minmax(0, 280px));
    justify-content: center;
}


.resp26-partners__grid--general {
    grid-template-columns: minmax(300px, 430px);
    justify-content: center;
}


/* ==========================================================
   CARD
   ========================================================== */

.resp26-partner-card {
    position: relative;
    min-height: 145px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 25px;
    border: 1px solid rgba(13,105,158,.09);
    border-radius: 20px;
    background: rgba(255,255,255,.88);
    box-shadow: 0 12px 35px rgba(20,78,111,.055);
    transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}


    .resp26-partner-card:hover {
        transform: translateY(-5px);
        border-color: rgba(11,141,204,.18);
        box-shadow: 0 20px 50px rgba(20,78,111,.11);
    }


    /* subtle top accent */

    .resp26-partner-card::before {
        content: "";
        position: absolute;
        top: 0;
        left: 50%;
        width: 0;
        height: 3px;
        border-radius: 0 0 5px 5px;
        background: linear-gradient( 90deg, var(--partners-blue), var(--partners-red) );
        transform: translateX(-50%);
        transition: width .3s ease;
    }


    .resp26-partner-card:hover::before {
        width: 45%;
    }


    /* ==========================================================
   LOGO
   ========================================================== */

    .resp26-partner-card img {
        display: block;
        max-width: 75%;
        max-height: 70px;
        width: auto;
        height: auto;
        object-fit: contain;
        filter: saturate(.95);
        transition: transform .3s ease, filter .3s ease, opacity .3s ease;
    }


    .resp26-partner-card:hover img {
        transform: scale(1.04);
        filter: saturate(1.05);
    }


/* ==========================================================
   GENERAL PARTNER
   ========================================================== */

.resp26-partner-card--general {
    min-height: 190px;
    border-color: rgba(11,141,204,.13);
    background: linear-gradient( 145deg, #ffffff, #f4fbfe );
    box-shadow: 0 20px 55px rgba(20,78,111,.085);
}


    .resp26-partner-card--general::after {
        content: "";
        position: absolute;
        inset: 9px;
        border: 1px solid rgba(11,141,204,.05);
        border-radius: 15px;
        pointer-events: none;
    }


    .resp26-partner-card--general img {
        max-width: 72%;
        max-height: 100px;
    }


/* ==========================================================
   MAJOR
   ========================================================== */

.resp26-partner-card--major {
    min-height: 165px;
}


    .resp26-partner-card--major img {
        max-width: 70%;
        max-height: 80px;
    }


/* ==========================================================
   TABLET
   ========================================================== */

@media (max-width: 991.98px) {

    .resp26-partners {
        padding: 70px 0 80px;
    }


    .resp26-partners__heading-icon {
        display: none;
    }


    .resp26-partners__grid {
        grid-template-columns: repeat(3, 1fr);
    }


    .resp26-partners__grid--major {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        max-width: 600px;
    }


    .resp26-partners__grid--general {
        grid-template-columns: minmax(280px, 420px);
    }
}


/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 767.98px) {

    .resp26-partners {
        padding: 55px 0 65px;
    }


    .resp26-partners__heading {
        margin-bottom: 38px;
    }


        .resp26-partners__heading h2 {
            font-size: 34px;
        }


        .resp26-partners__heading p {
            font-size: 12px;
        }


    .resp26-partner-group {
        margin-top: 42px;
    }


    .resp26-partner-group__title {
        gap: 10px;
        margin-bottom: 20px;
    }


        .resp26-partner-group__title h3 {
            font-size: 10px;
        }


    .resp26-partner-group__line {
        width: 25px;
    }


    .resp26-partners__grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }


    .resp26-partners__grid--major {
        grid-template-columns: repeat(2, 1fr);
    }


    .resp26-partners__grid--general {
        grid-template-columns: 1fr;
    }


    .resp26-partner-card {
        min-height: 120px;
        padding: 18px;
        border-radius: 16px;
    }


    .resp26-partner-card--general {
        min-height: 160px;
    }


    .resp26-partner-card--major {
        min-height: 135px;
    }


    .resp26-partner-card img {
        max-width: 82%;
        max-height: 55px;
    }


    .resp26-partner-card--general img {
        max-width: 70%;
        max-height: 90px;
    }


    .resp26-partner-card--major img {
        max-height: 65px;
    }
}


/* ==========================================================
   SMALL MOBILE
   ========================================================== */

@media (max-width: 420px) {

    .resp26-partner-card {
        min-height: 110px;
        padding: 14px;
    }
}

/* ==========================================================
   REGISTRATION
   ========================================================== */

.resp26-registration {
    --reg-navy: #08294e;
    --reg-blue: #0b8dcc;
    --reg-red: #ef3f5d;
    --reg-muted: #6b8495;
    --reg-border: #dcebf3;
    position: relative;
    padding: 95px 0 105px;
    overflow: hidden;
    background: radial-gradient( circle at 10% 10%, rgba(34, 165, 224, .10), transparent 30% ), radial-gradient( circle at 92% 90%, rgba(239, 63, 93, .07), transparent 28% ), linear-gradient( 180deg, #f5fbfe 0%, #ffffff 100% );
}


/* ==========================================================
   HEADING
   ========================================================== */

.resp26-registration__heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 30px;
    margin-bottom: 43px;
}


    .resp26-registration__heading h2 {
        margin: 0;
        color: var(--reg-navy);
        font-size: clamp(36px, 4vw, 54px);
        font-weight: 800;
        line-height: 1.05;
        letter-spacing: -.045em;
    }


    .resp26-registration__heading p {
        max-width: 650px;
        margin: 13px 0 0;
        color: var(--reg-muted);
        font-size: 14px;
        line-height: 1.65;
    }


.resp26-registration__heading-icon {
    width: 60px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(11,141,204,.11);
    border-radius: 18px;
    color: var(--reg-blue);
    font-size: 22px;
    background: rgba(255,255,255,.8);
    box-shadow: 0 12px 35px rgba(24,83,118,.08);
}


/* ==========================================================
   MAIN CARD
   ========================================================== */

.resp26-registration__card {
    display: grid;
    grid-template-columns: minmax(300px, .38fr) minmax(0, .62fr);
    border: 1px solid rgba(13,105,158,.10);
    border-radius: 28px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 25px 70px rgba(19,73,105,.10);
}


/* ==========================================================
   ASIDE
   ========================================================== */

.resp26-registration__aside {
    position: relative;
    min-height: 100%;
    display: flex;
    flex-direction: column;
    padding: 48px 40px 35px;
    overflow: hidden;
    color: #fff;
    background: radial-gradient( circle at 80% 15%, rgba(78, 196, 242, .30), transparent 32% ), linear-gradient( 145deg, #06345a 0%, #075c8f 100% );
}


    .resp26-registration__aside::before {
        content: "";
        position: absolute;
        width: 330px;
        height: 330px;
        right: -180px;
        bottom: 50px;
        border: 1px solid rgba(255,255,255,.09);
        border-radius: 50%;
    }


    .resp26-registration__aside::after {
        content: "";
        position: absolute;
        width: 210px;
        height: 210px;
        right: -115px;
        bottom: 110px;
        border: 1px solid rgba(255,255,255,.07);
        border-radius: 50%;
    }


.resp26-registration__aside-content {
    position: relative;
    z-index: 2;
}


.resp26-registration__aside-label {
    display: inline-flex;
    padding: 7px 11px;
    border: 1px solid rgba(255,255,255,.13);
    border-radius: 20px;
    color: #79d2fa;
    font-size: 10px;
    font-weight: 700;
    background: rgba(255,255,255,.06);
}


.resp26-registration__aside h3 {
    max-width: 340px;
    margin: 22px 0 0;
    color: #fff;
    font-size: clamp(27px, 2.3vw, 36px);
    font-weight: 700;
    line-height: 1.12;
    letter-spacing: -.035em;
}


.resp26-registration__aside-content > p {
    margin: 17px 0 0;
    color: rgba(255,255,255,.60);
    font-size: 12px;
    line-height: 1.65;
}


/* FEATURES */

.resp26-registration__features {
    display: flex;
    flex-direction: column;
    gap: 15px;
    margin-top: 35px;
}


    .resp26-registration__features div {
        display: flex;
        align-items: center;
        gap: 11px;
        color: rgba(255,255,255,.78);
        font-size: 11px;
    }


    .resp26-registration__features i {
        width: 25px;
        height: 25px;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
        border-radius: 50%;
        color: #fff;
        font-size: 8px;
        background: rgba(54,190,240,.20);
    }


/* LOCATION */

.resp26-registration__aside-location {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-top: auto;
    padding-top: 40px;
}


    .resp26-registration__aside-location > i {
        margin-top: 3px;
        color: #ff6981;
    }


    .resp26-registration__aside-location small,
    .resp26-registration__aside-location strong,
    .resp26-registration__aside-location span {
        display: block;
    }


    .resp26-registration__aside-location small {
        color: rgba(255,255,255,.38);
        font-size: 9px;
    }


    .resp26-registration__aside-location strong {
        margin-top: 3px;
        color: #fff;
        font-size: 12px;
    }


    .resp26-registration__aside-location span {
        margin-top: 2px;
        color: rgba(255,255,255,.5);
        font-size: 10px;
    }


/* ==========================================================
   FORM SIDE
   ========================================================== */

.resp26-registration__form {
    padding: clamp(30px, 4vw, 55px);
}


/* ==========================================================
   FORM SECTION
   ========================================================== */

.resp26-form__section {
    margin-top: 33px;
    padding-top: 30px;
    border-top: 1px solid rgba(11,105,158,.09);
}


    .resp26-form__section:first-of-type {
        margin-top: 0;
        padding-top: 0;
        border-top: 0;
    }


.resp26-form__section-title {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 21px;
}


    .resp26-form__section-title > span {
        width: 33px;
        height: 33px;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
        border-radius: 10px;
        color: var(--reg-red);
        font-size: 9px;
        font-weight: 800;
        background: rgba(239,63,93,.08);
    }


    .resp26-form__section-title strong {
        display: block;
        color: var(--reg-navy);
        font-size: 14px;
    }


    .resp26-form__section-title small {
        display: block;
        margin-top: 2px;
        color: #8ba0ad;
        font-size: 9px;
    }


/* ==========================================================
   FIELD
   ========================================================== */

.resp26-field {
    height: 100%;
    display: flex;
    flex-direction: column;
}


    .resp26-field > label {
        margin-bottom: 7px;
        color: #496b81;
        font-size: 10px;
        font-weight: 700;
    }


.resp26-field__control {
    position: relative;
}


    .resp26-field__control > i {
        position: absolute;
        top: 50%;
        left: 16px;
        z-index: 2;
        color: #88a5b6;
        font-size: 12px;
        transform: translateY(-50%);
        pointer-events: none;
    }


.resp26-field__control--textarea > i {
    top: 18px;
    transform: none;
}


.resp26-field .form-control {
    min-height: 52px;
    padding: 10px 15px 10px 43px;
    border: 1px solid #dceaf1;
    border-radius: 13px;
    color: var(--reg-navy);
    font-size: 12px;
    background: #f8fbfd;
    box-shadow: none;
    transition: border-color .2s ease, background .2s ease, box-shadow .2s ease;
}


.resp26-field textarea.form-control {
    min-height: 90px;
    padding-top: 14px;
    resize: vertical;
}


.resp26-field select.form-control {
    cursor: pointer;
}


.resp26-field .form-control:focus {
    border-color: rgba(11,141,204,.45);
    background: #fff;
    box-shadow: 0 0 0 4px rgba(11,141,204,.07);
}


.resp26-field .text-danger {
    margin-top: 5px;
    font-size: 9px;
}


/* ==========================================================
   PARTICIPATION
   ========================================================== */

.resp26-form__block {
    margin-bottom: 32px;
}


.resp26-form__block-heading {
    display: flex;
    align-items: center;
    gap: 11px;
    margin-bottom: 15px;
}


.resp26-form__block-icon {
    width: 37px;
    height: 37px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 11px;
    color: var(--reg-blue);
    background: rgba(11,141,204,.08);
}


.resp26-form__block-heading span {
    display: block;
    color: var(--reg-navy);
    font-size: 13px;
    font-weight: 700;
}


.resp26-form__block-heading p {
    margin: 2px 0 0;
    color: #8aa0ae;
    font-size: 9px;
}


.resp26-form__participation {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
}


.resp26-form__participation-card {
    cursor: pointer;
}


    .resp26-form__participation-card > input {
        position: absolute;
        opacity: 0;
        pointer-events: none;
    }


.resp26-form__participation-content {
    min-height: 76px;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 13px;
    border: 1px solid #dceaf1;
    border-radius: 15px;
    background: #f9fcfd;
    transition: .2s ease;
}


.resp26-form__participation-icon {
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border-radius: 12px;
    color: var(--reg-blue);
    background: #edf8fc;
}


.resp26-form__participation-content strong,
.resp26-form__participation-content small {
    display: block;
}


.resp26-form__participation-content strong {
    color: var(--reg-navy);
    font-size: 12px;
}


.resp26-form__participation-content small {
    margin-top: 2px;
    color: #8a9eab;
    font-size: 9px;
}


.resp26-form__radio {
    width: 18px;
    height: 18px;
    margin-left: auto;
    flex-shrink: 0;
    border: 2px solid #c9dce6;
    border-radius: 50%;
    transition: .2s;
}


.resp26-form__participation-card
input:checked +
.resp26-form__participation-content {
    border-color: rgba(11,141,204,.48);
    background: rgba(234,248,254,.75);
    box-shadow: 0 7px 22px rgba(20,100,145,.07);
}


    .resp26-form__participation-card
    input:checked +
    .resp26-form__participation-content
    .resp26-form__radio {
        border: 5px solid var(--reg-blue);
    }


/* ==========================================================
   CHECKBOX OPTIONS
   ========================================================== */

.resp26-form__options {
    display: flex;
    flex-direction: column;
    gap: 11px;
    margin-top: 33px;
}


.resp26-form__check {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 15px;
    border: 1px solid #dfebf1;
    border-radius: 14px;
    cursor: pointer;
    background: #f8fbfd;
}


    .resp26-form__check > input {
        position: absolute;
        opacity: 0;
    }


.resp26-form__check-box {
    width: 21px;
    height: 21px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    margin-top: 1px;
    border: 1px solid #c8dbe5;
    border-radius: 6px;
    color: transparent;
    font-size: 9px;
    background: #fff;
    transition: .2s;
}


.resp26-form__check
input:checked +
.resp26-form__check-box {
    border-color: var(--reg-blue);
    color: #fff;
    background: var(--reg-blue);
}


.resp26-form__check strong {
    display: block;
    color: #45697e;
    font-size: 10px;
    font-weight: 600;
    line-height: 1.45;
}


.resp26-form__check small {
    display: block;
    margin-top: 3px;
    color: #96a8b3;
    font-size: 9px;
}


.resp26-form__check--required {
    border-color: rgba(239,63,93,.13);
    background: rgba(255,247,248,.7);
}


/* ==========================================================
   BUTTON
   ========================================================== */

.resp26-form__submit {
    margin-top: 30px;
    text-align: center;
}


.resp26-form__button {
    min-width: 250px;
    min-height: 55px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 13px;
    padding: 0 28px;
    border: 0;
    border-radius: 14px;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    background: linear-gradient( 135deg, #f34a68, #e92d50 );
    box-shadow: 0 14px 32px rgba(234,46,80,.22);
    cursor: pointer;
    transition: transform .2s ease, box-shadow .2s ease;
}


    .resp26-form__button:hover {
        transform: translateY(-2px);
        box-shadow: 0 18px 38px rgba(234,46,80,.31);
    }


    .resp26-form__button i {
        font-size: 10px;
    }


.resp26-form__submit p {
    margin: 12px 0 0;
    color: #9aabb5;
    font-size: 9px;
}


    .resp26-form__submit p i {
        margin-right: 4px;
    }


/* ==========================================================
   DEVICES
   ========================================================== */

.resp26-form__devices {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    margin-top: 18px;
    padding: 12px 15px;
    border: 1px solid rgba(11,141,204,.10);
    border-radius: 12px;
    color: #6e8797;
    font-size: 10px;
    line-height: 1.5;
    background: rgba(236,248,253,.65);
}


    .resp26-form__devices i {
        margin-top: 2px;
        color: var(--reg-blue);
    }


/* ==========================================================
   VALIDATION
   ========================================================== */

.resp26-form__validation:empty {
    display: none;
}


.resp26-form__validation:not(:empty) {
    margin-bottom: 20px;
    padding: 14px 17px;
    border: 1px solid rgba(220,53,69,.14);
    border-radius: 12px;
    font-size: 10px;
    background: rgba(220,53,69,.05);
}


.resp26-form__validation ul {
    margin: 0;
    padding-left: 18px;
}


/* ==========================================================
   SUCCESS
   ========================================================== */

.resp26-registration__success {
    display: flex;
    align-items: center;
    gap: 22px;
    padding: 35px;
    border: 1px solid rgba(11,141,204,.12);
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 18px 50px rgba(19,73,105,.07);
}


.resp26-registration__success-icon {
    width: 58px;
    height: 58px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border-radius: 50%;
    color: #fff;
    background: linear-gradient( 135deg, #28b894, #0e9676 );
}


.resp26-registration__success span {
    color: #169176;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
}


.resp26-registration__success h3 {
    margin: 4px 0 0;
    color: var(--reg-navy);
    font-size: 22px;
}


.resp26-registration__success p {
    margin: 7px 0 0;
    color: var(--reg-muted);
    font-size: 11px;
}


/* ==========================================================
   TABLET
   ========================================================== */

@media (max-width: 991.98px) {

    .resp26-registration {
        padding: 70px 0 80px;
    }


    .resp26-registration__heading-icon {
        display: none;
    }


    .resp26-registration__card {
        grid-template-columns: 1fr;
    }


    .resp26-registration__aside {
        min-height: auto;
        padding: 38px;
    }


    .resp26-registration__aside-location {
        margin-top: 30px;
    }
}


/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 767.98px) {

    .resp26-registration {
        padding: 55px 0 65px;
    }


    .resp26-registration__heading {
        margin-bottom: 27px;
    }


        .resp26-registration__heading h2 {
            font-size: 34px;
        }


        .resp26-registration__heading p {
            font-size: 12px;
        }


    .resp26-registration__card {
        border-radius: 20px;
    }


    .resp26-registration__aside {
        padding: 30px 23px;
    }


        .resp26-registration__aside h3 {
            font-size: 28px;
        }


    .resp26-registration__form {
        padding: 30px 20px;
    }


    .resp26-form__participation {
        grid-template-columns: 1fr;
    }


    .resp26-form__button {
        width: 100%;
        min-width: 0;
    }


    .resp26-registration__success {
        align-items: flex-start;
        padding: 24px 20px;
    }
}

/* ==========================================================
   HEALTHCARE WORKER MODAL
   ========================================================== */

.resp26-doc-modal {
    --modal-navy: #08294e;
    --modal-blue: #0b8dcc;
    --modal-red: #ef3f5d;
    --modal-muted: #6d8798;
}


    /* backdrop */

    .resp26-doc-modal.show ~ .modal-backdrop,
    .modal-backdrop.show {
        opacity: .48;
    }


    .resp26-doc-modal .modal-dialog {
        max-width: 520px;
        padding: 15px;
    }


    .resp26-doc-modal .modal-content {
        position: relative;
        overflow: hidden;
        border: 1px solid rgba(11,141,204,.10);
        border-radius: 28px;
        background: radial-gradient( circle at 100% 0%, rgba(55,180,231,.12), transparent 34% ), #fff;
        box-shadow: 0 35px 90px rgba(5, 40, 66, .22);
    }


        /* decorative circle */

        .resp26-doc-modal .modal-content::before {
            content: "";
            position: absolute;
            top: -120px;
            right: -120px;
            width: 280px;
            height: 280px;
            border: 1px solid rgba(11,141,204,.06);
            border-radius: 50%;
            pointer-events: none;
        }


/* ==========================================================
   CLOSE
   ========================================================== */

.resp26-doc-modal__close {
    position: absolute;
    top: 18px;
    right: 18px;
    z-index: 5;
    width: 37px;
    height: 37px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 50%;
    color: #6f8796;
    font-size: 13px;
    background: rgba(238,246,250,.90);
    cursor: pointer;
    transition: background .2s ease, color .2s ease, transform .2s ease;
}


    .resp26-doc-modal__close:hover {
        color: var(--modal-red);
        background: rgba(239,63,93,.08);
        transform: rotate(5deg);
    }


/* ==========================================================
   BODY
   ========================================================== */

.resp26-doc-modal__body {
    position: relative;
    padding: 45px 45px 37px;
    text-align: center;
}


/* ==========================================================
   ICON
   ========================================================== */

.resp26-doc-modal__icon {
    width: 70px;
    height: 70px;
    margin: 0 auto 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(11,141,204,.10);
    border-radius: 22px;
    color: var(--modal-blue);
    font-size: 27px;
    background: linear-gradient( 145deg, #eaf8fd, #f8fcfe );
    box-shadow: 0 15px 35px rgba(15, 105, 150, .10);
}


/* ==========================================================
   LABEL
   ========================================================== */

.resp26-doc-modal__label {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-bottom: 12px;
    color: var(--modal-blue);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}


    .resp26-doc-modal__label span {
        width: 20px;
        height: 2px;
        border-radius: 3px;
        background: var(--modal-red);
    }


/* ==========================================================
   TITLE
   ========================================================== */

.resp26-doc-modal__title {
    margin: 0;
    color: var(--modal-navy);
    font-size: clamp(21px, 3vw, 28px);
    font-weight: 800;
    line-height: 1.18;
    letter-spacing: -.035em;
}


    .resp26-doc-modal__title small {
        display: block;
        margin-top: 7px;
        color: #6a8799;
        font-size: 12px;
        font-weight: 500;
        line-height: 1.4;
        letter-spacing: 0;
    }


/* ==========================================================
   QUESTION
   ========================================================== */

.resp26-doc-modal__question {
    margin-top: 25px;
    padding: 20px 22px;
    border: 1px solid rgba(11,141,204,.09);
    border-radius: 16px;
    background: rgba(240,249,253,.75);
}


    .resp26-doc-modal__question > span {
        display: block;
        color: var(--modal-navy);
        font-size: 15px;
        font-weight: 700;
        line-height: 1.45;
    }


    .resp26-doc-modal__question p {
        margin: 7px 0 0;
        color: var(--modal-muted);
        font-size: 10px;
        line-height: 1.55;
    }


/* ==========================================================
   BUTTONS
   ========================================================== */

.resp26-doc-modal__actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-top: 25px;
}


.resp26-doc-modal__button {
    min-height: 52px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding: 0 20px;
    border: 0;
    border-radius: 13px;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
    transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}


    .resp26-doc-modal__button:hover {
        transform: translateY(-2px);
    }


/* YES */

.resp26-doc-modal__button--primary {
    color: #fff;
    background: linear-gradient( 135deg, #f34b69, #e92d50 );
    box-shadow: 0 12px 28px rgba(234,46,80,.21);
}


    .resp26-doc-modal__button--primary:hover {
        color: #fff;
        box-shadow: 0 16px 34px rgba(234,46,80,.30);
    }


/* NO */

.resp26-doc-modal__button--secondary {
    border: 1px solid #dbe9f0;
    color: #577487;
    background: #f7fbfd;
}


    .resp26-doc-modal__button--secondary:hover {
        color: var(--modal-navy);
        background: #eef7fb;
    }


/* ==========================================================
   FOOTER
   ========================================================== */

.resp26-doc-modal__footer {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 53px;
    padding: 12px 20px;
    border-top: 1px solid rgba(10,111,167,.08);
    color: #78909f;
    font-size: 9px;
    text-align: center;
    background: linear-gradient( 90deg, #f7fbfd, #eef8fc, #f7fbfd );
}


    .resp26-doc-modal__footer i {
        color: var(--modal-blue);
    }


/* ==========================================================
   ANIMATION
   ========================================================== */

.resp26-doc-modal.fade
.modal-dialog {
    transform: translateY(15px) scale(.97);
    transition: transform .28s cubic-bezier(.2,.8,.2,1);
}


.resp26-doc-modal.show
.modal-dialog {
    transform: translateY(0) scale(1);
}


/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 576px) {

    .resp26-doc-modal .modal-dialog {
        margin: .5rem auto;
        padding: 10px;
    }


    .resp26-doc-modal .modal-content {
        border-radius: 22px;
    }


    .resp26-doc-modal__body {
        padding: 40px 22px 28px;
    }


    .resp26-doc-modal__icon {
        width: 60px;
        height: 60px;
        border-radius: 18px;
        font-size: 22px;
    }


    .resp26-doc-modal__title {
        font-size: 22px;
    }


    .resp26-doc-modal__question {
        padding: 17px 15px;
    }


    .resp26-doc-modal__actions {
        grid-template-columns: 1fr;
    }


    .resp26-doc-modal__button {
        width: 100%;
    }
}