﻿/* Table of Content
==================================================
    1.Reset & Basics
    2.Basic Styles
    3.Typography and Common style
    4.Links
    5.Misc
*/

/* Reset & Basics (Inspired by E. Meyers) */

*,
*:before,
*:after {
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -ms-box-sizing: border-box;
    -o-box-sizing: border-box;
}

* {
    margin: 0;
    padding: 0;
}

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
    text-decoration: none;
}

ol,
ul {
    list-style: none;
}

blockquote,
q {
    quotes: none;
}

    blockquote:before,
    blockquote:after,
    q:before,
    q:after {
        content: '';
        content: none;
    }

table {
    border-collapse: collapse;
    border-spacing: 0;
}

a,
a:hover,
a:active,
a:visited,
a:focus {
    text-decoration: none;
}

img {
    display: inline-block;
    vertical-align: middle;
    height: auto;
    max-width: 100%;
}

.map img {
    max-width: none;
}

a:focus {
    outline: 0;
}

iframe {
    width: 100%;
    border: none;
    display: inline-block;
}

::-moz-selection {
    background: #000000;
    color: #ffffff;
}

/* End reset & basics (Inspired by E. Meyers) */

/* Basic Styles */

body {
    background: #111111;
    font-family: "Open Sans", "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif;
    color: #cccccc;
    margin: 0;
    font-size: 14px;
    font-weight: 400;
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
}

.stop-scroll {
    overflow: hidden;
}

/* End basic styles */

/* Typography and Common style */

h1,
h2,
h3,
h4,
h5,
h6 {
    color: #ffffff;
    text-transform: uppercase;
    position: relative;
}

h1,
h2,
h3,
h4,
h5,
h6,
.header .logo,
.hero-content p,
p strong,
li strong,
ul.block-topic li,
.block-detail .time,
.block-detail .speaker strong,
.block-ticket .block-price,
p strong,
li strong,
input[type="text"],
a.link {
    font-family: "Work Sans", "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif;
}

    .hero-content h3,
    .block-ticket .block-price .block-type {
        font-family: "Open Sans", "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif;
    }

em {
    font-style: italic;
}

.topic {
    color: #E82E89;
    font-size: 20px !important;
    font-weight: 700;
    margin-top: 10px;
}

.img-sessao {
    width: 60px;
    float: left;
    margin-right: 10px;
    margin-bottom: 20px;
}

.box-palco {
    padding: 0px 20px 20px;
}

.palco {
    text-transform: uppercase;
    width: max-content;
    padding: 0px 6px;
    border-radius: 4px;
    font-size: 13px;
    line-height: 1.7;
}

.palco-roxo {
    background-color: #6b2377;
    color: #FFF;
}

.palco-a {
    background-color: #ff0000;
    color: #fff;
}

.palco-b {
    background-color: #ff4900;
    color: #fff;
}

.palco-c {
    background-color: #ffce00;
    color: #000;
}

.palco-d {
    background-color: #2dc75c;
    color: #fff;
}

.palco-e {
    background-color: #305bab;
    color: #fff;
}

.box-tematicas {
    display: flex;
    flex-wrap: wrap;
}

.tematicas-sessao {
    width: max-content;
    margin-top: 5px;
    padding: 0px 6px;
    border-radius: 4px;
    font-size: 10px !important;
    line-height: 1.7;
    background-color: #5D5D5D;
    margin: 10px 10px 0px 0;
    color: #fff;
}

.accordion-button:not(.collapsed)::after {
    display: none !important;
}

.accordion-header {
    border-top: unset;
}

.accordion-button::after {
    display: none !important;
}

.accordion-item {
    padding: 5px 25px !important;
}

.title-sessao {
    color: #E82E89;
    font-weight: 600;
    padding-left: 10px;
    font-size: 17px;
    margin-bottom: 10px;
    line-height: 1.1;
}

.box-infos {
    padding-left: 50px;
}

.img-empresa {
    border-radius: 10px;
    width: 82px;
    margin: 15px 10px 15px 0;
    border: 1px solid #E82E89;
}

.title-palestrantes {
    font-size: 16px;
    font-weight: 600;
    color: #E82E89;
    margin-top: 20px;
}

.palestrante {
    font-weight: 600;
    position: relative;
}

    .palestrante span {
        font-weight: 400;
        display: inline !important;
        top: 0;
        text-transform: uppercase;
    }

.palestrante-flag {
    width: 30px;
    position: absolute;
    left: -40px;
    top: 2px;
}

.palco-horario-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}



.linkedin-link {
    font-size: 15px;
    background-color: #FFC600;
    border-radius: 5px;
    padding: 3px 4px;
    color: #000 !important;
    margin-left: 4px;
}

p strong,
li strong {
    color: #ffffff;
}

p strong {
    text-transform: uppercase;
}

p span {
    display: block;
    position: relative;
    top: -4px;
}

p span,
li span {
    font-size: 13px;
}

p,
blockquote {
    line-height: 25px;
}

.title {
    font-size: 30px;
    font-weight: 300;
    text-transform: capitalize;
}

.sub-title-0 {
    font-size: 27px;
    font-weight: 300;
    text-transform: none;
}

.sub-title-1 {
    font-size: 25px;
    font-weight: 300;
    text-transform: none;
}

.sub-title-2 {
    font-size: 20px;
    font-weight: 300;
    text-transform: none;
}

.sub-title-3 {
    font-size: 16px;
    font-weight: 500;
    text-transform: none;
    color: #cccccc;
}

.gradient-text {
    background: -webkit-linear-gradient(left, #399bff 30%, rgba(238, 113, 249, .9) 65%);
    background: -moz-linear-gradient(left, #399bff 30%, rgba(238, 113, 249, .9) 65%);
    background: linear-gradient(left, #399bff 30%, rgba(238, 113, 249, .9) 65%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    color: #399bff;
}

p.title-lead {
    font-size: 15px;
}

section,
.section,
.row.relative,
.block-content {
    position: relative;
    overflow: hidden;
}

.front-p {
    position: relative;
    z-index: 100;
}

.uppercase {
    text-transform: uppercase;
}

.white {
    color: #ffffff;
}

.top {
    position: relative;
    top: -10px;
}

.block-form,
.block-tabs,
.block-tab,
.block-ticket,
.registry-form {
    border-radius: 6px;
    -webkit-border-radius: 6px;
    -moz-border-radius: 6px;
    -ms-border-radius: 6px;
    -o-border-radius: 6px;
}

.indent {
    text-indent: -999px;
    display: none;
}

input[type]:-moz-placeholder {
    color: #ffffff;
    opacity: .4;
    font-size: 14px;
}

:-moz-placeholder {
    color: #ffffff;
    opacity: .4;
    font-size: 14px;
}

::-moz-placeholder {
    color: #ffffff;
    opacity: .4;
    font-size: 14px;
}

:-ms-input-placeholder {
    color: #ffffff;
    opacity: .4;
    font-size: 14px;
}

::-webkit-input-placeholder {
    color: #ffffff;
    opacity: .4;
    font-size: 14px;
}

/* End typography and common style */

/* Links */

span a,
p a {
    position: relative;
}

    span a:hover:after,
    p a:hover:after {
        transform: translateY(0) translateZ(0);
        opacity: 1;
    }

    span a:after,
    p a:after {
        content: "";
        height: 1px;
        left: 0;
        opacity: 0;
        pointer-events: none;
        position: absolute;
        top: 100%;
        transform: translateY(5px);
        transition: opacity 0.2s ease, transform 0.2s ease;
        width: 100%;
    }

a,
input[type="text"],
input[type="submit"],
textarea,
.registry-form .block-select,
.mobile-but .lines:after,
.mobile-but .lines:before,
.block-img a:before,
.block-ticket,
.blog-post-short,
.block-img .background-img,
.block-detail .block-text,
.block-detail,
.block-sponsor img,
.block-gallery li {
    transition: all 0.3s ease 0s;
}

.but {
    display: inline-block;
    position: relative;
    color: #ffffff;
    padding: 11px 40px;
    border-radius: 25px;
}

a.link {
    position: relative;
    display: inline-block;
    font-weight: 600;
    min-height: 22px;
}

    a.link:after {
        bottom: 0;
        content: "";
        right: 0;
        position: absolute;
        width: 100%;
        height: 3px;
    }

    a.link:after,
    .but,
    span a:after,
    p a:after {
        background: linear-gradient(45deg, rgba(57,155,255,1) 0%, rgba(238,113,249,1) 100%);
    }

/* End links */

/* Misc */

.pt-120 {
    padding-top: 120px !important;
}

.pb-120 {
    padding-bottom: 120px !important;
}

.mt-10 {
    margin-top: 10px !important;
}

.mb-100 {
    margin-bottom: 100px !important;
}

/* End misc */

/* Schedule section */

.block-tabs,
.block-tab {
    border: 1px solid #444444;
}

    .block-tabs li {
        border-bottom: 1px solid #444444;
        line-height: 60px;
        padding-left: 25px;
        cursor: pointer;
        position: relative;
    }

        .block-tabs li strong,
        .block-date strong {
            font-size: 17px;
        }

        .block-tabs li i,
        .block-tab li i {
            font-size: 20px;
            vertical-align: middle;
            margin-right: 25px;
        }

        .block-tabs li:last-child {
            border-bottom: 0;
        }

        .block-tabs li.active {
            background: #E82E89;
            border-bottom: 0;
        }

        .block-tabs li:first-child.active {
            border-radius: 5px 5px 0 0;
        }

        .block-tabs li:last-child.active {
            border-radius: 0 0 5px 5px;
        }

        .block-tabs li.active:before {
            border-bottom: 6px solid #444444;
            border-left: 6px solid transparent;
            border-right: 6px solid transparent;
            content: "";
            position: absolute;
            right: -10px;
            top: 50%;
            transform: rotate(90deg) translateX(-50%);
        }

    .block-tab li {
        display: none;
    }

        .block-tab li.active {
            display: block;
        }

        .block-tab li .block-date {
            background: #E82E89;
            line-height: 60px;
            padding-left: 25px;
            border-radius: 5px 5px 0 0;
        }

    .block-tab .block-detail {
        border-bottom: 1px solid #444444;
        padding: 25px;
        cursor: pointer;
        overflow: hidden;
    }

.block-detail-session {
    height: 100px;
    transition: height 0.3s ease;
    position: relative;
}

    .block-detail-session.open {
        height: auto !important;
        cursor: default;
    }


        .block-detail-session.open .img-hand {
            display: none;
        }

.img-hand {
    width: 16px;
    float: left;
    position: absolute;
    top: 37px;
    right: 20px;
    display: none;
}


.collapsed .img-hand {
    display: block !important;
}

.bullet , .palestrante{
   color: #fff;
}

hr{
    color: #c6c6c6 !important;
}

/* #collapseOne > div:nth-child(1) > div:nth-child(5) > hr:nth-child(4) {
    color: unset !important;
}

#collapseTwo > div:nth-child(1) > div:nth-child(5) > hr:nth-child(4) {
    color: unset !important;
}

#collapseThree > div:nth-child(1) > div:nth-child(5) > hr:nth-child(4) {
    color: unset !important;
}

#collapseFour > div:nth-child(1) > div:nth-child(5) > hr:nth-child(4) {
    color: unset !important;
}

#collapseFive > div:nth-child(1) > div:nth-child(5) > hr:nth-child(4) {
    color: unset !important;
}

#collapseSix > div:nth-child(1) > div:nth-child(5) > hr:nth-child(4) {
    color: unset !important;
}

#collapseSeven > div:nth-child(1) > div:nth-child(5) > hr:nth-child(4) {
    color: unset !important;
}

#collapseEight > div:nth-child(1) > div:nth-child(5) > hr:nth-child(4) {
    color: unset !important;
}

#collapseNine > div:nth-child(1) > div:nth-child(5) > hr:nth-child(4) {
    color: unset !important;
}

#collapseTen > div:nth-child(1) > div:nth-child(5) > hr:nth-child(4) {
    color: unset !important;
} */



.block-tab .block-detail:hover {
    background: #121212;
}

.block-tab .block-detail span {
    display: block;
    font-size: 15px;
}

.block-tab .block-detail .time {
    color: #ffffff;
    margin-bottom: 4px;
    font-weight: 500;
}

.block-tab .block-detail .speaker {
    margin-top: 20px;
    font-size: 14px;
    color: #ffffff;
}

    .block-tab .block-detail .speaker strong {
        font-weight: 500;
    }

.block-tab .block-detail .block-text {
    opacity: 1;
    max-height: unset;
    clear: both;
    margin-top: 20px;
}

.block-tab li .block-detail:last-child {
    border-bottom: 0;
    border-radius: 0 0 5px 5px;
}

/* End Schedule section */

/* Accordion (Bootstrap 5)  customização inspirada no seu CSS */

#scheduleAccordion {
    background: #111111;
    color: #cccccc;
    font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
}

    #scheduleAccordion .accordion-item {
        border: 1px solid #444444;
        border-radius: 6px;
        margin-bottom: 1rem;
        background: transparent;
    }

    #scheduleAccordion .accordion-header {
        margin: 0;
    }

    #scheduleAccordion .accordion-button {
        background: #222222;
        color: #cccccc;
        font-family: "Work Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
        font-weight: 600;
        text-transform: uppercase;
        padding: 1rem 1.25rem;
        border-bottom: 1px solid #444444;
        border-radius: 6px;
        transition: background 0.3s ease;
    }

        #scheduleAccordion .accordion-button:focus {
            box-shadow: none;
            outline: 0;
        }

        #scheduleAccordion .accordion-button:not(.collapsed) {
            background: #E82E89;
            color: #ffffff;
            border-bottom: none;
            border-radius: 10px 10px 0 0;
        }

            #scheduleAccordion .accordion-button:not(.collapsed)::after {
                transform: rotate(180deg);
            }

        #scheduleAccordion .accordion-button::after {
            filter: brightness(0) invert(1);
        }



    #scheduleAccordion .accordion-body {
        background: #111111;
        padding: 0;
        border-top: none;
    }

        #scheduleAccordion .accordion-body .block-date {
            background: #E82E89;
            color: #ffffff;
            line-height: 60px;
            padding: 0 1.25rem;
            font-family: "Work Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
            font-size: 17px;
        }

            #scheduleAccordion .accordion-body .block-date img,
            #scheduleAccordion .accordion-body .block-date i {
                vertical-align: middle;
                margin-right: 0.5rem;
                font-size: 20px;
            }

        #scheduleAccordion .accordion-body .block-detail {
            border-bottom: 1px solid #444444;
            padding: 1.5rem 1.25rem;
            display: block;
            align-items: flex-start;
            cursor: default;
            transition: background 0.3s ease;
            flex-direction: column;
        }

            #scheduleAccordion .accordion-body .block-detail:hover {
                background: #121212;
            }

            #scheduleAccordion .accordion-body .block-detail .time {
                color: #ffffff;
                font-weight: 500;
                font-size: 15px;
                width: 100px;
                flex-shrink: 0;
            }

            #scheduleAccordion .accordion-body .block-detail .topic {
                color: #E82E89;
                font-weight: 700;
                flex-grow: 1;
            }

            #scheduleAccordion .accordion-body .block-detail .img-sessao {
                width: 60px;
                margin-right: 1rem;
                float: left;
            }

            #scheduleAccordion .accordion-body .block-detail .block-text {
                margin-top: 1rem;
                clear: both;
                line-height: 1.6;
                color: #cccccc;
            }

            #scheduleAccordion .accordion-body .block-detail .speaker {
                margin-top: 1rem;
                font-size: 14px;
                color: #ffffff;
            }

                #scheduleAccordion .accordion-body .block-detail .speaker strong {
                    font-weight: 600;
                }

            #scheduleAccordion .accordion-body .block-detail:last-child {
                border-bottom: none;
                border-radius: 0 0 5px 5px;
            }

        #scheduleAccordion .accordion-body a {
            color: #399bff;
            position: relative;
            font-weight: 600;
            transition: color 0.3s ease;
        }

            #scheduleAccordion .accordion-body a:hover {
                color: #ee71f9;
            }

    #scheduleAccordion input::-webkit-input-placeholder {
        color: #ffffff;
        opacity: 0.4;
    }

    #scheduleAccordion input:-ms-input-placeholder {
        color: #ffffff;
        opacity: 0.4;
    }

    #scheduleAccordion input::-moz-placeholder {
        color: #ffffff;
        opacity: 0.4;
    }

    #scheduleAccordion input:-moz-placeholder {
        color: #ffffff;
        opacity: 0.4;
    }

/* VISITAS */

body {
    font-family: 'Roboto', sans-serif;
}

.topo-a3 {
    background-image: url('../img/bnn-workshops.png');
    background-size: cover;
    background-position: center;
}

.title-page {
    color: #FFF;
    text-align: center;
    font-family: Roboto, sans-serif;
    font-size: 79px;
    font-weight: 900;
    line-height: 1.1;
    padding: 97px 10px;
}

@media (max-width: 992px) {
    .title-page {
        font-size: 50px;
    }

    .img-sc {
        margin-right: 5px;
    }

    .accordion-item {
        padding: 0px !important;
    }

    .box-infos {
        padding-left: 25px;
    }

    #scheduleAccordion .accordion-body .block-detail {
        padding: 10px !important;
    }

    /*   #scheduleAccordion .accordion-item {
        margin-bottom: -20px;
    }*/

    #scheduleAccordion .accordion-button {
        border-radius: unset;
    }

    .palestrante-flag {
        width: 23px;
        position: absolute;
        left: -27px;
        top: 2px;
    }
    /*    #scheduleAccordion .accordion-button:not(.collapsed) {
        background: unset;
    }*/

    #headingDay1 #scheduleAccordion .accordion-button:not(.collapsed) {
        background-color: #E82E89 !important;
    }

    #headingDay1 #scheduleAccordion .accordion-button {
        background-color: unset;
    }

    .block-detail {
        border: unset !important;
    }

    #scheduleAccordion .accordion-item {
        margin-bottom: 16px;
    }

    img.img-hand:nth-child(4) {
        top: 18px;
        right: 6px;
    }

    img.img-hand:nth-child(2) {
        top: 15px;
        right: 6px;
    }


}

@media (max-width: 576px) {
    .title-page {
        font-size: 29px;
        padding: 40px 10px;
    }
}

.container-visitas {
    background-image: url('../images/visitas/fundo.webp');
    padding-bottom: 6em;
    position: relative;
}

.title-visitas {
    color: #53fda9;
}

.text-visitas {
    color: #fff;
    font-weight: 400;
    text-align: justify;
    font-family: "Roboto";
}

    .text-visitas span {
        color: #FFA07A;
        font-weight: 700;
        display: inline;
        top: 0;
    }

.title-table-visitas {
    color: #FFA07A;
    font-size: 27px;
    font-weight: bold;
    text-align: center;
    text-transform: uppercase;
}

.text-footer-visitas {
    color: #e82e89;
    font-size: 39px;
    font-weight: bolder;
    text-align: center;
    margin-bottom: 1em;
}

.fa-check-cicle {
    color: #37E288 !important;
}

.accordion-button {
    font-size: 15px !important;
}

/*  Botão Inscreva-se Visitas corrigido  */
.btn-inscrevase-visitas {
    display: inline-block;
    color: #fff;
    text-decoration: none;
    background-color: #E82E89;
    font-family: 'Montserrat', sans-serif;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 5px;
    padding: clamp(8px, 1.5vw, 10px) clamp(40px, 4vw, 50px);
    font-size: clamp(24px, 3vw, 35px);
    border-radius: 30px;
    transition: background-color 0.2s ease-in, transform 0.2s ease-in;
}

    .btn-inscrevase-visitas:hover {
        background-color: #C01E6D;
        transform: scale(1.05);
    }

.grade-sub-tematica {
    position: absolute;
    bottom: 0;
    width: 100%;
}

.table-visitas {
    background-color: #fff;
    border-radius: 10px;
    border: 1px solid #c6c6c630;
}

.larg-img {
    width: 100%;
    max-width: 73px;
    padding: 5px;
    display: block;
    margin: auto;
}

    .larg-img:hover {
        transform: scale(1.02);
        transition: 200ms ease-in;
    }

.fa-check-circle {
    color: #37E288 !important;
    font-size: 30px !important;
    line-height: 1;
}

.minus {
    font-size: 18px;
    line-height: 1;
    color: #b0b0b0 !important;
}

.table {
    margin-bottom: 0;
}

.table-bordered td,
.table-bordered th {
    border: unset;
    width: max-content;
    white-space: collapse;
    padding: .3rem;
}

.table-bordered thead td,
.table-bordered thead th {
    border-bottom-width: 2px;
    min-width: max-content;
    vertical-align: middle !important;
}

.fixed-column {
    position: sticky;
    left: 0;
    z-index: 1;
    padding-left: 30px !important;
}

.coluna-title {
    background-color: #52fca9;
    color: #2c0b48;
    text-align: left !important;
    font-size: 15px !important;
    line-height: 1.1 !important;
    text-transform: uppercase;
    font-weight: 800;
    padding: 30px 15px 30px 30px !important;
}

.shadow-left {
    box-shadow: -3px 0px 7px 0px rgba(13,13,13,0.17) !important;
}

.shadow-right {
    box-shadow: -3px 0px 7px 0px rgba(13,13,13,0.17) !important;
}

.inner-shadow::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 10px;
    height: 100%;
    background-image: linear-gradient(to left, rgba(0,0,0,0.1), transparent);
    pointer-events: none;
}

.th-empresas {
    box-shadow: inset -7px 0px 7px 0px rgba(145,145,145,0.15), 0px 4px 6px rgba(0,0,0,0.15) !important;
    min-width: 91px !important;
}

td {
    position: relative;
    padding: 10px;
}

.col-atividade-visitas {
    color: #28213f;
    font-weight: 600;
    text-transform: uppercase;
    font-size: 8px;
    line-height: 2;
}

.par {
    background-color: #E9E9F2 !important;
}

    .par svg,
    .impar svg {
        font-size: 16px;
    }

.impar {
    background-color: #fff !important;
    box-shadow: inset 0 0 0 9999px rgba(255,255,255,0.05) !important;
}

.tr-saida-color {
    background-color: #F29977 !important;
}

.tr-chegada-color {
    background-color: #DF4493 !important;
    color: #fff !important;
}

.tr-chegada > td {
    color: #fff !important;
}

.localidade-visitas {
    color: #28213f;
    font-weight: 600;
    text-transform: uppercase;
    font-size: 8px;
    white-space: break-spaces !important;
    height: auto;
}

.tr-saida {
    background-color: #F29977;
    font-weight: bold;
}

.tr-chegada {
    background-color: #DF4493 !important;
    color: #fff !important;
    font-weight: bold;
}

.td-chegada {
    color: #fff;
}

@media only screen and (min-width: 1340px){
    .hidden-aviso {
        display: none;
    }
}





.sobre-empresa {
    color: #000;
    font-size: 16px;
}

.matrix {
    max-width: 1600px;
}

/* Aqui seguem todas as media queries originais,
   exceto as que alteravam font-size de .btn-inscrevase-visitas */

/*  (media queries para VISITAS e Modal temáticas)  */

.row-agenda-tematicas {
    z-index: 40;
    bottom: 110px;
    position: relative;
}









/*WORKSHOPS*/


/* ========= Variáveis de cor ========= */
:root {
    --rosa: #E82E89;
    --amarelo: #FAC710;
    --branco: #FFFFFF;
    --cinza-escuro: #333333;
    --salmao: #FC8F7C;
    --preto: #000000;
}

.local-ws strong{
    font-weight: 700;
    color: #000;
}

.topo-a3 {
    background-image: url('../img/bnn-workshops.png');
    background-size: cover;
    background-position: center;
}


.title-page {
    color: #FFF;
    text-align: center;
    font-family: Roboto;
    font-size: 128px;
    font-style: normal;
    font-weight: 900;
    line-height: 1.1;
    text-transform: uppercase;
}

.data-page {
    color: #FAC710;
    text-align: center;
    font-family: Roboto;
    font-size: 64px;
    font-style: normal;
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: 36.48px;
    text-transform: uppercase;
}

.subtitle-page {
    color: #FFF;
    text-align: center;
    font-family: Roboto;
    font-size: 32px;
    font-style: normal;
    font-weight: 800;
    line-height: 1.1;
    text-transform: capitalize;
}


.bg-amarelo {
    background-color: var(--amarelo);
}

.bg-salmao {
    background-color: var(--salmao);
}

/* ========= Container de largura fixa ========= */
.container-fluid {
    max-width: 1920px;
    margin: 0 auto;
}

/* ========= Tipografia responsiva ========= */


.box-ws {
    border-top: 3px solid #000;
    border-bottom: 3px solid #000;
    margin-left: 25px;
    margin-right: 25px;
}



/* ========= Seção Esquerda ========= */
.secao-esquerda {
    position: relative;
    padding: 4rem 3rem;
    font-family: "Roboto";
}

    .secao-esquerda .texto-vertical {
        /* apagar top, left e translateY */
        position: static;
        /* ou remova completamente */
        transform: rotate(-90deg);
        transform-origin: center center;
        font-size: 140px;
        font-weight: 700;
        opacity: 0.15;
        white-space: nowrap;
        line-height: 1;
    }


    .secao-esquerda .titulo-principal {
        font-size: 44px;
        font-weight: 500;
        line-height: 1.2;
    }

        .secao-esquerda .titulo-principal span {
            font-weight: 900;
            display: inline;
            font-size: inherit;
        }

        .secao-esquerda .titulo-principal .text-warning {
            color: var(--amarelo) !important;
        }

    .secao-esquerda .subtitulo {
        margin-top: 48px;
        font-size: 24px;
        font-weight: 700;
        color: var(--amarelo);
        text-transform: uppercase;
    }

    .secao-esquerda .subtitulo-menor {
        font-size: 20px;
        font-weight: 700;
        color: var(--amarelo);
        line-height: 2;
    }

    .secao-esquerda p {
        font-size: 19px;
        line-height: 1.5;
        margin-top: 10px;
        text-align: justify;
        margin-bottom: 25px;
    }

        .secao-esquerda p strong {
            color: var(--branco);
            text-transform: unset;
            font-weight: 700;
        }

/* ========= Seção Direita ========= */
.secao-direita {
    background-color: var(--branco);
    color: var(--cinza-escuro);
    padding: 36px 54px 18px;
    font-family: "Roboto";
}

    .secao-direita .box-instrutor {
        position: relative;
    }

    .secao-direita .instrutor img {
        width: 8rem;
        height: 8rem;
        object-fit: cover;
    }

    .secao-direita .nome-instrutor {
        font-size: 24px;
        font-weight: 400;
        width: 95%;
    }

        .secao-direita .nome-instrutor span {
            font-weight: 700;
            color: var(--rosa)
        }

.btn-rosa {
    border: 2px solid var(--rosa);
    color: var(--rosa);
    font-weight: 700;
    padding: 9px 27px;
    border-radius: 30px;
    transition: all 0.3s;
    font-family: "Montserrat";
    letter-spacing: 2.88px;
    font-size: 24px;
    line-height: 0.9;
}

    .btn-rosa:hover {
        background-color: var(--rosa);
        color: var(--branco);
    }

.titulo-secao {
    font-size: 24px;
    font-weight: 700;
    color: var(--rosa);
    margin-bottom: 1rem;
    text-transform: uppercase;
    z-index: 99;
    position: relative;
}

.secao-direita p {
    font-size: 20px;
    line-height: 1.5;
}

.btn-inscrever {
    background-color: var(--rosa);
    color: var(--branco);
    font-size: 24px;
    padding: 13.4px 38px;
    border-radius: 2rem;
    float: right;
    margin-top: 2rem;
    line-height: 0.6;
    letter-spacing: 2px;
    font-family: Montserrat;
    font-weight: 700;
    text-decoration: none;
}

.secao-direita hr {
    border-top: 3px solid #000;
    margin: 30px auto;
    opacity: 1;
    width: 96%;
}

.flag-instrutor {
    position: absolute;
    right: 15px;
    width: 50px;
    bottom: 0px;
}

.horario-ws {
    font-weight: 700;
    color: #000 !important;
}

.local-ws span {
    color: var(--rosa);
    font-weight: 700;
}

.bgimg-rosa {
    background-color: var(--rosa);
    color: var(--branco);
    border-radius: 50%;
    padding: 0 0 0 10px;
}

.bg-rosa {
    background-color: var(--rosa);
    color: var(--branco);
}

.bg-amarelo {
    background-color: var(--amarelo);
    color: var(--preto);
}

    .bg-amarelo .titulo-principal {
        color: var(--branco);
    }

    .bg-amarelo .subtitulo,
    .bg-amarelo .subtitulo-menor {
        color: var(--rosa);
    }

    .bg-amarelo p strong {
        color: var(--preto);
    }

    .bg-amarelo .titulo-principal .text-warning {
        color: var(--rosa) !important;
    }

    .bg-amarelo .texto-vertical {
        color: #FFF;
    }

.bg-salmao {
    background-color: var(--salmao);
    color: var(--branco);
}

    .bg-salmao .titulo-principal {
        color: var(--branco);
    }

    .bg-salmao .subtitulo,
    .bg-salmao .subtitulo-menor {
        color: var(--preto);
    }

        .bg-salmao .subtitulo-menor span {
            color: var(--branco);
            font-weight: 400;
        }

    .bg-salmao p strong {
        color: var(--branco) !important;
    }

    .bg-salmao .titulo-principal .text-warning {
        color: var(--preto) !important;
    }

.mtp-5 {
    margin-top: 48px;
}

.logotipo-case-texto {
    height: 90px;
}

.logotipo-case {
    height: 120px;
    margin-top: -20px;
}


.flag-instrutor-modal {
    position: absolute;
    right: 15px;
    width: 30px;
    bottom: 0px;
}

.box-modal {
    border: 10px solid var(--rosa);
    border-radius: 30px;
    padding: 10px;
    background-color: var(--branco);
}


.modal-body {
    background-image: unset;
}



.custom-close-btn {
    background-image: none;
    background-color: var(--rosa);
    border-radius: 50%;
    width: 33px;
    height: 33px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 23px;
    border: none;
    box-shadow: none;
    cursor: pointer;
    padding: 0;
    font-family: Montserrat;
    font-weight: 900;
    position: absolute;
    top: 2%;
    right: 2%;
}

.w-instrutor-modal {
    width: 95%;
}

    .w-instrutor-modal span {
        color: var(--rosa) !important;
        font-weight: 900;
        font-size: 24px;
    }

.btn-fechar-custom {
    background-color: var(--rosa);
    border-radius: 20px;
    border: 0;
}

.modal-body {
    /* força overflow se quiser */
    overflow-y: auto;
}

    /* largura da barra */
    .modal-body::-webkit-scrollbar {
        width: 8px;
    }

    /* fundo do trilho */
    .modal-body::-webkit-scrollbar-track {
        background: #f1f1f1;
        border-radius: 4px;
    }

    /* “polegar” (a parte que você arrasta) */
    .modal-body::-webkit-scrollbar-thumb {
        background-color: #ff66b2;
        /* rosa */
        border-radius: 4px;
        border: 2px solid #f1f1f1;
        /* cria um espaçamento interno */
    }

    /* opcional: canto onde se encontram hor/ver */
    .modal-body::-webkit-scrollbar-corner {
        background: transparent;
    }

.modal-body {
    scrollbar-width: thin;
    /* “auto”, “thin” ou “none” */
    scrollbar-color: #ff66b2 #f1f1f1;
    /* polegar e trilho */
    color: #000;
}

.modal-header .nome-instrutor {
    font-size: 24px;
    color: #000;
}

.modal-body p {
    font-size: 18px;
    color: #000 !important
}

.modal-body p strong {
    font-size: 18px;
    color: #000 !important;
    font-weight: 700;
}

@media (max-width: 575.98px) {
    .title-page {
        font-size: 50px;
    }

    .data-page {
        font-size: 25px;
        letter-spacing: 15px;
    }

    .subtitle-page {
        font-size: 16px;
    }


    .box-ws {
        margin-left: 15px;
        margin-right: 15px;
    }

    .secao-esquerda .texto-vertical {
        font-size: 14vw;
    }

    .secao-esquerda {
        padding: 3rem 2rem;
    }

        .secao-esquerda .titulo-principal {
            font-size: 32px;
        }

        .secao-esquerda .subtitulo {
            font-size: 20px;
            margin-top: 36px;
        }

        .secao-esquerda .subtitulo-menor {
            line-height: 1.1;
        }

        .secao-esquerda p {
            font-size: 16px;
            margin-top: 8px;
            margin-bottom: 16px;
        }

    .secao-direita {
        padding: 36px 15px 18px;
    }

        .secao-direita .box-instrutor {
            position: relative;
            margin: 10px auto 30px;
        }

        .secao-direita .nome-instrutor {
            font-size: 20px;
            text-align: center;
            width: 80%;
            margin: 10px auto 30px;
        }

        .secao-direita p {
            font-size: 18px;
        }

    .btn-rosa {
        font-size: 20px;
        padding: 0.5rem 1rem;
        margin: auto;
    }

    .w-instrutor-modal {
        width: 90%;
        margin: 20px auto;
        text-align: center;
    }

    .modal-header .nome-instrutor {
        font-size: 20px;
    }

    .modal-body p {
        font-size: 15px;
    }
}

@media (min-width: 576px) and (max-width: 767.98px) {
    .title-page {
        font-size: 80px;
    }

    .data-page {
        font-size: 44px;
        letter-spacing: 20px;
    }

    .subtitle-page {
        font-size: 22px;
    }


    .title-page {
        font-size: 80px;
    }

    .data-page {
        font-size: 44px;
        letter-spacing: 20px;
    }

    .subtitle-page {
        font-size: 22px;
    }

    .box-ws {
        margin-left: 2.604vw;
        margin-right: 2.604vw;
    }

    .secao-esquerda .texto-vertical {
        font-size: 14vw;
    }

    .secao-esquerda {
        padding: 3.5rem 2.5rem;
    }

        .secao-esquerda .titulo-principal {
            font-size: 4.688vw;
        }

        .secao-esquerda .subtitulo {
            font-size: 2.865vw;
            margin-top: 5.469vw;
        }

        .secao-esquerda p {
            font-size: 2.214vw;
            margin-top: 1.172vw;
            margin-bottom: 2.604vw;
        }

    .secao-direita {
        padding: 36px 15px 18px;
    }

        .secao-direita .nome-instrutor {
            font-size: 2.865vw;
        }

        .secao-direita p {
            font-size: 2.474vw;
        }

    .btn-rosa {
        font-size: 2.865vw;
        padding: 0.5rem 1.25rem;
    }

    .modal-header .nome-instrutor {
        font-size: 20px;
    }

    .modal-body p {
        font-size: 15px;
    }
}

@media (min-width: 768px) and (max-width: 991.98px) {
    .title-page {
        font-size: 80px;
    }

    .data-page {
        font-size: 44px;
        letter-spacing: 20px;
    }

    .subtitle-page {
        font-size: 22px;
    }

    .box-ws {
        margin-left: 22px;
        margin-right: 22px;
    }

    .secao-esquerda {
        padding: 4rem 3rem;
    }

        .secao-esquerda .titulo-principal {
            font-size: 40px;
        }

        .secao-esquerda .subtitulo {
            font-size: 24px;
            margin-top: 45px;
        }

        .secao-esquerda p {
            font-size: 18px;
            margin-top: 10px;
            margin-bottom: 22px;
        }

    .secao-direita .nome-instrutor {
        font-size: 24px;
    }

    .secao-direita p {
        font-size: 20px;
    }

    .btn-rosa {
        font-size: 24px;
        padding: 0.5rem 1.5rem;
    }

    .modal-header .nome-instrutor {
        font-size: 20px;
    }

    .modal-body p {
        font-size: 15px;
    }
}

@media (min-width: 992px) and (max-width: 1919.98px) {

    .title-page {
        font-size: 80px;
    }

    .data-page {
        font-size: 44px;
        letter-spacing: 20px;
    }

    .subtitle-page {
        font-size: 22px;
    }

    .mtp-5 {
        margin-top: 2vw;
    }


    .box-ws {
        margin-left: 1.3vw;
        /* 25px → 25/1920*100 = 1.3vw */
        margin-right: 1.3vw;
        border-top-width: 0.16vw;
        /* 3px → 3/1920*100 = 0.16vw */
        border-bottom-width: 0.16vw;
    }

    .secao-esquerda {
        padding: 4rem 3rem;
        /* mantém rem */
    }

        .secao-esquerda .texto-vertical {
            font-size: 7.3vw;
            /* 140px → 140/1920*100 = 7.3vw */
        }

        .secao-esquerda .titulo-principal {
            font-size: 2.3vw;
            /* 44px → 44/1920*100 = 2.3vw */
            line-height: 1.2;
        }

        .secao-esquerda .subtitulo {
            font-size: 1.25vw;
            /* 24px → 24/1920*100 = 1.25vw */
            margin-top: 2.5vw;
            /* 48px → 2.5vw */
        }

        .secao-esquerda .subtitulo-menor {
            font-size: 1.04vw;
            /* 20px → 1.04vw */
            line-height: 2;
        }

        .secao-esquerda p {
            font-size: 0.99vw;
            /* 19px → 0.99vw */
            margin-top: 0.52vw;
            /* 10px → 0.52vw */
            margin-bottom: 1.3vw;
            /* 25px → 1.3vw */
        }

    .secao-direita .instrutor img {
        width: 8rem;
        height: 8rem;
    }

    .secao-direita .nome-instrutor {
        font-size: 1.25vw;
        /* 24px → 1.25vw */
    }


    .secao-direita .titulo-secao {
        font-size: 1.25vw;
    }

    .secao-direita .horario-ws {
        font-size: 1.25vw;
        color: #000;
    }

    .secao-direita p {
        font-size: 1.04vw;
        /* 20px → 1.04vw */
    }

    .btn-rosa {
        border-width: 0.1vw;
        /* 2px → 0.1vw */
        padding: 0.5vw 2vw;
        font-size: 1.25vw;
        /* 24px → 1.25vw */
        letter-spacing: 0.15vw;
        /* 2.88px → 0.15vw */
        border-radius: 1.56vw;
        /* 30px → 1.56vw */
    }

    .btn-inscrever {
        font-size: 1.3vw;
        /* 20px → 1.04vw */
        padding: 0.7vw 2vw;
        /* mantém rem */
        border-radius: 2vw;
        /* 2rem ≈ 2vw */
    }

    hr {
        border-top-width: 0.16vw;
        /* 3px → 0.16vw */
        margin: 1.56vw auto;
        /* 30px → 1.56vw */
        width: 96%;
    }

    .flag-instrutor {
        width: 2.6vw;
        /* 50px → 2.6vw */
        right: 0.8vw;
        /* 15px → 0.8vw */
    }

    .logotipo-case-texto {
        height: 90px;
    }

    .logotipo-case {
        height: 120px;
        margin-top: -20px;
    }
}

.box-flag-ws {
    background-color: #4A4A4A;
    position: relative;
    justify-content: center;
    display: flex;
    align-items: center;
    width: 50px;
    height: 50px;
    border-radius: 50%;
}

.img-ws {
    width: 32px;
    margin: auto;
    display: flex;
}


.secao-esquerda .titulo-principal span {
    font-weight: 900;
    display: inline;
    font-size: inherit;
}

#accordionSessionsWSmob .accordion-button:not(.collapsed) {
    background: #000;
}