@media (min-width: 992px) {
    .container, .container-lg, .container-md, .container-sm {
        max-width: calc(100% - 40px);
    }
}

@media (min-width: 1200px) {
    .container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
        max-width: calc(100% - 40px);
    }
}

@media (min-width: 1440px) {
    .container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
        max-width: 1360px;
    }
}

@media (min-width: 1500px) {
    .container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
        max-width: 1428px;
    }

}

.container, .container-fluid, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
    --bs-gutter-x: 1.75rem;
}

.row {
    --bs-gutter-x: 1.75rem;
}

body {
    font-family: 'Inter', sans-serif;
    font-weight: 400;
    font-size: 16px;
    letter-spacing: 0.01em;
    color: #000000;
    opacity: 0;
    transition: opacity .6s ease;
}

#preloader {
    position: fixed;
    inset: 0;
    z-index: 9999999;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #ffffff;
    opacity: 1;
    transition: opacity .5s ease;
}

#preloader.preloader-hide {
    opacity: 0;
    pointer-events: none;
}

#preloader-logo {
    width: 430px;
    max-width: 50vw;
    height: auto;
    filter: brightness(0);
}

@media (max-width: 767px) {
    #preloader-logo {
        width: 160px;
    }
}

body.fade-in {
    opacity: 1;
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'Inter', sans-serif;
    font-weight: 400;
}

.desk_video {
    display: block;
}

.mob_video {
    display: none;
}

strong {
    font-weight: 700;
}

header#desktop-header {
    position: absolute;
    top: 42px;
    left: 0;
    width: 100%;
    z-index: 100;
    transition: all 0.3s ease;
}

header#desktop-header.scrolled,
header#desktop-header.scrolled.blackonly {
    background-color: #ffffff;
    position: fixed;
    top: 0;
    padding: 27px 0;
}

header#desktop-header.black.scrolled {
    background-color: #EBE8E5;
}

.nav-container {
    display: flex;
    justify-content: center;
    align-items: center;
}

header#desktop-header nav ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    gap: 39px;
}

header#desktop-header nav ul li {

}

header#desktop-header nav ul li a {
    color: #ffffff;
    font-size: 15px;
    line-height: 1.25em;
    text-decoration: none;
    position: relative;
}

header#desktop-header.scrolled nav ul li a {
    color: #000000;
}

header#desktop-header.black nav ul li a,
header#desktop-header.blackonly nav ul li a {
    color: #000000;
}

header#desktop-header nav ul li a::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -4px;
    width: 0;
    height: 1px;
    background-color: #ffffff;
    transition: width 0.3s ease;
}

header#desktop-header.scrolled nav ul li a::after {
    background-color: #000000;
}

header#desktop-header.black nav ul li a::after,
header#desktop-header.blackonly nav ul li a::after {
    background-color: #000000;
}

header#desktop-header nav ul li a:hover::after {
    width: 100%;
}

body:not(.home) header#desktop-header .current-menu-item a::after {
    width: 100%;
}

header#desktop-header.scrolled .header-logo img {
    filter: brightness(0);
}

.linkedin-link a svg path {
    fill: #ffffff;
    transition: fill 0.3s ease;
}

.black .linkedin-link a svg path {
    fill: #333333;
}

.linkedin-link a:hover svg path {
    fill: #3399FF;
}


.top_baner {
    position: relative;
    height: 100vh;
}

.top_desc_home video {
    width: 100%;
    object-fit: cover;
    height: 100vh;
}

/* Darkens the hero video only - contained inside .home_top_baner, a
   sibling that comes BEFORE .lines (the hero text/scroll-down link) in
   the markup, so it can never paint over them regardless of z-index. */
.hero-video-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background-color: rgba(0, 0, 0, 0.25);
    pointer-events: none;
}

#hero-video::-webkit-media-controls {
    display: none !important;
}

.lines {
    position: absolute;
    width: 100%;
    top: 0;
    left: 0;
    height: 100%;
}

.lines .container {
    height: 100%;
    position: relative;
}

.line {
    display: none !important;
    width: 27px;
    height: 4px;
    background-color: #ffffff;
    position: absolute;
}

#top1 {
    top: 35%;
}

#top2 {
    bottom: 13.3%;
}

#top3 {
    bottom: 30%;
    right: 0;
}

#top4 {
    bottom: 13.3%;
    left: -19%;
}

#scroll-down {
    position: absolute;
    bottom: 75px;
    right: 14px;
    transition: all 0.3s ease;
}

#scroll-down:hover {
    transform: translateY(-8px);
}

.video-title {
    position: absolute;
    left: 14px;
    bottom: 75px;
    color: #ffffff;
}

.video-title h1 {
    font-size: 54px;
    line-height: 62px;
    font-weight: 300;
    letter-spacing: 0.025em;
    margin-bottom: 20px;
}

.video-title p {
    opacity: .65;
    letter-spacing: 0.005em;
}


#perfect-vision {
    padding-top: 69px;
    padding-bottom: 82px;
    background-color: #EFEFEF;
}

#perfect-vision .container {
    position: relative;
}

#perfect-vision h2 {
    font-size: 67px;
    line-height: 70px;
    letter-spacing: 0.02em;
    margin-bottom: 23px;
}

#perfect-vision p {
    font-size: 22px;
    line-height: 30px;
    letter-spacing: 0.01em;
    margin-bottom: 0;
}

.line.dark {
    background-color: #333333;
}

#perf1 {
    margin-top: 15px;
}

#perf2 {
    margin-top: 135px;
}

#perf3 {
    margin-top: 12px;
}

#perf4 {
    margin-top: 12px;
    left: -19%;
}

.video-wrap {
    position: relative;
}

.home_two_baners {
    background-color: #EFEFEF;
    padding-bottom: 280px;
}

.home_two_baner_video {
    position: relative;
}

.home_two_baner_video p {
    margin: 0;
}

.home_two_baner_video video {
    width: 706px;
    height: 665px;
    object-fit: cover;
    right: 0;
    position: absolute;
}

.video-progress {
    position: absolute;
    top: 25px;
    right: 25px;
    width: 49px;
    height: 49px;
    pointer-events: none;
    filter: drop-shadow(0 2px 6px rgba(0, 0, 0, .4));
}

.home_people {
    padding-top: 130px;
    background-color: #333333;
    padding-bottom: 110px;
    position: relative;
}

.home_people h3 {
    color: #ffffff;
    font-size: 38px;
    letter-spacing: 0.02em;
    line-height: 46px;
    margin-top: 30px;
}

.home_people .image-container {
    margin-bottom: 29px;
}

.under-image-disclaimer {
    color: #9b9b9b;
    font-size: 14px;
    line-height: 19px;
    letter-spacing: 0.01em;
    margin-top: 10px;
}

.whatif {
    position: relative;
    padding-top: 40px;
    margin-top: 140px;
}

#auto2, #auto3 {
    top: 0;
}

#auto3 {
    right: 0;
}

.whatif h3 {
    font-size: 40px;
    line-height: 46px;
    letter-spacing: 0.02em;
    width: 80%;
    margin-top: 0;
}

.whatif p {
    width: 80%;
    font-size: 18px;
    letter-spacing: 0.01em;
    line-height: 23px;
    color: #ffffff;
    margin-top: 38px;
    margin-bottom: 27px;
}

.button {
    display: inline-block;
    font-size: 14px;
    line-height: 17px;
    letter-spacing: 0;
    text-align: center;
    padding: 19px 30px;
    background-color: #ffffff;
    color: #000000;
    text-decoration: none;
    border: none;
    border-radius: 10px;
    transition: all 0.3s ease;
}

.newsletter form.fluent_form_3 .wpf_has_custom_css.ff-btn-submit,
.newsletter form.fluent_form_5 .wpf_has_custom_css.ff-btn-submit {
    display: inline-block;
    margin-top: 30px;
    font-size: 90px;
    line-height: 110px;
    letter-spacing: 0.01em;
    font-weight: 300;
    text-align: left;
    padding: 0;
    background-color: transparent;
    color: #9b9b9b;
    text-decoration: none;
    border: none;
    border-bottom: 1px solid #535353;
    border-radius: 0;
    transition: all 0.3s ease;
}

.newsletter form.fluent_form_3 .wpf_has_custom_css.ff-btn-submit::after {
    content: "\f061";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    font-size: 32px;
    line-height: 50px;
    color: #9b9b9b;
    position: absolute;
    border: 3px solid #9b9b9b;
    right: 0;
    bottom: 25px;
    border-radius: 50%;
    padding: 4px;
    width: 48px;
    height: 48px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.newsletter form.fluent_form_3 .wpf_has_custom_css.ff-btn-submit:hover,
.newsletter form.fluent_form_5 .wpf_has_custom_css.ff-btn-submit:hover {
    color: #E09F76;
    border-color: #E09F76;
    background-color: transparent;
    box-shadow: none;
}

.newsletter form.fluent_form_3 .wpf_has_custom_css.ff-btn-submit:hover::after {
    color: #E09F76;
    border-color: #E09F76;
}

.button:hover {
    background-color: #000000;
    color: #ffffff;
    opacity: 1;
}

#auto4 {
    right: 0;
    bottom: 0;
}

#auto5 {
    right: -19%;
    bottom: 30px;
}

.home_people .container {
    position: relative;
}

footer {
    position: relative;
    z-index: 99999;
    min-height: 100vh;
    display: flex;
    background-color: #000000;
    padding-top: 75px;
    padding-bottom: 75px;
}

footer .container {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    flex: 1;
}

.footer-text p {
    color: #a3a3a3;
    font-size: 14px;
    line-height: 22px;
    letter-spacing: 0;
    margin-bottom: 0;
}

.first-footer-row {
    align-items: center;
}

.second-footer-row .footer-links-div {
    gap: 40px;
}

.second-footer-row .title {
    display: block;
    color: #fff;
    font-size: 16px;
    line-height: 20px;
    letter-spacing: 0;
    margin-bottom: 30px;
    font-weight: 500;
}

.second-footer-row .newsletter .title {
    font-size: 14px;
    line-height: 17px;
}

.footer-links a {
    display: block;
    font-weight: 400;
    text-decoration: none;
    color: #A3A3A3;
    font-size: 16px;
    line-height: 20px;
    margin-bottom: 15px;
    transition: color 0.3s ease;
}

.footer-links a:hover {
    color: #fff;
}

.third-footer-row {
    align-items: center;
}

.third-footer-row .social,
#mobile-menu .social {
    display: flex;
    gap: 22px;
}

.third-footer-row .social a,
#mobile-menu .social a {
    font-size: 17px;
    color: #fff;
    transition: all 0.3s ease;
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: #2F2F2F;
}

.third-footer-row .social a:hover,
#mobile-menu .social a:hover {
    background-color: #fff;
    color: #000;
}

.copy {
    font-size: 11px;
    color: #707070;
    line-height: 14px;
    letter-spacing: 0;
}

.footer-menu {
    display: flex;
    justify-content: flex-end;
    gap: 45px;
}

.footer-menu a {
    font-size: 13px;
    line-height: 17px;
    letter-spacing: 0;
    color: #707070;
    text-decoration: none;
    transition: color 0.3s ease;
}

.footer-menu a:hover {
    color: #fff;
}

.newsletter .ff-default .ff-el-form-control.newsletter-email-field {
    background-color: transparent;
    border-radius: 0;
    padding: 0 0 14px;
    font-size: 26px;
    line-height: 31px;
    border: none;
    letter-spacing: 0;
    color: #A3A3A3;
    font-weight: 300;
    font-family: 'Inter', sans-serif;
    border-bottom: 1px solid #535353;
    width: 50%;
}

.ff-default .ff-el-form-control.newsletter-email-field::placeholder {
    color: #A3A3A3;
}

.frm-fluent-form .ff-t-cell .ff_submit_btn_wrapper_custom button.button {
    margin-bottom: 0;
}

.newsletter .frm-fluent-form .ff-t-cell .ff_submit_btn_wrapper_custom {
    margin-top: 0;
}

.newsletter .fluentform .ff-el-group {
    margin-bottom: 0;
}

.newsletter .frm-fluent-form .ff-t-container {
    align-items: center;
    gap: 1px;
}

.newsletter .ff-default .ff-el-form-control:focus {
    background-color: transparent;
    border-color: #A3A3A3;
    color: #A3A3A3;
    outline: none;
}

.footer_links {
    padding-top: 100px;
}

.contact-info {
    padding-top: 45px;
}

.contact-info p {
    color: #CAC5BD;
    font-size: 18px;
    line-height: 29px;
    letter-spacing: 0.01em;
    margin-bottom: 45px;
}

.contact-info .mail-link {
    font-size: 17px;
    line-height: 29px;
    letter-spacing: 0.01em;
    color: #CAC5BD;
    text-decoration: none;
    padding-bottom: 12px;
    position: relative;
}

.contact-info .mail-link::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 1px;
    background-color: #CAC5BD;
    opacity: 0;
    transition: opacity 0.5s ease;
}

.contact-info .mail-link:hover::after {
    opacity: 1;
}

.footer_links .last-one {
    text-align: right;
}

.last-one {
    position: relative;
}

#foot4, #foot5 {
    right: 14px;
}

#foot4 {
    top: 0;
}

#foot5 {
    bottom: 0;
}

.linkedin-footer {
    background: #ffffff;
    color: #000000;
    width: 39px;
    height: 39px;
    font-size: 24px;
    text-align: center;
    display: inline-block;
    border-radius: 50%;
    line-height: 39px;
    transition: all 0.3s ease;
}

.linkedin-footer:hover {
    background: #3399FF;
}

footer .line {
    background-color: #CAC5BD;
}

.footer-bottom {
    padding-top: 45px;
}

.copyright {
    color: #79696D;
    font-size: 13px;
    line-height: 16px;
    letter-spacing: 0.01em;
    margin: 0;
}

.footer-glasses {
    text-align: right;
    padding-right: 20px;
}

#foot6 {
    right: -19%;
}

#foot3 {
    left: -19%;
}


#join2 {
    left: -19%;
}

#join3 {
    bottom: 0;
}

#join5 {
    margin-top: 240px;
}

#join6 {
    right: -19%;
    bottom: 0;
}

#hero {
    height: 100vh;
    padding-top: 30vh;
}

#hero .container {
    position: relative;
}

#hero h3 {
    margin-top: -10px;
    font-size: 53px;
    line-height: 64px;
    font-weight: 300;
    letter-spacing: 0.01em;
    color: #ffffff;
    margin-bottom: 62px;
}

#hero p {
    font-size: 22px;
    line-height: 32px;
    letter-spacing: 0.01em;
    color: #ffffff;
    margin-bottom: 28px;
}

#hero .team_top_desc a {
    font-size: 21px;
    line-height: 28px;
    letter-spacing: 0.01em;
    color: #ffffff;
    text-decoration: none;
}

#hero .team_top_desc a span {
    display: inline-block;
    animation: bounce 1s ease-in-out infinite;
}

@keyframes bounce {
    0%, 100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(5px);
    }
}

#our-team {
    padding-top: 90px;
    padding-bottom: 50px;
}

.team-box {
    margin-bottom: 45px;
}

.team_img {
    overflow: hidden;
    margin-bottom: 20px;
    cursor: pointer;
}

.team_img img {
    width: 100%;
    transition: all 0.3s ease;
}

.team_img:hover img {
    transform: scale(1.07);
}

.team_img:hover ~ .team_desc .linkedin-team {
    color: #333333;
    line-height: 26px;
    border-bottom: 1px solid #333333;
}

.team_desc h4,
.partner h4 {
    color: #333333;
    font-size: 20px;
    line-height: 26px;
    letter-spacing: 0;
    font-weight: 500;
    margin-bottom: 4px;
}

.team_desc h4 {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.team_desc h4 a {
    color: #ACA79E;
    font-size: 16px;
    letter-spacing: 0.01em;
    line-height: 26px;
    height: 26px;
}

.team_desc .position,
.partner .position {
    display: block;
    font-size: 14px;
    color: #333333;
    line-height: 26px;
    letter-spacing: 0;
    margin-bottom: 0;
}

.partner .position {
    margin-bottom: 10px;
}

.linkedin-team {
    font-size: 16px;
    line-height: 27px;
    color: #ACA79E;
    font-weight: 400;
    text-decoration: none;
    letter-spacing: 0.01em;
    display: inline-block;
    transition: color 0.3s ease;
}

.linkedin-team:hover {
    color: #333333;
    line-height: 26px;
    border-bottom: 1px solid #333333;
}

#our-partners .bg-gray {
    background-color: #EBE8E5;
    padding: 160px 0 180px;
}

#our-partners .container {
    position: relative;
}

#our-partners h3 {
    color: #333333;
    font-size: 43px;
    line-height: 1em;
    letter-spacing: 0.02em;
    margin-bottom: 60px;
}

@media screen and (min-width: 1600px) {
    #our-partners {
        padding: 0 140px;
    }
}

@media screen and (min-width: 1300px) {
    #our-partners {
        padding: 0 70px;
    }
}

#partn1 {
    margin-top: 115px;
}

#partn2 {
    margin-top: 250px;
}

#partn3 {
    margin-top: 450px;
}

#partn4 {
    bottom: 170px;
}

#partn5 {
    bottom: 70px;
}

.partners {
    display: flex;
    flex-wrap: wrap;
}

.partner {
    flex: 0 0 calc(50% - 50px);
    margin-bottom: 40px;
}

.partner:last-child {
    margin-bottom: 0;
}

.partner:nth-child(odd) {
    margin-right: 100px;
}

.partner-link {
    color: #333333;
    background: #ffffff;
    width: 29px;
    height: 29px;
    display: inline-block;
    text-align: center;
    line-height: 29px;
    border-radius: 50%;
    font-size: 14px;
    transition: all 0.3s ease;
}

.partner-link:hover {
    color: #ffffff;
    background: #333333;
}

#logos {
    padding-top: 144px;
    padding-bottom: 157px;
}

.logo-box {
    text-align: center;
}

.logo-box span {
    display: block;
    border-top: 1px solid #cccccc;
    padding-top: 27px;
    font-size: 16px;
    color: #333333;
    letter-spacing: 0.01em;
    line-height: 24px;
    margin-bottom: 10px;
}

.opto-partners-content {
    margin-top: 85px;
    margin-bottom: 85px;
}

#hero .opto-partners-content p {
    margin-bottom: 42px;
    font-size: 24px;
    line-height: 35px;
    letter-spacing: 0.02em;
}

#optoh2, #optoh3, #optoh5 {
    bottom: 0;
}

#optoh4 {
    right: 14px;
    top: 195px;
}

#optoh5 {
    right: -19%;
}

#reach-out {
    background-color: #EBE8E5;
    padding-top: 246px;
    padding-bottom: 236px;
}

#reach3 {
    bottom: 0;
}

#reach2 {
    bottom: 105px;
}

#reach-out .container {
    position: relative;
}

.reach-out-content {
    padding-top: 115px;
}

.reach-out-content p {
    font-size: 32px;
    letter-spacing: 0.02em;
    line-height: 45px;
    margin: 0;
}

.reach-out-content p a {
    color: inherit;
}

.reach-out-form {
    padding: 66px 55px 15px 68px;
    width: 87.5%;
    background-color: #ffffff;
    border-radius: 10px;
}

.mini-form-logo {
    margin-bottom: 60px;
}

.reach-out-form .fuller-opto-form .fuller-input,
.reach-out-form .fuller-opto-form .fuller-input:focus {
    padding: 3px 0;
    border: none;
    border-radius: 0;
    border-bottom: 1px solid #cccccc;
    margin-bottom: 5px;
    font-size: 16px;
    color: #333333;
    letter-spacing: 0.01em;
    line-height: 35px;
    background-color: transparent;
    font-family: 'Inter', sans-serif;
}

.reach-out-form .fuller-opto-form .fuller-input::placeholder {
    color: #333333;
}

.reach-out-form .fuller-opto-form textarea.fuller-input {
    margin-top: -15px;
    margin-bottom: 25px;
    height: 80px;
}

.reach-out-form .fuller-opto-form textarea.fuller-input:focus {
    margin-bottom: 25px;
}

.reach-out-form .fuller-opto-form .wpf_has_custom_css.ff-btn-submit {
    padding: 23px 0 25px;
    font-family: 'Inter', sans-serif;
    border: none;
    font-size: 15px;
    line-height: 19px;
    letter-spacing: 0;
    transition: all 0.3s ease;
}

.reach-out-form .fuller-opto-form .wpf_has_custom_css.ff-btn-submit:hover {
    border: none;
    color: #ffffff;
    background-color: #333333;
    opacity: 1;
}

.logo-box .logo-holder {
    height: 162px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.line-holder {
    height: 4px;
    position: relative;
}

.events-page #hero {
    padding-top: 26.7vh;
    padding-bottom: 105px;
    min-height: 100vh;
    height: auto;
    display: flex;
    align-items: flex-end;
}

.upcoming-title h5 {
    color: #ffffff;
    font-size: 15px;
    letter-spacing: 0.03em;
    line-height: 19px;
    font-weight: 700;
    margin-bottom: 30px;
}

.upcoming-event {
    margin-top: 210px;
}

.upcoming-event img {
    width: 182px;
    height: auto;
}

#upc3 {
    left: calc(-0.19 * 1188px);
}

.about-upcoming {
    margin-top: 45px;
    color: #ffffff;
    margin-bottom: 44px;
}

.upc-span {
    font-weight: 700;
    text-transform: uppercase;
    font-size: 12px;
    line-height: 15px;
    letter-spacing: 0.04em;
    color: #ffffff;
    display: block;
}

#hero .about-upcoming h3 {
    font-size: 72px;
    line-height: 86px;
    margin-top: 0;
    font-weight: 400;
    letter-spacing: 0;
    margin-bottom: 0;
}

#hero.hero-blog .about-upcoming h3 {
    font-size: 56px;
    line-height: 66px;
    letter-spacing: 0.025em;
}

#hero .about-upcoming p {
    font-size: 20px;
    letter-spacing: 0.01em;
    line-height: 27px;
}

.upcoming-time-date .upc-span {
    margin-bottom: 8px;
}

.upcoming-time-date {
    display: flex;
    color: #ffffff;
}

.upc-date {
    margin-right: 35px;
}

.upc-value {
    font-size: 14px;
    line-height: 24px;
    letter-spacing: 0.01em;
    color: #ffffff;
}

#upc4, #upc5, #upc6 {
    top: 68px;
}

#upc5 {
    right: 14px;
}

#upc6 {
    right: -19%;
}

.button-blur {
    border-radius: 10px;
    color: #ffffff;
    display: inline-block;
    margin-top: 32px;
    padding: 18px 40px 20px;
    width: 180px;
    background-color: rgba(255, 255, 255, 0); /* Fill Opacity 0% */
    backdrop-filter: blur(30px) brightness(1.15);
    -webkit-backdrop-filter: blur(30px) brightness(1.15);
    transition: background-color 0.25s ease, backdrop-filter 0.25s ease, color 0.25s ease;
}

.button-blur:hover {
    background-color: rgba(255, 255, 255, 0.25);
    backdrop-filter: blur(30px) brightness(1.3);
    -webkit-backdrop-filter: blur(30px) brightness(1.3);
    color: #000000;
}

.hero-blog .button-blur {
    margin-top: 0;
}

#previous-events {
    padding-top: 105px;
    padding-bottom: 74px;
}

.events-page-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 84px;
}

.events-page-header .title h2 {
    font-size: 40px;
    line-height: 49px;
    letter-spacing: 0.03em;
    margin-bottom: 19px;
    font-weight: 300;
}


.category-filter {
    position: relative;
    margin-top: 10px;
    width: 300px;
}

.category-filter-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    background: #f8f8f8;
    border-radius: 8px;
    border: none;
    padding: 15px 20px 16px;
    font-size: 15px;
    font-weight: 400;
    font-family: inherit;
    color: #000000;
    cursor: pointer;
    outline: none;
}

.category-filter-toggle .chevron {
    flex-shrink: 0;
    margin-left: 10px;
    transition: transform 0.2s ease;
}

.category-filter-toggle.open .chevron {
    transform: rotate(180deg);
}

.category-filter-list {
    display: none;
    position: absolute;
    top: calc(100% + 3px);
    left: 0;
    right: 0;
    margin: 0;
    padding: 0;
    list-style: none;
    background: #f8f8f8;
    border-radius: 8px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12);
    z-index: 20;
    overflow: hidden;
}

.category-filter-list.open {
    display: block;
}

.category-filter-list li {
    padding: 10px 20px;
    font-size: 15px;
    font-weight: 400;
    color: #000000;
    cursor: pointer;
    transition: background-color 0.2s ease;
}

.category-filter-list li:not(:last-child) {
    border-bottom: 1px solid #d0d0d0;
}

.category-filter-list li:hover {
    background-color: #f5f5f4;
}

.category-filter-list li.active {
    font-weight: 500;
}

.col-lg-4.post-hidden {
    display: none !important;
}

.no-posts-message {
    color: #707070;
    font-size: 16px;
    margin-top: 20px;
    margin-bottom: 0;
}

.event-box {
    margin-bottom: 50px;
    cursor: pointer;
}

.post-thumb {
    overflow: hidden;
}

.event-box .post-thumb img {
    transition: all .3s ease;
}

.event-box:hover .post-thumb img {
    transform: scale(1.1);
}

.event-content {
    padding: 30px 0;
}

.category-tag {
    display: inline-block;
    background-color: #EBEBEB;
    font-size: 15px;
    font-weight: 400;
    line-height: 19px;
    padding: 7px 15px;
    border-radius: 17px;
    color: #000000;
}

.event-meta .category-tag {
    margin-right: 10px;
}

.event-meta .upc-value {
    margin: 0 10px;
}

.event-content h4 {
    font-weight: 400;
    color: #000000;
    font-size: 25px;
    line-height: 35px;
    letter-spacing: 0.025em;
    margin-top: 24px;
    margin-bottom: 22px;
}

.event-content .post-date,
.event-content .min-read {
    display: inline-block;
    font-size: 15px;
    font-weight: 400;
}

.event-content .post-date {
    margin-right: 6px;
}

.event-content .min-read {
    margin-left: 6px;
}

.sep {
    display: block;
    width: 26px;
    height: 2px;
    background: #000000;
}

.event-content .text {
    margin-top: 23px;
    color: #000000;
    font-size: 18px;
    line-height: 26px;
    letter-spacing: 0;
}

.event-content .text p {
    margin: 0;
}

.mini-logo-footer,
.mini-form-logo {
    display: flex;
}

.mini-logo-footer .circle,
.mini-form-logo .circle {
    width: 37px;
    height: 37px;
    border-radius: 50%;
    background: transparent;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.mini-logo-footer .square,
.mini-form-logo .square {
    width: 14px;
    height: 14px;
    transition: transform 0.4s ease;
    transform-origin: center center;
}

.circle.black {
    border: 1px solid #ffffff;
}

.circle.white {
    border: 1px solid transparent;
    background: #ffffff;
}

.circle.black .square {
    background: #ffffff;
}

.circle.white .square {
    background: #000000;
}

.mini-logo-footer .circle:first-child,
.mini-form-logo .circle:first-child {
    margin-right: 4px;
}

.mini-form-logo .circle.white {
    border: 1px solid #000000;
    background: transparent;
}

.mini-form-logo .circle .black {
    background: #000000;
}

.mini-form-logo .circle.black {
    border: 1px solid transparent;
    background: #000000;
}

.mini-form-logo .circle .white {
    background: #ffffff;
}

.mini-logo-footer:hover .square,
.mini-form-logo:hover .square,
.header-logo:hover .mini-logo-footer .square,
.header-logo:hover .mini-form-logo .square {
    transform: scaleY(0);
}

#map {
    height: 100vh;
    position: relative;
    background-color: #000000;
    overflow: hidden;
}

#events-mapbox {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.map-pin {
    display: flex;
    flex-direction: column;
    align-items: center;
    cursor: default;
}

.map-pin-dot {
    width: 14px;
    height: 14px;
    background: #ffffff;
    border-radius: 50%;
    box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.15);
}

.map-pin-label {
    margin-top: 6px;
    font-size: 12px;
    color: #ffffff;
    white-space: nowrap;
}

.map-overlay-text {
    position: absolute;
    top: 90px;
    left: 14px;
    z-index: 2;
    color: #ffffff;
    font-size: 30px;
    line-height: 38px;
    font-weight: 400;
    letter-spacing: 0.04em;
}

.mapboxgl-ctrl-bottom-left .mapboxgl-ctrl-group {
    margin: 0 0 20px 20px;
}

.map-drag-hint {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 24px;
    z-index: 3;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    color: #ffffff;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    pointer-events: none;
}

.map-drag-hint .drag-arrow {
    position: relative;
    width: 60px;
    height: 1px;
    background: rgba(255, 255, 255, 0.6);
}

.map-drag-hint .drag-arrow::before {
    content: "";
    position: absolute;
    top: 50%;
    width: 7px;
    height: 7px;
    border-top: 1px solid rgba(255, 255, 255, 0.6);
    border-right: 1px solid rgba(255, 255, 255, 0.6);
}

.map-drag-hint .drag-arrow-left::before {
    left: 0;
    transform: translateY(-50%) rotate(-135deg);
}

.map-drag-hint .drag-arrow-right::before {
    right: 0;
    transform: translateY(-50%) rotate(45deg);
}


.map-content .container {
    position: relative;
    height: 100%;
}

.map-content .container > .row {
    position: absolute;
    width: 100%;
    bottom: -12px;
}

.upcoming-big h3 {
    font-size: 36px;
    line-height: 42px;
    letter-spacing: 0.01em;
    margin-bottom: 18px;
    color: #333333;
}

.map-content {
    height: auto;
}

#map2 {
    right: 14px;
}

#map3 {
    bottom: 65px;
}

#map4, #map5 {
    bottom: 0;
}

#map5 {
    right: 14px;
}

#wishlist {
    background: #333333;
    padding: 75px 0 90px;
}

#wishlist .newsletter {
    padding: 0;
}

#faq {
    padding-top: 170px;
}

#faq h3 {
    margin-bottom: 58px;
    color: #333333;
    font-size: 43px;
    line-height: 53px;
    letter-spacing: 0.04em;
    font-weight: 300;
    margin-top: -10px;
}

#below-faq {
    padding-bottom: 222px;
}

.specific-cta {
    margin-top: 42px;
    background: #EBE8E5;
    padding: 22px 0;
}

.specific-cta p {
    font-size: 16px;
    line-height: 22px;
    letter-spacing: 0;
    color: #333333;
    margin: 0;
    text-align: center;
}

.specific-cta p a {
    font-weight: 700;
    color: inherit;
    text-decoration: none;
}

#faqAccordion {
    --bs-accordion-inner-border-radius: 0;
    --bs-accordion-btn-padding-y: 0;
    --bs-accordion-btn-padding-x: 35px;
    --bs-accordion-color: #333333;
    --bs-accordion-body-padding-y: 0;
    --bs-accordion-body-padding-x: 35px;
}

.accordion-item {
    border-left: 0;
    border-right: 0;
}

.accordion-button {
    font-size: 20px;
    height: 82px;
    outline: none;
    padding-left: 0;
    padding-right: 0;
    box-shadow: none;
}

.accordion-button::after {
    content: "\f078";
    border: 2px solid #000;
    border-radius: 50%;
    width: 36px;
    height: 36px;
    font-size: 16px;
    margin-right: 0;
    font-family: "Font Awesome 6 Free";
    font-weight: 700;
    background: none;
    line-height: 34px;
    text-align: center;
    color: #000;
    transition: background-color 0.3s ease, color 0.3s ease;
}

.accordion-button:not(.collapsed)::after {
    background: none;
}

.accordion-button:hover::after,
.accordion-button:not(.collapsed):hover::after {
    border-color: transparent;
    background: #000000;
    color: #ffffff;
}

.accordion-button:not(.collapsed):hover::after {

}

.accordion-button:focus {
    box-shadow: none;
}


.accordion-body {
    color: #000000;
    font-size: 16px;
    letter-spacing: 0.01em;
    line-height: 26px;
    padding-bottom: 30px;
    padding-right: 70px;
    padding-left: 0;
}

.accordion-button:not(.collapsed) {
    color: #333333;
    background-color: transparent;
    box-shadow: none;
}

#faq .container {
    position: relative;
}

#faq1, #faq2, #faq4 {
    left: 14px;
}

#faq2 {
    margin-top: 164px;
}

#faq3 {
    right: 14px;
}

#faq4 {
    bottom: 0;
}

#faq5 {
    bottom: 0;
    right: -19%;
}

.buy-now-page #hero {
    height: 93vh;
    padding-top: 0;
    padding-bottom: 20px;
    background-color: #254253;
    background-image: url("../img/buy-now-map.svg");
    background-position: center bottom;
    background-repeat: no-repeat;
    background-size: min(1470px, 100%);
}

.buy-now-page #hero .container {
    position: relative;
    height: 100%;
}

.buy-now-page #hero .container > .row {
    position: absolute;
    width: 100%;
    bottom: 0;
}

#buy1 {
    left: -19%;
    top: 6px;
}

#buy2 {
    top: 6px;
    right: 14px;
}

#buy3 {
    left: 14px;
    bottom: 5px;
}

#buy4 {
    right: 14px;
    bottom: 5px;
}

#buy5 {
    bottom: 5px;
    right: -19%;
}

.buy-now-page #hero h3 {
    font-size: 53px;
    color: #ffffff;
    letter-spacing: 0.02em;
    line-height: 65px;
    margin-bottom: 45px;
    margin-top: 0;
}

.buy-now-page #hero p {
    color: #ffffff;
    font-size: 24px;
    line-height: 35px;
    letter-spacing: 0.02em;
    margin: 0;
}

#buy-now {
    padding-top: 250px;
    padding-bottom: 190px;
    background-color: #254253;
}

#buy7 {
    bottom: 0;
}

#buy-now .container {
    position: relative;
}

.buy-select {
    padding-top: 100px;
}

.buy-select h4 {
    font-size: 34px;
    line-height: 43px;
    letter-spacing: 0.02em;
    color: #ffffff;
    margin-bottom: 10px;
}

.buy-select p {
    font-size: 20px;
    letter-spacing: 0.01em;
    line-height: 29px;
    color: #ffffff;
    margin-top: 10px;
    margin-bottom: 0;
}

.buy-now-box {
    padding: 29px 35px 24px;
    background-color: #3C5469;
    border-radius: 33px;
}

.buy-now-box .title {
    font-size: 50px;
    line-height: 1.2em;
    letter-spacing: 0.02em;
    color: #ffffff;
    border-bottom: 1px solid rgba(255, 255, 255, .27);
    margin-bottom: 14px;
    padding-bottom: 14px;
    font-weight: 300;
}

.buy-now-box .deposit {
    padding-bottom: 30px;
    border-bottom: 1px solid rgba(255, 255, 255, .27);
}

.buy-now-box .deposit p,
.buy-now-box .full-price p {
    font-size: 20px;
    line-height: 1.2em;
    letter-spacing: 0.01em;
    color: #ffffff;
    margin-bottom: 0;
}

.buy-now-box .price {
    display: block;
    color: #ffffff;
    font-size: 55px;
    line-height: 1.2em;
    letter-spacing: 0.02em;
    font-weight: 300;
}

.buy-now-box .deposit .price {
    margin-top: 6px;
    margin-bottom: 9px;
}

.buy-now-box .desc {
    margin-bottom: 30px;
}

.buy-now-box .desc p {
    padding-top: 16px;
    margin-bottom: 0;
    color: #ffffff;
    font-size: 16px;
    line-height: 26px;
    letter-spacing: 0.01em;
}

.buy-now-box .full-price {
    margin-bottom: 37px;
}

.stripe-button {
    display: flex;
    align-items: center;
    background-color: #635BFF;
    border-radius: 34px;
    position: relative;
    text-decoration: none;
    padding: 8px 9px;
}

.stripe-button .icon {
    width: 53px;
    height: 53px;
    border: 1px solid transparent;
    background-color: #ffffff;
    border-radius: 50%;
    color: #635BFF;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 30px;
    transition: all .3s ease;
}

.stripe-button:hover .icon {
    border-color: #ffffff;
    background-color: transparent;
    color: #ffffff;
}

.stripe-button .text {
    color: #ffffff;
    margin-left: 54px;
    font-size: 17px;
    line-height: 20px;
    letter-spacing: 0;
}

.autofocals-page #hero {
    padding-top: 70px;
    position: relative;
    z-index: 0;
    overflow: hidden;
    padding-bottom: 70px;
}

.autofocals-page #hero .container {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    height: 100%;
}

.autofocals-page #hero h1 {
    font-size: 54px;
    line-height: 62px;
    letter-spacing: 0.025em;
    color: #000000;
    margin-bottom: 20px;
    font-weight: 300;
}

.autofocals-page #hero h1 span {
    font-weight: 400;
}


.autofocals-page #hero h1 > sup {
    font-weight: 400;
}

.autofocals-page #hero p {
    font-size: 18px;
    line-height: 27px;
    margin: 0;
    color: #000000;
}

#about-autofocals {
    margin-top: 80px;
}

#white-bg {
    width: 62%;
    height: 76%;
    background-color: #ffffff;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 1;
}

#grey-bg {
    background: #F2F2F2;
    height: 57vh;
    position: absolute;
    right: 0;
    top: 0;
}

#autofocals1 {
    height: 85vh;
    width: auto;
    z-index: 2;
    position: absolute;
    right: calc((100% - 1400px) / 2);
    transition: all .3s ease;
}

.autofocals-page #hero h1 span sup {
    top: -15px;
    left: -4px;
}

@media screen and (min-width: 1400px) {
    #autofocals1 {
        height: 542px;
        top: 21vh;
    }
}

@media screen and (min-width: 1600px) {
    #autofocals1 {
        height: 615px;
        top: 22.7vh;
    }
}

@media screen and (min-width: 1900px) {
    #autofocals1 {
        height: 652px;
        top: 22vh;
    }
}

@media screen and (min-width: 2400px) {
    #autofocals1 {
        height: 818px;
        top: 27vh;
        right: 11.72vw;
    }
}

/*#autofocals1:hover,
#autofocals1.hovered {
    transform: rotate(6deg);
}*/

#af2 {
    margin-top: 33vh;
}

#af3 {
    margin-top: 33vh;
    left: -19%;
}

#af4 {
    bottom: 0;
    right: 14px;
}


#about-autofocals h3 {
    color: #333333;
    font-size: 53px;
    letter-spacing: 0.01em;
    line-height: 64px;
}

#about-autofocals p {
    color: #333333;
    font-size: 20px;
    line-height: 29px;
    letter-spacing: 0.01em;
    margin-bottom: 30px;
}

#about-autofocals .intro-text {
    margin-bottom: 53px;
}

#autofocals-slider video {
    width: 100%;
}

.hide_video {
    display: none !important;
}

.thumb-slider-holder, .product__slider-main {
    background-color: #E9E9E4;
}

.prevArrowHolder > a {
    float: left;
}

.nextArrowHolder > a {
    float: right;
}

.thumb-slider-holder .row {
    align-items: center;
    padding-top: 24px;
    padding-bottom: 24px;
}

#prevSlide, #nextSlide,
#prevTestimonial, #nextTestimonial {
    color: #000000;
    text-decoration: none;
    border: 2px solid #000000;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 20px;
    transition: all .3s ease;
}

#prevSlide:hover, #nextSlide:hover,
#prevTestimonial:hover, #nextTestimonial:hover {
    background-color: #000000;
    color: #ffffff;
}

.product__slider-thmb .slide {
    padding: 0 14px;
    cursor: pointer;
}

#blur-effect {
    margin-top: 74px;
}

.blur-wrap {
    position: relative;
}

#blur-effect .blur-wrap .blur-text {
    display: block;
    color: #333333;
    font-family: "Montserrat", sans-serif;
    text-align: center;
    filter: blur(15px);
    -webkit-filter: blur(15px);
    will-change: filter, transform;
    backface-visibility: hidden;
    transition: filter .6s ease, -webkit-filter .6s ease;
    text-transform: uppercase;
    line-height: 1.39em;
    font-weight: 700;
}

.blur-wrap:nth-child(1) .blur-text {
    font-size: 128px;
    letter-spacing: 0.03em;
    margin-bottom: -15px;
}

.blur-wrap:nth-child(2) .blur-text {
    font-size: 78px;
    letter-spacing: 0.04em;
    margin-bottom: 7px;
}

.blur-wrap:nth-child(3) .blur-text {
    font-size: 54px;
    letter-spacing: 0.05em;
    margin-bottom: 27px;
}

.blur-wrap:nth-child(4) .blur-text {
    font-size: 25px;
    letter-spacing: 0.07em;
}

#bl1 {
    right: 14px;
    margin-top: 104px;
}

#bl2 {
    right: 14px;
    bottom: -10px;
}

#about-autofocals .container {
    position: relative;
}

#autofocals-work {
    padding-top: 85px;
    padding-bottom: 42px;
    position: relative;
}

#autofocals-work .container {
    position: relative;
}

#autofocals-work h3 {
    font-size: 68px;
    color: #333333;
    letter-spacing: 0.02em;
    line-height: 75px;
    margin: 0;
}

#aw1 {
    top: 23px;
}

#autofocals-work .aw-text {
    margin-top: 50vh;
}

.aw-text p {
    color: #333333;
    font-size: 22px;
    line-height: 32px;
    letter-spacing: 0.01em;
    margin-bottom: 36px;
}

#aw2 {
    bottom: 256px;
}

#aw3 {
    bottom: 26px;
}

#aw4 {
    right: 14px;
    bottom: 256px;
}

#aw-img {
    position: absolute;
    left: -165px;
    top: 240px;
    height: 62.77vh;
}

#testimonials {
    padding: 184px 0;
    background-color: #EBEBEB;
    height: 100vh;
    overflow: hidden;
}

#testimonials h3 {
    color: #333333;
    font-size: 49px;
    line-height: 59px;
    letter-spacing: 0.02em;
    margin-bottom: 19px;
}

#testimonials .nav-arrows {
    display: flex;
    gap: 8px;
}

#testimonials .container {
    position: relative;
}

#tes1 {
    top: 345px;
}

#tes2, #tes3 {
    top: 405px
}

#tes3 {
    left: -19%;
}

.testimonial-slider-wrap {
    position: absolute;
    width: 100vw;
    z-index: 1;
}

.testimonial-item img {
    object-fit: cover;
    height: 360px;
}

.testimonial-item {
    width: 396px !important;
    padding: 0 14px;
}

.testimonial-box {
    padding: 32px 30px 29px 35px;
    background-color: #ffffff;
    color: #333333;
}

.testimonial-box h4 {
    font-size: 26px;
    line-height: 32px;
    letter-spacing: 0.01em;
    margin-bottom: 14px;
}

.testimonial-box h5 {
    font-size: 18px;
    line-height: 24px;
    letter-spacing: 0.01em;
    padding-bottom: 58px;
    position: relative;
    margin-bottom: 22px;
}

.testimonial-box h5::after {
    width: 26px;
    height: 2px;
    background-color: #333333;
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    display: block;
}

.testimonial-box p {
    color: #969696;
    font-size: 16px;
    line-height: 22px;
    letter-spacing: 0;
    margin-bottom: 0;
}

#blurred-img {
    filter: blur(16px);
    margin-top: 280px;
    margin-left: -40px;
}

#cta-video {
    padding-top: 128px;
    padding-bottom: 105px;
    background-color: #333333;
}

#cta-video p {
    color: #ffffff;
    font-size: 35px;
    line-height: 42px;
    letter-spacing: 0.02em;
    margin-bottom: 50px;
}

#cta-video .container {
    position: relative;
}

#cta1 {
    top: 16px;
    right: -19%;
}

#cta2 {
    top: 204px;
    right: -19%;
}

#cta3 {
    bottom: 0;
}

#cta4 {
    display: none;
}

#cta-video video {
    width: 100%;
}

.video-container {
    position: relative;
}

#play_button, #play_button2 {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

#cta-video .button {
    width: 142px;
    background-color: #C9C5BF;
    padding: 24px 0 26px;
}

#cta-video .button:hover {
    box-shadow: 0 0 10px 5px #C9C5BF;
}

.thankyou-page {
    background-color: #000000;
    color: #ffffff;
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    align-items: center;
    height: 100vh;
    text-align: center;
    padding-top: 95px;
    padding-bottom: 110px;
}

.thankyou-page.opto-thankyou {
    background-color: #000000;
    color: #ffffff;
}

.thankyou-page h1 {
    font-size: 37px;
    line-height: 43px;
    font-weight: 300;
    letter-spacing: 0.025em;
    margin-bottom: 0;
}

.thankyou-page p {
    font-size: 16px;
    line-height: 24px;
    letter-spacing: 0.01em;
    margin: 0;
}

#goback {
    position: relative;
    top: 0;
    width: 40px;
    height: 40px;
    color: #000000;
    background-color: #ffffff;
    border-radius: 50%;
    border: 2px solid transparent;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 20px;
    transition: all .3s ease;
    text-decoration: none;
}

#goback:hover {
    background-color: #000000;
    color: #ffffff;
    border-color: #ffffff;
}

.opto-thankyou #goback {
    background-color: #000000;
    border-color: #000000;
    color: #ffffff;
}

.opto-thankyou #goback:hover {
    background-color: transparent;
    color: #000000;
}

/* Laptop */

.header-logo {
    display: flex;
}

.header-logo .mini-logo-footer,
.header-logo .mini-form-logo {
    margin-right: 8px;
    margin-bottom: 0;
}

.header-logo .mini-logo-footer .circle.white,
.header-logo .mini-form-logo .circle.black {
    position: relative;
    background: white;
    -webkit-mask: radial-gradient(circle at 50% 50%, #000 18.5px, transparent 18.6px),
    linear-gradient(#000 0 0) 50% 50%/14px 14px no-repeat;
    -webkit-mask-composite: source-over, xor;
    mask: radial-gradient(circle at 50% 50%, #000 18.5px, transparent 18.6px),
    linear-gradient(#000 0 0) 50% 50%/14px 14px no-repeat;
    mask-composite: exclude;
    transition: -webkit-mask-size 0.3s ease, mask-size 0.3s ease;
}

.header-logo .mini-form-logo .circle.black {
    background-color: #000000;
}

.header-logo:hover .mini-logo-footer .circle.white,
.header-logo:hover .mini-form-logo .circle.black {
    -webkit-mask: radial-gradient(circle at 50% 50%, #000 18.5px, transparent 18.6px),
    linear-gradient(#000 0 0) 50% 50%/14px 0 no-repeat; /* visina = 0 */
    -webkit-mask-composite: source-over, xor;
    mask: radial-gradient(circle at 50% 50%, #000 18.5px, transparent 18.6px),
    linear-gradient(#000 0 0) 50% 50%/14px 0 no-repeat;
    mask-composite: exclude;
}

.header-logo:hover .mini-logo-footer .circle.white .black {
    background-color: transparent;
}

.mail-link .icon {
    display: none;
}

#tes4 {
    display: none;
}

#mobile-menu {
    display: none;
}

@media screen and (max-width: 1600px) {
    .only-desk {
        display: none;
    }

    .home_two_baner_video video {
        width: 100%;
    }

    #rimgg {
        object-fit: cover;
        max-width: 467px;
        height: 504px;
    }

    #reach-out {
        padding-top: 121px;
        padding-bottom: 194px;
    }

    .upcoming-event {
        margin-top: 75px;
        margin-bottom: 45px;
    }

    .events-page #hero {
        padding-bottom: 80px;
    }

    /* #map {
         background-size: min(1160px, 100%);
         padding-top: 10.7%;
         height: 95.55vh;
     }

     #map-anim {
         width: min(1160px, 100%);
     }
 */
    .buy-now-page #hero {
        background-size: min(1160px, 100%);
    }

    #buy1 {
        left: 14px;
    }

    #buy5 {
        right: 14px;
        top: -285px;
    }

    .map-content {
        height: 56.3vh;
    }

    .map-content .container > .row {
        bottom: -90px;
    }

    #buy-now {
        padding-top: 150px;
    }

    #faq {
        padding-top: 108px;
    }

    #af1 {
        top: 50px;
    }

    #af2 {
        margin-top: 43vh;
    }

    #aw-img {
        height: 59.77vh;
        top: 280px;
    }

    #autofocals-work .aw-text {
        margin-top: 60vh;
    }

    #testimonials {
        padding: 94px 0;
    }

    #tes1 {
        top: 400px;
    }

    #tes2 {
        top: 460px;
    }

    #cta-video {
        padding-top: 67px;
        padding-bottom: 30px;
    }

    #cta1, #cta2 {
        right: 158px;
    }

    #cta2 {
        z-index: 1;
    }

}


/* New changes */
#upc1, #upc4, #upc5, #upc6, #upc3 {
    display: none;
}

#upc7 {
    right: 14px;
    bottom: 0;
}

#upc8 {
    right: 14px;
    bottom: 325px;
}

.about-upcoming {
    margin-top: 22px;
}

.hero-blog .about-upcoming {
    margin-top: 38px;
    margin-bottom: 38px;
}

.event-meta {
    margin-top: 90px;
    color: #ffffff;
    display: flex;
    align-items: center;
}

.bordered-title {
    font-size: 26px;
    font-weight: 600;
    line-height: 43px;
    color: #333333;
    margin-bottom: 80px;
}

.bordered-title::before {
    content: "";
    display: block;
    width: 78px;
    height: 3px;
    background: #333333;
    margin-bottom: 4px;
}

#related-events {
    padding-top: 10px;
    padding-bottom: 80px;
}

#related-events h3 {
    margin-bottom: 40px;
    font-weight: 300;
    line-height: 40px;
    font-size: 33px;
    color: #000000;
}

#related-events .event-box {
    background-color: #ffffff;
}

#related-events .event-content h4 {
    font-size: 23px;
    line-height: 32px;
}

#single-event-title {
    padding-top: 160px;
}

.title-data {
    text-align: center;
    margin-bottom: 70px;
    align-items: center;
    justify-content: center;
}

.title-data .attr,
.title-data .big-attr {
    display: block;
    text-transform: uppercase;
    font-weight: 700;
}

.title-data .big-attr {
    font-size: 13px;
    line-height: 16px;
    letter-spacing: 0.03em;
    margin-bottom: 12px;
}

.title-data .attr {
    font-size: 12px;
    line-height: 15px;
    letter-spacing: 0.04em;
    margin-bottom: 7px;
}

.title-data .value {
    font-size: 16px;
    line-height: 20px;
    margin-left: 22px;
}

#single-event-title h1 {
    font-size: 46px;
    font-weight: 400;
    line-height: 56px;
    margin-bottom: 32px;
}

#single-event-hero {
    position: relative;
    padding-bottom: 70px;
}

.hero-meta {
    display: flex;
    justify-content: space-between;
    margin-top: 20px;
}

.hero-meta .caption {
    color: #9F9F9F;
    font-size: 14px;
    line-height: 24px;
    letter-spacing: 0;
    font-style: italic;
}

.hero-meta .caption p:last-child {
    margin-bottom: 0;
}

.hero-meta .caption a {
    color: #0E7DDD;
    text-decoration: underline;
}

.share-post {
    display: flex;
    align-items: center;
}

.share-post span {
    font-size: 12px;
    line-height: 24px;
}

.share-post .sep {
    width: 50px;
    margin: 0 18px;
}

.share-post .icons a {
    display: inline-flex;
    margin: 0 3px;
    justify-content: center;
    align-items: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #F4F4F4;
    color: #333333;
    text-decoration: none;
    transition: all .3s ease;
}

.share-post .icons a:hover {
    color: #ffffff;
}

.share-post .icons .li-share:hover {
    background: #0049E4;
}

.share-post .icons .fb-share:hover {
    background: #2D30B7;
}

.share-post .icons .tw-share:hover {
    background: #000000;
}

.event-nav-link {
    position: absolute;
    top: 28px;
    line-height: 12px;
    font-size: 10px;
    text-align: center;
    color: #333333;
    text-decoration: none;
}

.event-nav-link .arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 2px solid #333333;
    transition: all .3s ease;
    color: #333333;
    font-size: 15px;
    margin: 0 auto 8px;
}

.event-nav-link:hover .arrow {
    background: #333333;
    color: #fff;
}

#single-event-hero .container {
    position: relative;
}

#next-event-link {
    right: 14px
}

#prev-event-link {
    left: 14px
}

#text-part-one p,
#text-part-two p,
.blog-post-content-text p,
.blog-post-content-text li {
    font-size: 18px;
    margin-bottom: 32px;
    line-height: 28px;
}

.blog-post-content-text ol {
    list-style: none;
    counter-reset: custom-counter;
    padding: 0;
    margin: 0;
}

.blog-post-content-text li {
    margin-bottom: 26px;
    counter-increment: custom-counter;
    position: relative;
    padding-left: 40px;
}

.blog-post-content-text li::before {
    content: counter(custom-counter) ".";
    position: absolute;
    left: 0;
    top: 0;
}


#central-image,
.blog-post-content-image {
    padding-top: 20px;
    padding-bottom: 75px;
}

#next-event-promo {
    padding-top: 22px;
}

#next-event-promo .img-container {
    background-color: #CAC5BD;
    transition: all .3s ease;
}

#next-event-promo .img-container:hover {
    background-color: #333333;
}

#end-post {
    padding-top: 60px;
    padding-bottom: 100px;
}

.post-meta {
    border-top: 1px solid #d3d3d3;
    padding-top: 23px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.post-meta .date-time {
    font-size: 14px;
    line-height: 17px;
}

.post-meta .date {
    margin-right: 20px;
}

.single .video-container {
    background: #000000;
}

.hero-video {
    max-width: 100%;
    height: auto;
    max-height: 650px;
    object-fit: cover;
    margin: 0 auto;
    display: block;
}

#event-gallery {
    padding-top: 22px;
}

.event-gallery-slider {
    margin-left: -14px;
}

.event-gallery-slider .slide {
    width: 270px;
    height: 190px;
    position: relative;
    margin: 0 14px;
    box-sizing: border-box;
}

.event-gallery-slider .slide img {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    object-fit: cover;
}

.blog-page #hero {
    position: relative;
}

#latest-blog-post-img {
    position: absolute;
    left: 0;
    top: 0;
    object-fit: cover;
    width: 100%;
    height: 100%;
}

.latest-post-holder {
    padding-top: 135px;
    padding-bottom: 90px;
}

.blog-page #hero h1 {
    color: #ffffff;
    font-size: 62px;
    line-height: 75px;
    margin-bottom: 10px;
}

.blog-page #hero .latest-content p {
    font-size: 16px;
    line-height: 27px;
    margin-bottom: 36px;
}

#lat2 {
    bottom: 0;
}

#lat3 {
    right: 14px;
    bottom: 0;
}

.latest-post-holder .button {
    background: rgba(255, 255, 255, 0); /* fill opacity 0% */
    backdrop-filter: blur(6px) brightness(1.14);
    -webkit-backdrop-filter: blur(6px) brightness(1.14); /* Safari podrška */
    transition: backdrop-filter 0.3s ease, -webkit-backdrop-filter 0.3s ease;
    color: #ffffff;
}

.latest-post-holder .button:hover {
    backdrop-filter: blur(6px) brightness(1.34);
    -webkit-backdrop-filter: blur(6px) brightness(1.34);
    box-shadow: none;
}

.blog-posts .event-content h4 {
    font-size: 18px;
    margin-bottom: 18px;
    line-height: 24px;
}

.blog-posts .event-content .text p {
    font-size: 14px;
    line-height: 21px;
}

.blog-posts .event-content {
    padding: 28px 30px 21px;
}

.blog-cat {
    display: block;
    border-radius: 14px;
    padding: 6px 14px;
    background: #faecbd;
    width: 60px;
    font-weight: 700;
    text-align: center;
    font-size: 10px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    margin-top: 18px;
}

.single .blog-posts .event-content .text p br {
    display: none;
}

.single-blog-page #single-event-title h1 {
    margin-bottom: 0;
}

.blog-text-block h4 {
    font-size: 20px;
    font-weight: 700;
    margin-top: 60px;
    margin-bottom: 36px;
}

.blog-text-block h3 {
    font-size: 31px;
    line-height: 37px;
    font-weight: 700;
    margin-bottom: 40px;
}

.join-us {
    background: #EBE8E5;
    padding-top: 200px;
}

.join-us .title-block {
    margin-bottom: 80px;
}

.title-block .sup-title {
    display: inline-block;
    font-size: 15px;
    font-weight: 400;
    line-height: 21px;
    padding: 4px 27px;
    border-top: 1px solid #d5d5d5;
    border-bottom: 1px solid #d5d5d5;
    margin-bottom: 48px;
    color: #000000;
}

.single-event-page .title-block .sup-title,
.single-blog-page .title-block .sup-title {
    margin-bottom: 32px;
}

.title-block .sup-title.dark {
    border-color: #000000;
}

.title-block .sup-title.sup-title-big {
    font-size: 18px;
    padding-top: 8px;
    padding-bottom: 10px;
}

.title-block h1,
.title-block .h1 {
    font-weight: 300;
    font-size: 54px;
    line-height: 62px;
    color: #000000;
    margin-bottom: 24px;
    letter-spacing: 0.04em;
}

.single-event-page .title-block .h1,
.single-blog-page .title-block .h1 {
    font-size: 46px;
    line-height: 56px;
    font-weight: 400;
    letter-spacing: 0.022em;
}

.title-block p {
    color: #000000;
}

.team-section-title {
    display: block;
    border-top: 1px solid #C3C3C3;
    padding-top: 30px;
    font-size: 14px;
    letter-spacing: 0.06em;
    line-height: 17px;
    text-transform: uppercase;
    font-weight: 700;
    margin-bottom: 38px;
}

#co-founders {
    padding-bottom: 120px;
}

#team {
    padding-bottom: 155px;
}

#careers {
    padding-bottom: 170px;
}

#careers .team-section-title {
    margin-bottom: 100px;
}

#careers .open-roles {
    margin-top: 50px;
    display: flex;
    align-items: center;
    gap: 55px;
}

#careers .open-roles .button {
    width: 220px;
}

#careers .open-roles .email-link {
    text-decoration: none;
    font-size: 16px;
    color: #000000;
}


.product-slider-wrap {
    position: relative;
}

/* Glavni slajder */
.product-slider-main .slide img {
    width: 100%;
    display: block;
}

/* Thumbnail navigacija - obican niz elemenata, NIJE slider,
      samo leži preko donjeg dela glavnog slajdera */
.product-slider-thumbs {
    position: absolute;
    left: 50%;
    bottom: 43px;
    transform: translateX(-50%);
    display: flex;
    gap: 16px;
    z-index: 5;
}

.product-slider-thumbs .thumb {
    width: 122px;
    height: 75px;
    border: 1px solid #fff;
    background: #fff;
    cursor: pointer;
    box-sizing: border-box;
}

.product-slider-thumbs .thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Aktivan thumb dobija crn border, ostali ostaju beli */
.product-slider-thumbs .thumb.active {
    border-color: #000;
}

.product-slider-colors .slide {
    position: relative;
}

#prod-desc {
    padding: 60px 0 0;
    position: relative;
    overflow: hidden;
}

.product-slider-colors .slide-zoom {
    position: absolute;
    top: 28px;
    right: 28px;
    text-decoration: none;
    z-index: 5;
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #000000;
    font-size: 22px;
    cursor: pointer;
}

#grid {
    position: absolute;
    z-index: -1;
    width: calc(100% - 88px);
    left: 44px;
}

#prod-desc1 {
    margin-top: 90px;
    margin-bottom: 185px;
}

#prod-desc1 h2 {
    font-size: 42px;
    font-weight: 300;
    line-height: 51px;
    letter-spacing: 0.04em;
}

#prod-desc2 {
    align-items: center;
    margin-bottom: 240px;
}

#prod-desc p {
    font-size: 22px;
    line-height: 32px;
    margin-bottom: 0;
}

#prod-desc3 {
    margin-bottom: 290px;
    align-items: flex-end;
}

#prod-desc3 p {
    padding-left: 5.625vw;
    margin-bottom: 92px;
}

#prod-desc3 img {
    margin: 0 auto;
    display: block;
}

#prod-desc3 #pd3img1 {
    margin-bottom: 82px;
    width: 70%;
}

#pd3img1 ~ img {
    margin-bottom: 10px;
}

#prod-desc4 {
    align-items: center;
    margin-bottom: 230px;
}

#pd4img2 {
    padding-left: 62px;
}

#prod-desc5 {
    align-items: center;
    padding-bottom: 215px;
}

#pd5right {
    display: flex;
    flex-direction: column;
    gap: 130px;
}

.slider-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 55px;
}

.slider-head p {
    font-size: 22px;
    line-height: 30px;
    letter-spacing: 0.02em;
}

.slider-thumbs {
    display: flex;
    gap: 33px;
    text-align: center;
}

.slider-thumbs .thumb img {
    width: 50px;
    padding: 5px;
    border: 1px solid #c7c7c7;
    display: block;
    border-radius: 50%;
    margin: 0 auto 8px;
}

.slider-thumbs .thumb span {
    font-size: 12px;
    display: block;
    color: #8E8E8E;
}

.slider-thumbs .thumb.active img {
    border-color: #222224;
}

.slider-thumbs .thumb.active span {
    color: #000000;
}

#prod-slider {
    padding-top: 50px;
}

#autofocals {
    padding-top: 130px;
    padding-bottom: 200px;
}

.picture-bg-frame {
    position: relative;
    padding-left: 7%;
}

.picture-bg-frame .frame {
    background: #000000;
    margin-top: 50px;
    position: absolute;
    left: 0;
    z-index: -1;
}

#pic-bg-frame2.picture-bg-frame .frame {
    background: #EBE8E5;
}

#autofocals .title-block .sup-title {
    margin-bottom: 124px;
}

.home .title-block h2 {
    font-size: 42px;
    letter-spacing: 0.03em;
    line-height: 48px;
    margin-bottom: 30px;
    font-weight: 300;
}

.home .title-block p {
    font-size: 18px;
    line-height: 26px;
}


.footnote {
    padding-top: 12px;
    border-top: 1px solid #d5d5d5;
    margin-top: 100px;
}

.footnote p {
    color: #7E7E7E;
}

#autofocals .buttons {
    margin-top: 32px;
}

.button {
    font-size: 14px;
    line-height: 1em;
    padding: 0 24px;
    height: 56px;
    text-align: center;
    border-radius: 10px;
    transition: all .3s ease;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.button-black {
    background: #000000;
    color: #ffffff;
}

.button-sand {
    color: #000000;
    background: #E3DDD9;
}

.button-black:hover {
    background: #333333;
}

.button-sand:hover {
    background: #EDE7E4;
    color: inherit;
}

#rooted-in-science {
    padding-bottom: 150px;
}

#rooted-in-science .title-block h2 {
    margin-bottom: 56px;
    padding-bottom: 56px;
    border-bottom: 1px solid #D5D5D5;
}

.dr-row {
    align-items: flex-end;
}

#rooted-in-science .item {
    margin-bottom: 33px;
}

#rooted-in-science .item h3 {
    font-size: 30px;
    line-height: 36px;
    font-weight: 400;
    margin-bottom: 16px;
}

#rooted-in-science .item p {
    font-size: 18px;
    line-height: 26px;
}

#rooted-in-science .dr {
    margin-bottom: 30px;
    padding-bottom: 22px;
    border-bottom: 1px solid #D5D5D5;
}

#rooted-in-science .dr h5 {
    font-size: 20px;
    line-height: 29px;
    font-weight: 400;
    margin-bottom: 0;
}

/* Empty row-alignment spacer (keeps the two .dr columns' rows lined up
   without a name in every slot) - same box height as a real entry, but
   no divider line since there's nothing to divide. */
#rooted-in-science .dr.dr-empty {
    border-bottom: none;
}

#how-autofocals-work {
    position: relative;
    padding-bottom: 140px;
    padding-top: 80px;
}

#haw-bg {
    background: #F2F2F2;
    position: absolute;
    right: 0;
    top: 0;
    width: calc(50% + 700px - (1400px - 11 * 1.75rem) / 12 - 1.75rem);
    height: 1333px;
    z-index: -1;
}

/* Container: calc(100% - 40px) */
@media (min-width: 1200px) {
    #haw-bg {
        width: calc(91.667% - 30.667px);
    }
}

/* Container: 1400px */
@media (min-width: 1440px) {
    #haw-bg {
        width: calc(50% + 569.333px);
    }
}

/* Container: 1428px */
@media (min-width: 1500px) {
    #haw-bg {
        width: calc(50% + 581px);
    }
}

#how-autofocals-work .title-block {
    margin-bottom: 120px;
}

#how-autofocals-work h4 {
    margin-top: 36px;
    margin-bottom: 15px;
    font-size: 24px;
    line-height: 29px;
}

#how-autofocals-work .how-work-box p {
    margin-bottom: 0;
    font-size: 14px;
    line-height: 21px;
}

#how-autofocals-work .how-work-box {
    position: relative;
}

.how-work-boxes {
    margin-bottom: 140px;
}

.how-work-box .num {
    font-size: 31px;
    font-weight: 300;
    color: #ffffff;
    position: absolute;
    left: 34px;
    top: 13px;
    z-index: 1;
}

#who-its-for {
    padding-top: 97px;
    padding-bottom: 77px;
    position: relative;
    margin-bottom: 120px;
}

#who-its-for .title-block {
    margin-bottom: 60px;
}

#who-its-for .title-block .sup-title {
    margin-bottom: 72px;
}

#who-its-for .title-block h2 {
    margin-bottom: 35px;
}

#who-its-for .title-block p {
    margin-bottom: 28px;
}

.for-item {
    margin-bottom: 40px;
}

.for-item span {
    display: block;
    width: 32px;
    height: 1px;
    background: #000000;
    margin-bottom: 20px;
}

.for-item h4 {
    font-size: 26px;
    line-height: 31px;
    margin-bottom: 15px;
}

.for-item p {
    margin-bottom: 0;
}

.small-p {
    margin-top: 55px;
    font-size: 14px;
    margin-bottom: 20px;
}

#who-its-for .button {
    width: 220px;
}

#wif-bg {
    background: #F2F2F2;
    position: absolute;
    left: 0;
    top: 0;
    width: calc(50% + 700px - (1400px - 11 * 1.75rem) / 12 - 3.5rem);
    height: 100%;
    z-index: -1;
}

@media (min-width: 1024px) {
    #wif-bg {
        width: calc(91.667% - 2.667px);
    }
}

/* Container: calc(100% - 40px) */
@media (min-width: 1200px) {
    #wif-bg {
        width: calc(91.667% - 2.667px);
    }
}

/* Container: 1400px */
@media (min-width: 1440px) {
    #wif-bg {
        width: calc(50% + 541.333px);
    }
}

/* Container: 1428px */
@media (min-width: 1500px) {
    #wif-bg {
        width: calc(50% + 553px);
    }
}

#explore-the-tech {
    padding-bottom: 170px;
    position: relative;
}

#explore-the-tech .sup-title {
    margin-bottom: 210px;
}

#explore-the-tech .title-block h2 {
    margin-bottom: 38px;
    line-height: 50px;
}

#explore-the-tech .title-block p {
    font-size: 18px;
    line-height: 28px;
}

#explore-the-tech .title-block {
    margin-bottom: 140px;
}

.tech-box {
    position: relative;
    border: 1px solid #D5D5D5;
    border-radius: 6px;
    background: #fff;
    padding: 23px 15px 23px 29px;
    min-height: 228px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    margin-bottom: 28px;
}

.tech-box h4 {
    font-size: 22px;
    margin-bottom: 0;
    line-height: 25px;
}

.tech-box p {
    margin-bottom: 0;
}

#ett-bg {
    background: #F2F2F2;
    position: absolute;
    left: 4.0625vw;
    top: 0;
    width: 41vw;
    height: 940px;
    z-index: -1;
}

#ett-img {
    position: absolute;
    top: 20px;
    left: 1.042vw;
    width: auto;
    height: 700px;
    z-index: 0;
}

@media (max-width: 2600px) {
    #ett-img {
        top: 7vh;
        left: 6%;
        height: 660px;
    }
}

@media (max-width: 2000px) {
    #ett-img {
        top: 13vh;
        left: 4%;
        height: 540px;
    }
}

@media (max-width: 1700px) {
    #ett-img {
        left: 3%;
        height: 480px;
        top: 14vh;
    }
}

@media (max-width: 1700px) {
    #ett-img {
        left: 3%;
        height: 450px;
        top: 16vh;
    }
}

@media (max-width: 1500px) {
    #ett-img {
        left: -10%;
        height: 540px;
        top: 17vh;
    }

    #ett-bg {
        left: -6%;
        width: 50vw;
    }
}

@media (max-width: 1200px) {
    #ett-img {
        left: -10%;
        height: 450px;
        top: 17vh;
    }
}

#explore-the-tech .buttons {
    margin-top: 30px;
}

.wishlist-div {
    background: #000000;
    height: 100vh;
    padding-top: 22vh;
    padding-bottom: 22vh;
}

.text-w .title-block .sup-title,
.text-w .title-block h2,
.text-w .title-block p {
    color: #ffffff;
}

.wishlist-div .title-block .sup-title {
    border-color: #ffffff;
    margin-bottom: 15vh;
}

.custom-form-wrapper {
    background: #ffffff;
    padding: 37px 33px 19px 33px;
    border-radius: 6px;
    border: 1px solid #707070;
}

.prefer-p {
    margin-top: 28px;
    color: #7b7975;
    font-size: 13px;
    text-align: center;
}

.prefer-p a {
    color: #ACAAA4;
    text-decoration: underline;
}

.wishlist-nospam {
    color: #7C7A76;
    font-size: 13px;
    margin-bottom: 0 !important;
}

.wishlist-nospam p {
    margin-bottom: 0;
}

.custom-form-wrapper .ff-default .ff-el-form-control {
    border-color: #d2d2d2;
    border-width: 2px;
    border-radius: 10px;
    color: #000000;
    height: 56px !important;
    font-family: 'Inter', sans-serif;
}

.custom-form-wrapper .ff-default .ff-el-form-control:focus {
    color: #000000;
}

.custom-form-wrapper .ff-default .ff-el-form-control::placeholder {
    color: #5A5A57;
}

.wishlist-form-wrapper .ff-name-field-wrapper .ff-t-container {
    flex-direction: column;
    gap: 0;
}

.custom-form-wrapper form .button-sand {
    background: #E3DDD9 !important;
    color: #000000 !important;
    font-size: 14px !important;
    line-height: 1em !important;
    padding: 0 24px !important;
    height: 56px !important;
    text-align: center !important;
    border-radius: 10px !important;
    transition: all .3s ease !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 180px !important;
    margin: 0 auto !important;
}

.custom-form-wrapper form .button-sand:hover {
    background: #CAC5BD !important;
}

#for-eye-care-professionals {
    padding-top: 145px;
    padding-bottom: 145px;
}

#for-eye-care-professionals .buttons {
    margin-top: 40px;
}

#for-eye-care-professionals .title-block .sup-title.sup-title-big {
    margin-bottom: 170px;
}

#pic-bg-frame2 {
    margin-bottom: 130px;
}

#for-eye-care-professionals .tech-box {
    min-height: 278px;
}

#research-collaboration {
    padding-top: 100px;
    margin-bottom: 180px;
    padding-bottom: 64px;
    background: #F4F4F4;
}

#research-collaboration .sup-title {
    margin-bottom: 72px;
}

#research-collaboration .title-block {
    margin-bottom: 72px;
}

#research-collaboration .container {
    position: relative;
}

#rc-img {
    position: absolute;
    right: 0;
    top: 0;
    width: 45%
}

.rc-items {
    background: #ffffff;
    padding: 42px 20% 48px 40px;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    width: calc(100% + 40px);
    margin-left: -40px;
}

.rc-item {
    flex: 0 0 calc(50% - 12px);
}

.rc-item h4 {
    font-weight: 500;
    font-size: 20px;
    line-height: 25px;
    margin-bottom: 10px;
}

.rc-item p {
    font-size: 14px;
    margin-bottom: 0;
    line-height: 22px;
}

#advisors {
    padding-bottom: 210px;
}

.advisors {
    margin-top: 65px;
}

.advisor {
    padding-bottom: 18px;
    border-bottom: 1px solid #D6D6D6;
}

.advisor h3 {
    font-size: 22px;
    line-height: 1em;
    margin-bottom: 7px;
}

.advisor .inst {
    display: block;
    font-size: 15px;
    line-height: 22px;
    color: #959595;
}

.advisor:not(:last-child) {
    margin-bottom: 65px;
}

#advisors .button {
    margin-top: 45px;
}

.opto-partners-div {
    padding-top: 120px;
    padding-bottom: 120px;
    background: #000000;
}

.opto-partners-div .sup-title {
    margin-bottom: 60px;
}

.opto-partners-div .title-block p {
    font-size: 20px;
    line-height: 30px;
}

.opto-partners-form-wrapper {
    background: #ffffff;
    padding: 50px 50px 20px;
}

.opto-partners-form-wrapper .ff-el-form-check:first-child {
    margin-top: 20px;
}

.opto-partners-form-p {
    margin-top: 30px;
    margin-bottom: 0 !important;
}

.opto-partners-form-p p {
    margin-bottom: 0;
    text-align: center;
    color: #5A5A57;
    font-size: 14px;
}

.opto-partners-form-wrapper .ff-default .ff-el-form-check label.ff-el-form-check-label span {
    margin-left: 10px;
}

#clinical {
    padding-top: 150px;
    padding-bottom: 160px;
    background: #EBE8E5;
}

#clinical .title-block .sup-title {
    margin-bottom: 66px;
}

#clinical .title-block h3 {
    font-weight: 300;
    font-size: 30px;
    line-height: 44px;
    letter-spacing: 0.025em;
}

#latest-news {
    padding: 140px 0;
}

#latest-news .sup-title {
    margin-bottom: 66px;
}

#latest-news .title-block h2 {
    margin-bottom: 44px;
}

#latest-news .read-all {
    display: inline-block;
    margin-top: 5px;
    font-size: 17px;
    color: #000000;
    text-decoration: none;
}

#latest-news .read-all:hover {
    text-decoration: underline;
}

.home .buttons {
    display: flex;
    gap: 8px;
}

.wishlist-popup,
.opto-partners-popup {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 9999999;
    overflow: hidden;
    background: #000000;
}

.wishlist-popup.active,
.opto-partners-popup.active {
    display: block;
}

.wishlist-popup-close,
.opto-partners-popup-close {
    position: absolute;
    top: 56px;
    right: 40px;
    font-size: 20px;
    line-height: 40px;
    color: #000;
    background: #fff;
    border: none;
    z-index: 1;
    border-radius: 50%;
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.wishlist-popup-close:hover,
.opto-partners-popup-close:hover {
    background: #000;
    color: #fff;
    border: 2px solid #ffffff;
}

.opto-partners-popup {
    padding-top: 0;
    padding-bottom: 0;
}

.opto-partners-popup .container,
.opto-partners-popup .row {
    height: 100vh;
}

.opto-partners-scroll-viewport {
    position: relative;
    height: 100vh;
    overflow: hidden;
}

.opto-partners-scroll-track {
    will-change: transform;
    transform: translate3d(0, 0, 0);
    padding: 120px 0;
}


.open-roles-popup {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 9999999;
    overflow: hidden;
    background: #000000;
}

.open-roles-popup.active {
    display: flex;
    align-items: center;
    justify-content: center;
}

.open-roles-popup-close {
    position: absolute;
    top: 56px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 20px;
    line-height: 40px;
    color: #000;
    background: #fff;
    border: none;
    z-index: 1;
    border-radius: 50%;
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.open-roles-popup-close:hover {
    background: #000;
    color: #fff;
    border: 2px solid #ffffff;
}

.open-roles-popup-content {
    max-width: 600px;
    padding: 0 20px;
    text-align: center;
}

.open-roles-popup-content p {
    color: #fff;
    font-size: 28px;
    line-height: 1.4;
}


/* ==========================================================================
   Single blog post: entry-content (8 kol) + alignwide breakout (10 kol)
   ========================================================================== */

.entry-content {
    color: #333333;
}

.entry-content p {
    margin-bottom: 2.2rem;
    font-size: 20px;
    line-height: 33px;
}

.entry-content h3 {
    margin-bottom: 50px;
    margin-top: 100px;
    font-weight: 600;
    font-size: 32px;
    line-height: 42px;
    color: #000000;
}

.entry-content table {
    width: 100%;
}

/* Gutenberg "Wide width" na Table bloku probija iz 8-kolonskog roditelja do 10 kolona.
   Ispod 1200px (container nije override-ovan) - bez breakout-a, alignwide = 100% roditelja. */
.entry-content .alignwide {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
}

@media (min-width: 1200px) {
    /* Container: calc(100vw - 40px) */
    .entry-content .alignwide {
        width: calc(100% + 16.667vw - 6.667px);
        margin-left: calc(-8.333vw + 3.333px);
        margin-right: calc(-8.333vw + 3.333px);
    }
}

@media (min-width: 1440px) {
    /* Container: 1360px */
    .entry-content .alignwide {
        width: calc(100% + 226.667px);
        margin-left: -113.333px;
        margin-right: -113.333px;
    }
}

@media (min-width: 1500px) {
    /* Container: 1428px */
    .entry-content .alignwide {
        width: calc(100% + 238px);
        margin-left: -119px;
        margin-right: -119px;
    }
}

/* Footnote linkovi unutar teksta (npr. [2]) */
.entry-content .footnote-link,
.entry-content sup a,
.entry-content .wp-block-paragraph a {
    color: #0552FF;
    text-decoration: none;
}

.entry-content .footnote-link:hover,
.entry-content sup a:hover {
    text-decoration: underline;
}

/* Entry content: default table styling (Gutenberg Table blok) */
.entry-content table thead th {
    background: #000;
    color: #fff;
    text-align: left;
    font-weight: 400;
    line-height: 24px;
    font-size: 20px;
    padding: 16px 20px;
    border: none;
    border-right: 1px solid #fff;
}
.entry-content table thead th:last-child {
    border-right: none;
}

.entry-content table tbody td {
    padding: 16px 20px;
    border: none;
    border-bottom: 1px solid #333333;
    border-right: 1px solid #333333;
    color: #333333;
    font-size: 20px;
    line-height: 24px;
    vertical-align: middle;
}
.entry-content table tbody tr td:last-child {
    border-right: none;
}

/* FAQ */
#single-faq {
    padding-top: 40px;
    padding-bottom: 40px;
}

#single-faq .faq-box {
    background: #F7F7F7;
    padding: 64px 77px;
}

#single-faq .faq-title {
    display: block;
    font-size: 32px;
    line-height: 42px;
    font-weight: 600;
    letter-spacing: 0.025em;
    color: #000000;
    margin-bottom: 40px;
    padding-bottom: 40px;
    border-bottom: 1px solid #707070;
}

.faq-item {
    padding: 18px 0;
}

.faq-item:first-child {
    padding-top: 0;
}

.faq-item:last-child {
    border-bottom: 1px solid #707070;
    padding-bottom: 40px;
}

.faq-question {
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 8px;
    color: #333333;
}

.faq-answer p {
    color: #333333;
    margin-bottom: 0;
    line-height: 33px;
    font-size: 20px;
}

/* Sources */
#single-sources {
    padding-top: 40px;
    padding-bottom: 16px;
}

#single-sources .sources-title {
    display: block;
    text-transform: uppercase;
    font-size: 20px;
    font-weight: 700;
    letter-spacing: 0.1em;
    color: #333333;
    margin-bottom: 30px;
    padding-bottom: 30px;
    border-bottom: 1px solid #707070;
}

.sources-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.sources-list li {
    display: flex;
    gap: 22px;
    padding: 16px 0;
    scroll-margin-top: 100px; /* isti offset kao same-page anchor scroll */
}

.sources-list .source-index {
    color: #0552FF;
    flex: 0 0 auto;
    margin-top: 4px;
}

.sources-list .source-text {
    color: #333333;
    font-size: 18px;
    line-height: 31px;
}

.sources-list .source-text a {
    color: inherit;
    text-decoration: underline;
    word-break: break-word;
}
header .add-to-wishlist-open {
    float: right;
    height: 46px;
}
header.scrolled .add-to-wishlist-open,
header.black .add-to-wishlist-open,
header.blackonly .add-to-wishlist-open {
    background: #000000;
    color: #ffffff;
}

.optrom-reading-time {
    display: none;
}

/*
 * Migration-rebuild fix (not present in the original mirrored CSS):
 *
 * Browser autofill/autocomplete suggestions force a white input
 *    background via the (non-overridable-by-background-color)
 *    :-webkit-autofill pseudo-class, breaking the dark transparent look
 *    of the newsletter email field when a saved address is selected from
 *    the browser's own dropdown. Neutralize it with the standard
 *    box-shadow-inset trick.
 */
.newsletter .ff-default .ff-el-form-control.newsletter-email-field:-webkit-autofill,
.newsletter .ff-default .ff-el-form-control.newsletter-email-field:-webkit-autofill:hover,
.newsletter .ff-default .ff-el-form-control.newsletter-email-field:-webkit-autofill:focus {
    -webkit-text-fill-color: #A3A3A3;
    -webkit-box-shadow: 0 0 0px 1000px #000000 inset;
    box-shadow: 0 0 0px 1000px #000000 inset;
    transition: background-color 5000s ease-in-out 0s;
    caret-color: #A3A3A3;
}

/*
 * Migration-rebuild fix: the in-article "central image" caption sits
 * inside .entry-content, where ".entry-content p" (20px, a rule that
 * targets <p> directly) beats the INHERITED 14px/italic/gray from the
 * ancestor ".hero-meta .caption" rule - a direct match on the element
 * always wins over an inherited value, regardless of specificity. The
 * top hero's caption isn't inside .entry-content, so it never hit this;
 * re-declaring the same values here, targeting the <p> directly with
 * higher specificity, makes both captions match.
 */
.entry-content .blog-post-content-image .hero-meta .caption p {
    color: #9F9F9F;
    font-size: 14px;
    line-height: 24px;
    letter-spacing: 0;
    font-style: italic;
    margin-bottom: 0;
}

/*
 * Migration-rebuild fix: the top hero's image-to-caption gap is a clean
 * 20px (.hero-meta { margin-top: 20px }, with no competing margin since
 * .hero and .hero-meta are direct siblings). The in-article central
 * image doesn't get that same clean gap ABOVE it, because it sits right
 * after a <p> whose own margin-bottom (.entry-content p: 2.2rem = 35.2px)
 * stacks with .blog-post-content-image's own 20px padding-top, nearly
 * tripling the gap. Canceling the preceding paragraph's margin here
 * makes the two gaps match.
 */
.entry-content .blog-post-content-image {
    margin-top: -35.2px;
}

/*
 * Same issue, other side: wpautop wraps the bare <img> in its own <p>
 * (since it isn't otherwise wrapped in a recognized block tag), and that
 * paragraph's margin-bottom (2.2rem = 35.2px, from .entry-content p)
 * stacks with .hero-meta's own 20px margin-top, so the image-to-caption
 * gap is ~55px instead of matching the hero's clean 20px. Zero it out.
 */
.entry-content .blog-post-content-image > p {
    margin-bottom: 0;
}

/* Homepage-only "back to top" button - fixed bottom-right, hidden until
   the user starts scrolling down (.show toggled in custom.js), scrolls
   the page back to the top on click. */
#back-to-top {
    position: fixed;
    right: 24px;
    bottom: 24px;
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background-color: #ffffff;
    border: 1px solid rgba(0, 0, 0, 0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 100000;
    opacity: 0;
    pointer-events: none;
    transform: translateY(10px);
    transition: opacity 0.3s ease, transform 0.3s ease;
}

#back-to-top.show {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
}
