body {
    background-color: #121212;
    color: white;
}

#speakers,
#program {
    padding-top: 7rem;
    padding-bottom: 3rem;
    min-height: 100vh;
}

#speakers .section-title {
    font-family: var(--font-plus);
    font-weight: 600;
    font-size: 20px;
    line-height: 150%;
    letter-spacing: 4%;
    vertical-align: middle;
    text-transform: uppercase;
}


#speakers h4 {
    font-family: var(--font-plus);
    font-weight: 800;
    font-size: 48px;
    line-height: 120%;
    letter-spacing: 2%;
    text-transform: uppercase;
}

#speakers p {
    font-family: var(--font-plus);
    font-weight: 400;
    font-size: 20px;
    line-height: 150%;
    letter-spacing: -4%;
    vertical-align: middle;
    color: #FFFFFFA3;
}

#program .lead {
    font-family: var(--font-plus);
    font-weight: 600;
    font-size: 20px;
    line-height: 150%;
    letter-spacing: 4%;
    vertical-align: middle;
    color: #FFF;
}

#program h3 {
    font-family: var(--font-plus);
    font-weight: 800;
    font-size: 48px;
    line-height: 120%;
    letter-spacing: 2%;
}

#program p {
    font-family: var(--font-plus);
    font-weight: 400;
    font-size: 20px;
    line-height: 150%;
    letter-spacing: 0%;
    color: #FFFFFFA3;
}

#program a.download {
    border-radius: 50px;
    background-color: #C3051E;
    padding: 1rem 1.25rem;

    font-weight: 700;
    font-style: Bold;
    font-size: 16px;
    line-height: 100%;
    letter-spacing: 4%;
    vertical-align: middle;
    color: #FFFFFF;
}

#program a.download:hover {
    background-color: #800000;
}


#program #programTab button.active {
    border-bottom: 1px solid #C3051E;
}

#program #programTab button {
    background: transparent;
    border: unset;
    color: #FFF;
    text-align: left;
    padding-left: 0;
    margin-right: 1.5rem;

    font-weight: 600;
    font-size: 20px;
    line-height: 150%;
    letter-spacing: 0%;
}

.timeline-dot {
    width: 36px;
    height: 36px;
    background: #FFF;
    border: 2px solid #1c1f26;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    color: #1c1f26;
}

.timeline-dot.left {
    position: absolute;
    left: -20px;
}

.timeline-time {
    color: #9aa0ac;
    font-size: 0.9rem;
    margin-bottom: 4px;

    font-weight: 500;
    font-style: Medium;
    font-size: 16px;
    line-height: 150%;
    letter-spacing: 0%;

}

.timeline-title {
    font-weight: 600;
    font-size: 18px;
    line-height: 150%;
    letter-spacing: 0%;
}

.timeline {
    position: relative;
}

.timeline-item .content {
    border-left: 1px solid #2a2d35;
    padding-left: 3rem;
    padding-bottom: 5rem;
    position: relative;
}

.timeline-item {
    position: relative;
}

.timeline-desc {
    font-weight: 400;
    font-size: 16px;
    line-height: 150%;
    letter-spacing: 0%;
    color: #FFFFFFA3;
}

#tickets {
    background-color: #111617;
}

#tickets p.sub {
    font-weight: 600;
    font-size: 20px;
    line-height: 150%;
    letter-spacing: 4%;
    vertical-align: middle;
}

#tickets .section-title {
    font-weight: 800;
    font-size: 48px;
    line-height: 120%;
    letter-spacing: 2%;
    margin-bottom: 2rem;
}


#location {
    background: linear-gradient(180deg, rgba(17, 22, 23, 0) 46.11%, #111617 100%);
    background-image: url('../img/local.jpeg');
    background-repeat: no-repeat;
    background-size: cover;
    min-height: 100vh;
    padding-top: 7rem;
    padding-bottom: 3rem;
}

#sponsors .sub,
#location .sub {
    font-weight: 600;
    font-size: 20px;
    line-height: 150%;
    letter-spacing: 4%;
    vertical-align: middle;
}

#sponsors .section-title,
#location .section-title {
    font-weight: 800;
    font-size: 48px;
    line-height: 120%;
    letter-spacing: 2%;
    margin-bottom: 5rem;
}

#location p.description {
    font-weight: 400;
    font-size: 18px;
    line-height: 115%;
    vertical-align: middle;
}

#sponsors {
    min-height: 80vh;
    padding-top: 7rem;
    padding-bottom: 3rem;
}


.speaker-img {
    width: 100%;
    border-radius: 0.5rem;
}

.price-card {
    background-color: #1e1e1e;
    border-radius: unset;
    padding: 1.5rem;
    margin-bottom: 1rem;
    height: 100%;
    flex-direction: column;
    display: flex;
    justify-content: space-between;
}

.price-card h5 {
    font-weight: 700;
    font-weight: 600;
    font-size: 18px;
    line-height: 100%;
    letter-spacing: 4%;
    vertical-align: middle;
}

.price-card .content div {
    background-color: #333;
    padding: .75rem .5rem;
    border-radius: 0.25rem;
    font-size: 0.75rem;
    color: #ccc;

    font-weight: 700;
    font-style: Bold;
    font-size: 16px;
    line-height: 100%;
    letter-spacing: 4%;
    vertical-align: middle;

    background: #FFFFFF14;
}

.price-card h3 {
    font-weight: 700;
    font-style: Bold;
    font-size: 40px;
    line-height: 100%;
    letter-spacing: 4%;
    vertical-align: middle;
}

.price-card ul {
    list-style: none;
    padding-left: 0;
}

.price-card ul li {
    margin-bottom: 2.5rem;
    font-weight: 400;
    font-size: 18px;
    line-height: 150%;
    letter-spacing: 0%;
    vertical-align: middle;
}

.price-card ul li::before {
    content: '\2713';
    color: green;
    margin-right: 0.5rem;
    background-color: rgb(70, 70, 70);
    border-radius: 50%;
    width: 20px;
    height: 20px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
}

.price-card a {
    border-radius: 50px;
    padding: 1.25rem;
    background: #FFB0B0;
    color: #FFF;
    text-transform: uppercase;

    font-weight: 700;
    font-style: Bold;
    font-size: 16px;
    line-height: 100%;
    letter-spacing: 4%;
    vertical-align: middle;
}

.price-card a.other:hover {
    background: #fd9b9b;
}

.price-card a.vip {
    background: #C3051E;
}


section.hero {
    min-height: calc(100vh - var(--navbar-height));
    background: linear-gradient(180deg, rgba(17, 22, 23, 0) 75.96%, #111617 100%);
}

section.hero .slide-01 {
    background-image: url('../img/hero.png');
    background-size: cover;
    background-repeat: no-repeat;
}

section.hero .swiper-slide .lead {
    font-family: var(--font-plus);
    font-weight: 400;
    font-size: 18px;
    line-height: 200%;
    letter-spacing: 0%;
    vertical-align: middle;
}

section.hero .swiper-slide h2 {
    font-family: var(--font-plus);
    font-weight: 800;
    font-size: 40px;
    line-height: 100%;
    letter-spacing: 0%;
    vertical-align: middle;

}

section.hero .swiper-slide a {
    border-radius: 50px;
    font-family: var(--font-plus);
    font-weight: 700;
    font-style: Bold;
    font-size: 16px;
    line-height: 100%;
    letter-spacing: 4%;
    vertical-align: middle;
    padding: 1rem 1.5rem;
    color: #FFF;
}

section.hero .swiper-slide a.register {
    background: #ff061a;
}

section.hero .swiper-slide a.register:hover {
    background: #800000;
}

section.hero .swiper-slide a.details {
    background: linear-gradient(0deg, #FFB0B0, #FFB0B0);
}

section.hero .swiper-slide a.details:hover {
    background: linear-gradient(0deg, #f79b9b, #fa8e8e);
}

section.hero .swiper-pagination-bullet {
    width: 42px;
    border-radius: 10px;
    height: 1px;
    border: 3px solid #FFFFFF59
}

section.hero .swiper-pagination-bullet.swiper-pagination-bullet-active {
    background: #FFF;
    width: 159px;
    border-radius: 10px;
    border: 6px;
    height: 6px;
}

section.hero .swiper-slide p {
    font-family: var(--font-actor);
    font-weight: 400;
    font-size: 22px;
    line-height: 150%;
    letter-spacing: 0%;
    vertical-align: middle;
}

.swiperSpeakers {
    position: relative;
}

.swiperSpeakers img {
    width: 400px;
    height: 500px;
}

.swiperSpeakers .desc {
    position: absolute;
    margin: 2rem;
    bottom: 0;
}

.swiperSpeakers .desc p b {
    font-weight: 600;
    font-size: 20px;
    line-height: 150%;
    letter-spacing: 4%;
    vertical-align: middle;
    color: #FFF;
}

.swiperSpeakers .desc p {
    font-family: var(--font-actor);
    font-weight: 400;
    font-size: 22px;
    line-height: 150%;
    letter-spacing: 0%;
    vertical-align: middle;

}

/*  */
.swiper-button-next,
.swiper-button-prev {
    display: none !important;
}

.custom-swiper-controls {
    display: flex;
    gap: 12px;
    align-items: center;
}

.btn-swiper {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    border: none;
    background: #c51b2b;
    cursor: pointer;
    box-shadow: 0 6px 18px rgba(0, 0, 0, .12);
    transition: transform .12s ease, box-shadow .12s ease;
}

.btn-swiper svg {
    display: block;
}

.btn-swiper:focus {
    outline: 3px solid rgba(197, 27, 43, .2);
    outline-offset: 2px;
}

.btn-swiper:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 22px rgba(0, 0, 0, .18);
}


#sponsors .logos {
    display: flex;
    justify-content: space-around;
    gap: 10px;
}

#sponsors .logos img {
    width: 150px;
    height: 150px;
    object-fit: contain;
}


@media (max-width: 576px) {
    .btn-swiper {
        width: 46px;
        height: 46px;
    }

    #sponsors .section-title,
    #location .section-title {
        font-size: 24px;
    }

    #sponsors .logos img {
        width: 75px;
        height: 75px;
        object-fit: contain;
    }

    .map-container {
        width: 100%;
    }
}