@font-face {
    font-family: "Anton";
    src: url("../fonts/Anton-a06ec6daa2d8bf03e3aa281ee58ab3fe.ttf") format("truetype");
}

:root {
    --color-primary: #1E1E1E;
    --color-primary-light: rgba(30, 30, 30, 0.4);
    --color-accent: #D31C1C;
    --color-dark: #000000;
    --color-light: #FFFFFF;
    --color-bg-light: #F0F0F0;
    --color-nomade:#FFF8EE;
    --color-nomade-secondary: #970101;
    --color-courses-primary: #9FB5BA;
    --color-courses-secondary: #EAAF54;
    --spacing-1: 5px;
    --spacing-2: 8px;
    --spacing-3: 10px;
    --spacing-4: 15px;
    --spacing-5: 20px;
    --spacing-6: 30px;
    --spacing-7: 40px;
    --spacing-8: 50px;
    --spacing-9: 75px;
    --spacing-10: 100px;
    --spacing-11: 120px;
    --spacing-12: 150px;
    --spacing-13: 200px;
    --spacing-full-page: 40px;
    --radius-1: 5px;
    --radius-2: 10px;
    --radius-3: 15px;
    --radius-4: 20px;
    --radius-5: 25px;
    --radius-6: 35px;
    --radius-7: 50px;
    --radius-8: 75px;
    --radius-9: 100px;
    --box-shadow-default: 0 5px 10px 0 #00000040;
    --font-titles: "Anton", serif;
    --border-primary-thick: 3px solid var(--color-primary);
    --header-height: 150px;
}




/*------------------------------------*\
  ------------- #RESET -------------
\*------------------------------------*/
html {
    font-size: 18px;
    scroll-behavior: smooth;
}

main {
    padding-top: var(--header-height);
}

.page-home main {
    padding-top: 0;
    background-color: var(--color-light);
}

.page-home {
    background-color: var(--color-dark);
}

body {
    scroll-behavior: smooth;
}

* {
    box-sizing: border-box;
    margin:  0;
    padding: 0;
    color: var(--color-primary);
    font-family: "Helvetica Neue", sans-serif;
    font-size: 1rem;
}

b {
    font-size: inherit;
}

a {
    color: var(--color-primary);
    text-decoration: none;
    cursor: pointer;
    font-family: "Courier New", serif;
    font-size: 0.9rem;
}

a > * {
    font-family: inherit;
    font-size: inherit;
}

button {
    border: none;
    background-color: unset;
    cursor: pointer;
    color: var(--color-primary);
}

input {
    color: var(--color-primary);
}

input[type="text"], input[type="email"], input[type="search"], input[type="button"], input[type="password"] {
    border: none;
    background-color: transparent;
    -webkit-appearance: none;
}

input::placeholder, textarea::placeholder {
    color: #ADADAD;
}

select {
    appearance: none;
    -webkit-appearance: none;
    border: none;
    background-color: transparent;
    cursor: pointer;
    color: black;
}

input:focus, textarea:focus, select:focus {
    outline: none;
}

textarea {
    resize: none;
}

fieldset {
    border: none;
}

h1, h2, h3, h4, h5, h6, div, p, span, li {
    font-weight: normal;
    word-break: break-word;
}

li {
    list-style: none;
}

h1 {
    font-family: "Anton", sans-serif;
    text-transform: uppercase;
}

h2 {
    font-family: "Anton", sans-serif;
    text-transform: uppercase;
}

h3 {
    font-family: "Anton", sans-serif;
    text-transform: uppercase;
}

b {
    font-weight: 500;
}

figure {
    width: fit-content;
}

figcaption {
    font-size: 0.9rem;
    font-style: italic;
    margin-top: 5px;
}

.main-padding-top {
    padding-top: 50px;
}

.workshop.main-padding-top,
.photographer.main-padding-top {
    padding-top: 70px;
}




/*------------------------------------*\
  ------------- #CONTENT -------------
\*------------------------------------*/

/* #HEADER */
header {
    width: 100%;
    position: fixed;
    z-index: 1000;
    top: 0;
    left: 0;
    height: var(--header-height);
}

.nomade-link {
    color: var(--color-accent);
}

.flex-reverse {
    flex-direction: row-reverse;
}

.nav-overlay {
    position: fixed;
    inset: 0;
    z-index: 1001;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--color-dark);
    overflow-y: auto;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.4s ease, visibility 0.4s ease;
}

.nav-overlay.opened {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.nav-overlay__close {
    position: absolute;
    top: calc(var(--header-height) / 2);
    right: var(--spacing-full-page);
    transform: translateY(-50%);
}

.nav-overlay__close-icon {
    position: relative;
    display: block;
    width: 22px;
    height: 18px;
}

.nav-overlay__close-icon span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: var(--color-light);
    border-radius: 2px;
    transition: transform 0.35s ease, opacity 0.35s ease, top 0.35s ease;
}

.nav-overlay__close-icon span:nth-child(1) {
    top: 0;
}

.nav-overlay__close-icon span:nth-child(2) {
    top: 8px;
}

.nav-overlay__close-icon span:nth-child(3) {
    top: 16px;
}

.nav-overlay.opened .nav-overlay__close-icon span:nth-child(1) {
    top: 8px;
    transform: rotate(45deg);
}

.nav-overlay.opened .nav-overlay__close-icon span:nth-child(2) {
    opacity: 0;
}

.nav-overlay.opened .nav-overlay__close-icon span:nth-child(3) {
    top: 8px;
    transform: rotate(-45deg);
}

.nav-overlay__links {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.nav-overlay__link {
    font-family: var(--font-titles);
    text-transform: uppercase;
    color: var(--color-light);
    font-size: 2.2rem;
    line-height: 1.6;
    opacity: 0;
}

.nav-overlay__link--accent {
    color: var(--color-accent);
}

.nav-overlay.opened .nav-overlay__link {
    animation: nav-overlay-link-in 0.34s cubic-bezier(0.4, 0, 0.2, 1) both;
}

.nav-overlay.opened .nav-overlay__link:nth-child(1) { animation-delay: 0.06s; }
.nav-overlay.opened .nav-overlay__link:nth-child(2) { animation-delay: 0.10s; }
.nav-overlay.opened .nav-overlay__link:nth-child(3) { animation-delay: 0.15s; }
.nav-overlay.opened .nav-overlay__link:nth-child(4) { animation-delay: 0.19s; }
.nav-overlay.opened .nav-overlay__link:nth-child(5) { animation-delay: 0.24s; }
.nav-overlay.opened .nav-overlay__link:nth-child(6) { animation-delay: 0.28s; }
.nav-overlay.opened .nav-overlay__link:nth-child(7) { animation-delay: 0.33s; }
.nav-overlay.opened .nav-overlay__link:nth-child(8) { animation-delay: 0.37s; }
.nav-overlay.opened .nav-overlay__link:nth-child(9) { animation-delay: 0.42s; }

@keyframes nav-overlay-link-in {
    from {
        transform: translateY(8px);
        opacity: 0;
    }
    to {
        transform: translateY(0);
        opacity: 1;
    }
}

/* #SITE HEADER (redesign) */
.header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 var(--spacing-full-page);
    background-color: var(--color-light);
    border-bottom: 3px solid var(--color-primary);
    transition: background-color 0.3s ease, border-color 0.3s ease;
}

.header--transparent {
    background-color: transparent;
    border-color: transparent;
}

.header--transparent.header--scrolled {
    background-color: var(--color-light);
    border-color: var(--color-primary);
}

.header__logo {
    position: relative;
    display: block;
    flex-shrink: 0;
    width: 106px;
    aspect-ratio: 1 / 1;
}

.header__logo-img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.header__logo-img--light,
.header__logo-img--dark {
    position: absolute;
    inset: 0;
    transition: opacity 0.3s ease;
}

.header__logo-img--light {
    opacity: 0;
}

.header--transparent .header__logo-img--light {
    opacity: 1;
}

.header--transparent.header--scrolled .header__logo-img--light {
    opacity: 0;
}

.header__logo-img--dark {
    opacity: 1;
}

.header--transparent .header__logo-img--dark {
    opacity: 0;
}

.header--transparent.header--scrolled .header__logo-img--dark {
    opacity: 1;
}

.header__actions {
    display: flex;
    align-items: center;
    gap: var(--spacing-8);
}

.header__gift-link,
.header__menu-btn {
    display: flex;
    align-items: center;
    gap: var(--spacing-3);
    font-family: var(--font-titles);
    text-transform: uppercase;
    font-size: 1.125rem;
    letter-spacing: 0.02em;
}

.header__gift-link span,
.header__menu-btn .header__menu-label {
    font-family: inherit;
    text-transform: inherit;
    font-size: inherit;
    letter-spacing: inherit;
}

.header__gift-link {
    color: var(--color-accent);
}

.header__gift-link span {
    color: var(--color-accent);
}

.header__gift-link img {
    width: 20px;
}

.header__menu-btn,
.header__menu-btn .header__menu-label {
    color: var(--color-primary);
}

.header--transparent .header__menu-btn,
.header--transparent .header__menu-btn .header__menu-label {
    color: var(--color-light);
}

.header--transparent.header--scrolled .header__menu-btn,
.header--transparent.header--scrolled .header__menu-btn .header__menu-label {
    color: var(--color-primary);
}

.header__menu-btn > img {
    width: 22px;
}

.header__menu-icon {
    position: relative;
    display: block;
    width: 22px;
    height: 18px;
}

.header__menu-icon-img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.header__menu-icon-img--light,
.header__menu-icon-img--dark {
    position: absolute;
    inset: 0;
    transition: opacity 0.3s ease;
}

.header__menu-icon-img--light {
    opacity: 1;
}

.header--scrolled .header__menu-icon-img--light {
    opacity: 0;
}

.header__menu-icon-img--dark {
    opacity: 0;
}

.header--scrolled .header__menu-icon-img--dark {
    opacity: 1;
}

.home-hero {
    position: relative;
    height: 100vh;
    overflow: hidden;
}

.home-hero__bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top;
    transform-origin: top;
    animation: home-hero-zoom 30s ease infinite alternate;
}

@keyframes home-hero-zoom {
    from {
        transform: scale(1);
    }
    to {
        transform: scale(1.12);
    }
}

@keyframes home-hero-zoom-mobile {
    from {
        transform: scale(1.6);
    }
    to {
        transform: scale(1.75);
    }
}

.home-hero__overlay {
    position: absolute;
    inset: 0;
    background: #000000B2;
}

.home-hero__nav {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 10px;
}

.home-hero__nav-link {
    font-family: var(--font-titles);
    text-transform: uppercase;
    color: var(--color-light);
    font-size: 3rem;
    line-height: 1.35;
    cursor: pointer;
}

.home-hero__nav-link--accent {
    color: var(--color-accent);
}

.home-hero-video {
    position: relative;
    overflow: hidden;
}

.home-hero-video:has(.video-wrapper--vimeo) {
    padding: 0 var(--spacing-full-page);
}

.home-hero-video:has(.video-wrapper--vimeo)::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: url("../images/photos/pattern-3f9bface0796aa413afbb80a4bf0ae5a.webp");
    background-size: cover;
    background-position: top;
    filter: blur(8px);
    transform: scale(1.1);
}

.home-hero-video:has(.video-wrapper--vimeo)::after {
    content: '';
    position: absolute;
    inset: 0;
    background: #000000B2;
}

.video-wrapper--vimeo {
    position: relative;
    z-index: 1;
    height: 105vh;
    aspect-ratio: 9 / 16;
    width: auto;
    margin: 0 auto;
}

.home-hero-video .video-wrapper__video {
    width: 102%;
    margin-left: -1%;
}


/* #FOOTER */
footer {
    background-color: var(--color-bg-light);
}

.footer-main {
    padding: var(--spacing-7) 0;
}

.footer-main__logo {
    height: 40px;
}

.footer-main__content {
    display: flex;
    align-items: center;
    margin-top: var(--spacing-7);
}

.footer-main__navbar {
    display: flex;
    gap: var(--spacing-10);
    flex-grow: 1;
}

.footer-main__navbar li:not(:last-of-type) {
    margin-bottom: var(--spacing-6);
}

.footer-main__navbar-list {
    flex-shrink: 0;
}

.footer-main__navbar-list--2 img {
    visibility: hidden;
    cursor: move;
}

.footer-main__newsletter {
    width: 100%;
    max-width: 320px;
}

.footer-main__newsletter .title-2 {
    margin-bottom: 20px;
}

footer .banner-sm p {
    font-size: 0.8rem;
}


/* #HOME */
.home-hero {
    position: relative;
    padding-bottom: var(--spacing-6);
}

.home-hero .flex {
    justify-content: space-between;
    gap: var(--spacing-6);
}

.home-hero__left {
    padding-top: 40px;
    flex-basis: 480px;
    flex-shrink: 0;
}

.home-hero__left .subtitle {
    font-style: italic;
    max-width: 300px;
    margin-top: var(--spacing-3);
}

.home-hero__right {
    flex-grow: 1;
}

.video-wrapper {
    display: block;
    position: relative;
}

.video-wrapper__video {
    display: block;
    width: 100%;
    height: auto;
}

.video-wrapper--app .video-wrapper__video {
    max-width: 300px;
}

.video-wrapper__audio-btn {
    position: absolute;
    bottom: 15px;
    right: 15px;
}

.video-wrapper__volume-icon {
    display: block;
}

.video-wrapper--vimeo .video-wrapper__audio-btn {
    bottom: 20px;
    right: 20px;
}

@media (min-width: 577px) {
    .video-wrapper--vimeo .video-wrapper__volume-icon {
        width: 28px;
        height: 28px;
    }

    .video-wrapper--vimeo .video-wrapper__audio-btn {
        bottom: 24px;
        right: 24px;
    }
}


.video-wrapper-embed {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.video-wrapper-embed__poster {
    position: absolute;
    inset: 0;
    z-index: 1;
}

.video-wrapper-embed__poster-img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.video-wrapper-embed__inner {
    position: absolute;
    inset: 0;
    overflow: hidden;
}

.video-wrapper-embed__inner iframe {
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    aspect-ratio: 9 / 16;
    transform: translateY(-50%);
}

.home-hero__actions {
    max-width: 350px;
    margin-top: var(--spacing-6);
}

.home-hero__btn.btn {
    width: 100%;
    margin-bottom: var(--spacing-4);
    height: 60px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
}

.home-news {
    padding: var(--spacing-8) 0 var(--spacing-7);
}

.home-news .title {
    font-size: 0.8rem;
}

.home-news__newspapers-list {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: var(--spacing-8);
    margin-top: var(--spacing-6);
}

.home-newspaper--1 {
    max-height: 30px;
}

.home-newspaper--2 {
    max-height: 20px;
}

.home-newspaper--3 {
    max-height: 40px;
    margin-bottom: 7px;
}

.home-how__header {
    padding: var(--spacing-6) 0;
}

.home-how__features-list {
    display: flex;
    border-top: 1px solid var(--color-primary);
    border-bottom: 1px solid var(--color-primary);
}

.home-how__feature {
    flex: 1;
    padding: var(--spacing-9) var(--spacing-6) var(--spacing-7);
}

.home-how__feature--1 {
    padding-left: 0;
}

.home-how__feature:not(:last-of-type) {
    border-right: 1px solid var(--color-primary);
}

.home-how__feature > div {
    width: 250px;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}

.home-how__feature img {
    height: 100px;
}

.home-how__feature p {
    width: 100%;
    margin-top: var(--spacing-6);
    font-size: 1.2rem;
    text-align: center;
}

.home-apply {
    padding: var(--spacing-7) 0;
}

.home-apply .flex {
    gap: var(--spacing-7);
    align-items: center;
}

.home-apply__left .subtitle {
    margin: var(--spacing-4) 0 var(--spacing-7);
}

.home-coupon {
    background-color: var(--color-bg-light);
    padding: var(--spacing-7) 0;
}

.home-coupon .flex {
    gap: var(--spacing-7);
    align-items: center;
}

.home-coupon__right .subtitle {
    margin: var(--spacing-4) 0 var(--spacing-7);
}

.home-photographers__main, .home-about__main {
    padding: var(--spacing-7) 0 var(--spacing-6);
}

.home-photographers__header, .home-about__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
}

.home-photographers .gallery__img {
    width: 270px;
}

.home-about__header {
    align-items: start;
}

.home-about__header .title-1 {
    max-width: 800px;
}

.home-about__header .btn {
    margin-top: var(--spacing-5);
    flex-shrink: 0;
}

.home-about__main {
    padding-bottom: var(--spacing-6);
}

.home-about__img-wrapper {
    display: block;
}

.home-about__img {
    margin-top: var(--spacing-8);
    width: 100%;
    display: block;
}

.contact-header {
    max-width: 800px;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: center;
    column-gap: 20px;
}

.contact-header > .btn {
    max-width: unset;

}


/* #ABOUT */
.about {
    padding-bottom: var(--spacing-8);
}

.about__title {
    margin-bottom: var(--spacing-8);
}

.about__main, .companies__main, .coupons__main, .work-with-us__main, .franchising__main {
    display: flex;
    gap: var(--spacing-8);
}

.about__post-img {
    width: 100%;
    max-width: 400px;
    margin-top: var(--spacing-6);
}

.work-with-us__main--contact {
    display: block;
    max-width: 800px;
}


.app-description {
    margin-top: 40px;
    max-width: 580px;
}

.app-logos {
    width: fit-content;
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin-top: 40px;
}

.app-logos__link {
    height: 68px;
}

.app-logos__img {
    height: 100%;
}

.companies__main {
    flex-direction: column;
}

.companies__main--form {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    flex-direction: unset;
}

.about__img, .companies__img, .coupons__img, .work-with-us__img, .franchising__img {
    width: 300px;
    height: 400px;
    object-fit: cover;
}

.about__img--app {
    flex-shrink: 0;
    height: auto;
}

.work-with-us__title {
    font-family: "Anton", sans-serif;
    font-size: 1.4rem;
    font-weight: 500;
    margin-bottom: var(--spacing-4);
}

.work-with-us__paragraph {
    margin-bottom: var(--spacing-6);
}

.work-with-us__list {
    margin-bottom: var(--spacing-6);
}

.work-with-us__list li {
    list-style: revert;
    margin-bottom: var(--spacing-2);
}

.companies__img--video {
    width: 100%;
    height: fit-content;
}

.about__main .title-2 {
    margin-bottom: var(--spacing-6);
}

.about__main p:not(:last-of-type),
.companies__main p:not(:last-of-type),
.coupons__main p:not(:last-of-type) {
    margin-bottom: var(--spacing-6);
}

.about-form {
    margin: var(--spacing-6) 0 var(--spacing-5);
}

.about-form-section {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    row-gap: var(--spacing-4);
    padding: var(--spacing-5) 0;
    border-top: 1px solid var(--color-primary);
}

.about-form-section--textarea {
    flex-direction: column;
    align-items: start;
    gap: var(--spacing-6);
    border-bottom: 1px solid var(--color-primary);
    margin-bottom: var(--spacing-6);
}

.about-form-section--radio-multiple {
    display: block;
    border-bottom: 1px solid var(--color-primary);
    margin-bottom: var(--spacing-6);
}

.about-form-label {
    font-family: "Anton", sans-serif;
    font-size: 2rem;
    text-transform: uppercase;
}

.about-form-radios {
    display: flex;
    align-items: center;
    gap: var(--spacing-6);
}

.about-form-section--radio-multiple .about-form-radios {
    justify-content: space-between;
    margin-top: var(--spacing-6);
}

.about-form-text {
    width: 300px;
    text-align: right;
}

.about-form-textarea {
    width: 100%;
    border: unset;
    outline: unset;
}

.about-form-text--file {
    opacity: 0;
    position: absolute;
}

.about-form-file-label--btn {
    display: inline-block;
    cursor: pointer;
    padding: var(--spacing-2);
    border: 1px solid var(--color-primary);
    color: var(--color-light);
    background-color: var(--color-primary);
    text-align: center;
    font-family: "Courier New", serif;
    font-size: 0.9rem;
}

.about-form-file-label--name {
    margin-left: var(--spacing-1);
    color: #ADADAD;
}

#franchising__form {
    margin-top: var(--spacing-9);
}


/* #COUPONS */
.coupons-description {
    padding-bottom: var(--spacing-6);
}

.coupons__info {
    display: flex;
    flex-direction: column;
}

.coupons__tec {
    margin-top: auto;
}

.coupons__main .coupons__tec p {
    margin-top: auto;
    margin-bottom: 0;
}

.coupons-list {
    padding: var(--spacing-6) 0 var(--spacing-10);
}

.coupons-list__grid {
    display: grid;
    gap: var(--spacing-8);
    grid-template-columns: repeat(3, 1fr);
}

.coupons-list .coupon-card {
    display: flex;
    flex-direction: column;
}

.coupons-list__empty-state {
    padding-top: var(--spacing-8);
    font-weight: bold;
}

.coupon-card__img {
    width: 100%;
    margin-bottom: var(--spacing-5);
    object-fit: cover;
    object-position: center;
}

.coupon-card__title {
    margin-bottom: var(--spacing-3);
}

.coupon-card__description {
    margin-bottom: var(--spacing-5);
}

.coupon-card__footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: var(--spacing-5);
    border-bottom: 1px solid var(--color-primary);
    margin-top: auto;
    gap: 20px;
}

.coupon-card__price {
    flex-shrink: 0;
    font-size: 1.2rem;
}

/* #COURSES */

.courses__body {
    padding-bottom: var(--spacing-8);
}

.courses__photo {
    width: 100%;
    margin-top: var(--spacing-6);
}

.courses__cards-body {
    padding: var(--spacing-8) 0;
}

.courses__cards {
    width: 100%;
    margin: auto;
    gap: var(--spacing-8);
    display: grid;
    grid-template-columns: 1fr 1fr;
    margin-top: var(--spacing-8);
}

.course-padding {
    padding: 20px;
}

.courses__card {
    display: flex;
    flex-direction: column;
}

.courses__course-about {
    margin-top: var(--spacing-5);
    font-size: .9rem;
    text-align: justify;
}

.course__flyer {
    width: 100%;
}

.courses__course__bottom {
    height: fit-content;
    padding: 10px 0;
}

.courses__contact-text {
    font-size: 1rem;
    margin-top: 8px;
}

.courses__contact-email,
.courses__contact-email a {
    margin-top: 2px;
    font-family: "Helvetica Neue", Helvetica, sans-serif;
    font-size: 1rem;
    font-weight: bold;
}

.courses__edition-info {
    padding: 10px 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.edition_price, .edition_availability, .edition_days, .edition_timetable, .edition_description {
    font-size: .9rem;
}

.edition_days, .edition_timetable {
    font-weight: 500;
}

.edition_description {
    text-align: justify;
    margin-top: 8px;
}

/* #WORKSHOPS */
.workshops__list {
    width: 720px;
}

.workshop-card {
    width: 100%;
    border-top: var(--border-primary-thick);
}

.workshop-card--last {
    border-bottom: var(--border-primary-thick);
}

.workshop-card-in-evidence {
    display: flex;
    gap: var(--spacing-6);
    padding: var(--spacing-6);
    border: 1px solid var(--color-primary);
    margin-top: var(--spacing-8);
}

.workshop-card-in-evidence .workshop-card__title {
    line-height: 2rem;
}

.workshop-card__right {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-4);
}

.workshop-card__cta {
    margin-top: auto;
}

.workshop-card__thumbnail {
    width: 180px;
    height: 180px;
    display: block;
    object-fit: cover;
    object-position: center;
}

.phone-banner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--spacing-5);
    flex-wrap: wrap;
    padding: var(--spacing-5) 0;
}

.workshop .phone-banner {
    margin-bottom: 80px;
}

.phone-banner__text {
    flex-shrink: 0;
}

.phone-banner__cta.btn {
    padding-left: var(--spacing-4);
    padding-right: var(--spacing-4);
    gap: var(--spacing-5);
}

.workshop-card__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: var(--spacing-5) 0;
}

.workshop-card__title {
    font-family: "Anton", sans-serif;
    font-size: 2rem;
    text-transform: uppercase;
}

.workshop-card__footer {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1px;
    background-color: var(--color-primary);
    border-top: 1px solid var(--color-primary);
    border-bottom: 1px solid var(--color-primary);
}

.workshop-card__photographer {
    display: flex;
    align-items: center;
    gap: var(--spacing-4);
    padding: var(--spacing-4) 0;
    flex-basis: calc(100% / 2);
    font-family: "Helvetica Neue", sans-serif;
    background-color: var(--color-light);
}

.workshop-card__photographer:nth-of-type(even) {
    padding-left: var(--spacing-5);
}

.workshop-card__photographer img {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
}

.workshop {
    margin-top: var(--spacing-9);
    padding-bottom: var(--spacing-10);
}

.workshop .title-1 {
    margin-bottom: var(--spacing-5);
}

.workshop__subtitle {
    margin-bottom: 20px;
}

.workshop__cta-wrapper {
    padding: var(--spacing-4) 0;
}

#photographer-bookings {
    scroll-margin-top: 250px;
}

.bookings {
    min-height: 490px;
    display: flex;
    border-top: 1px solid var(--color-primary);
    border-bottom: 1px solid var(--color-primary);
    overflow: hidden;
    margin-bottom: 20px;
}

.bookings__calendar {
    position: relative;
    flex-basis: 60%;
}

.bookings__calendar-loader {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 20;
    width: 80px;
}

.courses-loader {
    height: 1rem;
}

.calendar {
    width: 100%;
    padding: var(--spacing-6) var(--spacing-5) var(--spacing-6) var(--spacing-2);
}

.calendar__header, .photographers__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: var(--spacing-6);
}

.photographers__header {
    justify-content: start;
    gap: var(--spacing-7);
    padding: var(--spacing-6) 0 0 var(--spacing-5);
}

.calendar__month {
    font-family: "Anton", sans-serif;
    font-size: 1.1rem;
    text-transform: uppercase;
}

.photographers__day {
    font-family: "Anton", sans-serif;
    font-size: 1.1rem;
    text-transform: uppercase;
}

.photographers__hour {
    font-family: inherit;
    font-size: inherit;
    text-transform: inherit;
}

.calendar__shift {
    display: flex;
    align-items: center;
    gap: var(--spacing-6);
}

.calendar__shift-btn {
    cursor: pointer;
}

.calendar__shift-btn--disabled {
    opacity: 0.3;
    pointer-events: none;
    cursor: default;
}

.calendar-grid {
    display: grid;
    grid-template-columns: repeat(7, calc(100% / 7));
    row-gap: var(--spacing-5);
}

.calendar-grid__item {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
}

.calendar-grid__header-day {
    font-family: "Courier New", serif;
    font-size: 0.9rem;
    font-weight: bold;
    text-transform: uppercase;
}

.calendar-grid__slot {
    position: relative;
    width: 50px;
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    border: 1px solid var(--color-primary);
    border-radius: 50%;
    font-size: 0.7rem;
    cursor: pointer;
}

.calendar-grid__slot--active {
    color: var(--color-light);
    background-color: var(--color-primary);
}

.calendar-grid__slot--sold-out {
    color: #D40121;
    border-color: #D40121;
    font-size: 0.6rem;
    cursor: default;
}

.calendar-grid__slot--old {
    color: #ADADAD;
    border: none;
    cursor: default;
}

.calendar-grid__slot--sold-out.calendar-grid__slot--old {
    font-size: 0.7rem;
}

.calendar-grid__slot--filtered {
    opacity: 0.3;
    cursor: default;
    pointer-events: none;
}

.calendar-grid__slot-today-circle {
    position: absolute;
    display: inline-block;
    width: 6px;
    height: 6px;
    bottom: 6px;
    border-radius: 50%;
    background-color: var(--color-primary);
}

.bookings__actions {
    position: relative;
    flex-basis: 40%;
    border-left: 1px solid var(--color-primary);
    overflow: hidden;
    overflow-y: scroll;
    -ms-overflow-style: none;
    scrollbar-width: none;
    scroll-margin-top: 320px;
}

.booking-section {
    width: 100%;
    height: 100%;
}

.bookings__actions::-webkit-scrollbar {
    display: none;
}

.photographers-list__slot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--spacing-4);
    padding: var(--spacing-4) var(--spacing-5);
    border-bottom: 1px solid var(--color-primary);
    cursor: pointer;
}

.photographers-list__text {
    font-size: .9rem;
}

.photographers-list__slot-border {
    padding: var(--spacing-2) var(--spacing-5);
    border-bottom: 1px solid var(--color-primary);
}


.photographers-booking--otp .photographers-list__slot {
    padding-top: var(--spacing-6);
    padding-bottom: var(--spacing-6);
    display: block;
}

.photographers-list__flex {
    display: flex;
    align-items: center;
    gap: 20px;
}

.photographers-list__team-rs {
    color: var(--color-accent);
    font-size: 0.6rem;
    text-transform: uppercase;
    margin-top: var(--spacing-1);
    font-weight: 600;
}

.photographers-list__analog {
    color: var(--color-accent);
    font-size: 0.75rem;
    text-transform: uppercase;
    margin-top: var(--spacing-1);
    font-weight: 600;
}

.photographers-list__upfront-notice {
    color: var(--color-accent);
    font-size: 0.6rem;
    text-transform: uppercase;
    margin-top: var(--spacing-1);
    font-weight: 600;
}

.photographers-list__slot--clickable {
    padding-right: var(--spacing-4);
}


.photographers-list__slot--first {
    border-top: 3px solid var(--color-primary);
}

.photographers-hours, .photographers-booking, .booking-waiting-list {
    width: 100%;
    height: 100%;
    background-color: var(--color-light);
}

.photographers-list__upfront-payment-container {
    margin-top: 10px !important;
}

.photographers-list__upfront-payment--accent {
    color: var(--color-accent);
    font-weight: 500;
}

.photographers-list__upfront-payment {
    font-size: .8rem !important;
}

.photographers-list__upfront-payment-description-row {
    display: flex;
    align-items: center;
    gap: 5px;
}

.photographers-list__upfront-info-btn {
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
}

.photographers-list__upfront-info-btn img {
    display: block;
}

.popup__title--upfront-info {
    color: var(--color-accent);
    text-transform: uppercase;
}

.popup__day-upfront {
    color: var(--color-accent);
    font-size: 0.75rem;
    text-transform: uppercase;
    font-weight: 600;
}

.booking-waiting-list .photographers-list__slot {
    cursor: default;
    margin-bottom: 30px;
}

.photographers-waiting-list__completed {
    font-family: var(--font-titles);
}

.photographers-hours {
    z-index: 1;
}

.photographers-booking {
    z-index: 2;
}

.photographers-booking__form {
    padding: 0 var(--spacing-5) var(--spacing-5);
}

.photographers-booking__form--otp,
.photographers-booking__form--waiting-list {
    padding-top: var(--spacing-5);
}

.photographers-booking__input-flex {
    display: flex;
    gap: 10px;
}

.photographers-booking__input-wrapper,
.coupon__input-wrapper,
.course__input-wrapper {
    margin-bottom: var(--spacing-5);
}

.photographers-booking__input-wrapper--flag,
.coupon__input-wrapper--flag,
.course__input-wrapper--flag {
    display: flex;
    align-items: center;
    gap: var(--spacing-3);
}

.photographers-booking__input-wrapper label,
.coupon__input-wrapper label,
.course__input-wrapper label,
.workshop__label {
    display: inline-block;
    margin-bottom: var(--spacing-2);
    font-size: 0.8rem;
}

.photographers-booking__input-wrapper--flag label,
.coupon__input-wrapper--flag label
.course__input-wrapper--flag label {
    margin-bottom: 0;
}

.photographers-booking__input-wrapper label button,
.coupon__input-wrapper label button,
.course__input-wrapper label button{
    font-size: inherit;
    font-family: inherit;
    text-decoration: underline;
}

.photographers-booking__input-wrapper input,
.photographers-booking__input-wrapper textarea,
.coupon__input-wrapper input,
.coupon__input-wrapper textarea,
.course__input-wrapper input,
.course__input-wrapper textarea,
.course__input-wrapper--select,
.workshop__select {
    display: block;
    width: 100%;
    padding: var(--spacing-1) var(--spacing-2);
    border: 1px solid var(--color-primary);
    border-radius: unset;
    font-size: 0.8rem;
}

.workshop__select {
    margin-bottom: 20px;
    background-image: url("../images/icons/icon-chevron-down-2925a127a5f6a2ee82820c48e300d108.svg");
    background-repeat: no-repeat;
    background-size: 20px 20px;
    background-position: 98% center;
    cursor: pointer;
    padding-right: var(--spacing-5);
    max-width: 50%;
}

.workshop__photographer-filter {
    padding: var(--spacing-6) 0;
    scroll-margin-top: 230px;
    font-size: 1.1rem;
}

.workshop__filters-wrapper {
    display: flex;
    gap: var(--spacing-4);
}

.workshop__filter-group {
    flex: 1;
}

.workshop__photographer-filter .workshop__select {
    margin-bottom: 0;
}

.workshop__photographer-filter .workshop__label {
    display: block;
    margin-bottom: var(--spacing-2);
    font-size: 0.9rem;
    font-weight: 500;
}

.workshop__share-btn {
    display: flex;
    align-items: center;
    gap: var(--spacing-2);
    padding: var(--spacing-3) var(--spacing-4);
    margin-top: var(--spacing-4);
    background-color: var(--color-primary);
    color: var(--color-light);
    border: none;
    cursor: pointer;
    font-size: 0.85rem;
    font-family: "Courier New", serif;
    transition: opacity 0.2s;
}

.workshop__share-btn:hover {
    opacity: 0.8;
}

.workshop__share-btn svg {
    flex-shrink: 0;
}

.workshop__share-feedback {
    display: none;
    margin-top: var(--spacing-2);
    padding: var(--spacing-2) var(--spacing-3);
    font-size: 0.8rem;
    text-align: center;
    opacity: 0;
    transition: opacity 0.3s;
}

.workshop__share-feedback--visible {
    display: block;
    opacity: 1;
}

.workshop__share-feedback--success {
    color: #2d7a3e;
    background-color: #d4edda;
}

.edition_select {
    height: 40px;
    font-size: .8rem;
    margin: 10px 0;
    margin-bottom: 5px;
    padding-left: var(--spacing-3);
    background-image: url("../images/icons/icon-chevron-down-2925a127a5f6a2ee82820c48e300d108.svg");
    background-repeat: no-repeat;
    background-size: 22px 22px;
    background-position: 98% center;
}

.photographers-booking__input-wrapper--flag input {
    width: unset;
}

.coupon__input-wrapper input[type="checkbox"] {
    display: inline-block;
    width: unset;
    vertical-align: middle;
    margin-right: 5px;
}

.photographers-booking__book-btn,
.coupon__book-btn {
    margin-top: var(--spacing-6);
}

.coupon__cta-info {
    margin-top: 10px;
    font-size: 0.8rem;
    text-align: center;
}

.photographers-list__photographer-img {
    width: 40px;
    height: 40px;
    flex-shrink: 0;
    border-radius: 50%;
    object-fit: cover;
    object-position: center;
}

.photographers-list__slot--inactive {
    position: relative;
    cursor: default;
    pointer-events: none;
}

.photographers-list__slot--inactive .photographers-list__status-chip {
    display: inline;
    font-size: 0.8rem;
    opacity: 1;
}

.photographers-list__slot--inactive .photographers-list__chevron {
    display: none;
}

.photographers-list__status-chip {
    display: none;
    position: absolute;
    bottom: 5px;
    right: 5px;
    color: var(--color-accent);
}

.workshop__img {
    display: block;
    width: 100%;
    margin: var(--spacing-6) 0;
}

.workshop__main-info {
    padding-bottom: var(--spacing-6);
}

.workshop__main-info--spaced {
    margin-top: var(--spacing-10);
}

.workshop__main-info > div {
    margin-top: var(--spacing-3);
    margin-bottom: var(--spacing-2);
}

.workshop__main-info a {
    font-family: "Helvetica Neue", sans-serif;
    font-size: 0.9rem;
}

#workshop-info {
    scroll-margin-top: 200px;
}

.workshop-info {
    padding-top: var(--spacing-7);
    border-top: 1px solid var(--color-primary);
}

.workshop-navbar {
    display: flex;
    align-items: baseline;
    gap: var(--spacing-10);
    margin-bottom: var(--spacing-6);
}

.workshop-navbar__link {
    color: var(--color-primary-light);
    font-family: "Anton", sans-serif;
    font-size: 2rem;
    text-transform: uppercase;
    line-height: 2.8rem;
}

.workshop-navbar__link--active {
    color: var(--color-primary);
    border-bottom: var(--border-primary-thick);
}

.workshop-info__dynamic {
    display: none;
    margin-bottom: var(--spacing-8);
}

.workshop-info__dynamic--active {
    display: block;
}

.workshop-info__dynamic--prices > div + div {
    margin-top: var(--spacing-7);
}




/* #FAQ */
.faq {
    padding-bottom: var(--spacing-9);
}

.faq__main {
    max-width: 800px;
}

.faq-section {
    position: relative;
    padding: var(--spacing-4) var(--spacing-6) var(--spacing-4) 0;
    border-bottom: 1px solid var(--color-primary);
    cursor: pointer;
}

.faq-section:first-of-type {
    border-top: 1px solid var(--color-primary);
}

.faq-section__toggle-btn {
    position: absolute;
    top: 15px;
    right: 5px;
    font-family: "Anton", sans-serif;
    font-size: 2.5rem;
    line-height: 2rem;
}

.faq-section__title {
    width: 95%;
    margin-bottom: var(--spacing-5);
}

.faq-section__text {
    width: 80%;
    display: none;
}

.faq-section--open .faq-section__text {
    display: block;
}

.faq-section__text a {
    text-decoration: underline;
    font-family: inherit;
    font-size: inherit;
}

.faq-steps {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-7);
    width: 100%;
}

.faq-step {
    display: flex;
    align-items: flex-start;
    gap: var(--spacing-5);
    margin-bottom: var(--spacing-8);
}

.faq-step__img {
    display: block;
    width: 110px;
    height: 110px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
}

.faq-step__content {
    flex: 1;
}

.faq-step__title {
    font-family: var(--font-titles);
    text-transform: uppercase;
    font-size: 1.1rem;
}

.faq-step__content a {
    color: var(--color-accent);
    text-decoration: underline;
    font-weight: 500;
}


/* #COMPANIES */
.companies {
    padding-bottom: var(--spacing-9);
}

.companies__main h2 {
    margin-bottom: var(--spacing-3);
}


/* #PHOTOGRAPHERS */
.photographers-list__main {
    margin-bottom: var(--spacing-8);
}

.photographers-list__main .grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    border-top: 1px solid var(--color-primary);
}

.photographers-list__main .photographers-card {
    border-bottom: 1px solid var(--color-primary);
}

.photographers-list__main .photographers-card:nth-of-type(odd) {
    border-right: 1px solid var(--color-primary);
}

.photographers-card {
    display: flex;
    align-items: stretch;
    gap: var(--spacing-7);
    padding: var(--spacing-5);
    position: relative;
}

.photographers-card__link {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
}

.photographers-card__badge {
    width: 150px;
    height: 150px;
    position: absolute;
    bottom: var(--spacing-4);
    right: var(--spacing-4);
}

.photographers-card__img {
    width: 160px;
    height: 225px;
    object-fit: cover;
    object-position: center;
    filter: grayscale(100%);
    -webkit-filter: grayscale(100%);
}

.photographers-card__info {
    display: flex;
    flex-direction: column;
}

.photographers-card__name {
    font-size: 2rem;
}

.photographers-card__team-rs {
    color: var(--color-accent);
    font-size: 0.6rem;
    text-transform: uppercase;
    font-weight: 600;
    margin-bottom: 10px;
}

.photographers-card__upfront-notice {
    display: none;
    color: var(--color-accent);
    font-size: 0.6rem;
    text-transform: uppercase;
    font-weight: 600;
    margin-bottom: 10px;
}

.photographers-card__cta {
    width: fit-content;
    margin-top: auto;
}

.photographer {
    padding-top: var(--spacing-9);
    padding-bottom: var(--spacing-9);
}

.photographer-header {
    display: flex;
    align-items: stretch;
    border-top: 1px solid var(--color-primary);
    border-bottom: 1px solid var(--color-primary);
    margin-top: var(--spacing-6);
}

.photographer-header__img-wrapper {
    flex-basis: 120px;
}

.photographer-header__img-wrapper img {
    display: block;
    width: 100%;
    aspect-ratio: 1;
    object-fit: cover;
}

.photographer-header > div,
.photographer-header > a {
    padding: var(--spacing-3);
}

.photographer-header > a {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--spacing-3);
    flex-grow: 1;
    text-align: center;
    padding: var(--spacing-4);
    border-left: 1px solid var(--color-primary);
}

.photographer-header > a > img {
    width: 30px;
}

.photographer-header > a > span {
    font-size: 0.9rem;
    font-weight: 700;
}

.photographer__cta-wrapper {
    padding: var(--spacing-4) 0;
}

/*.gallery::-webkit-scrollbar {*/
/*    height: 3px;*/
/*}*/

/*.gallery::-webkit-scrollbar-track {*/
/*    background: #D9D9D9;*/
/*    margin: 0 var(--spacing-full-page);*/
/*}*/

/*.gallery::-webkit-scrollbar-thumb {*/
/*    background-color: var(--color-primary);*/
/*}*/

.gallery-container {
    position: relative;
    overflow-x: hidden;
}

.gallery-container__title {
    font-size: 1.2rem;
    padding: var(--spacing-6) var(--spacing-full-page) 0;
    text-align: left;
    text-transform: uppercase;
    color: var(--color-primary);
}

.gallery {
    width: 100%;
    display: flex;
    overflow-x: scroll;
    gap: var(--spacing-5);
    padding: var(--spacing-4) var(--spacing-full-page) var(--spacing-6);
    /*-webkit-overflow-scrolling: touch;*/
    scrollbar-width: none; /* Firefox */
    overscroll-behavior-x: none;
    /*touch-action: pan-y;*/
}

.gallery::-webkit-scrollbar {
    display: none; /* Chrome, Safari */
}

.gallery__scrollbar {
    display: none;
    position: absolute;
    bottom: 2px;
    left: var(--spacing-full-page);
    right: var(--spacing-full-page);
    height: 3px;
    background: #eee;
}

.gallery__scrollbar-thumb {
    height: 100%;
    width: 40px;
    background: var(--color-primary);
    border-radius: 2px;
    position: absolute;
    left: 0;
}

.gallery__ph {
    width: 270px;
    flex-shrink: 0;
    aspect-ratio: 4/5;
    background-size: cover;
    background-position: center;
    --webkit-filter: grayscale(100%);
    filter: grayscale(100%);
    display: flex;
    align-items: end;
    padding: 20px;

}

.gallery__ph-name {
    font-family: "Anton", sans-serif;
    font-size: 1.4rem;
    line-height: 1.4rem;
    color: white;
    text-shadow: #00000060 0 0 12px;
    text-transform: uppercase;
}

.gallery__img {
    height: 280px;
    object-fit: cover;
}

.photographer__description {
    padding: var(--spacing-9) 0;
    line-height: 1.4rem;
    border-bottom: 1px solid var(--color-primary);
}

.photographer__description p {
    margin-bottom: 0.8rem;
}

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

.photographer__description h2 {
    font-size: 1.4rem;
    margin-bottom: 0.5rem;
}

.photographer__description h3 {
    font-size: 1.2rem;
    margin-top: 1.2rem;
    margin-bottom: 0.4rem;
}

.photographer__description ul,
.photographer__description ol {
    padding-left: 1.4rem;
    margin-bottom: 0.8rem;
}

.photographer__description ul {
    list-style: disc;
}

.photographer__description ol {
    list-style: decimal;
}

.photographer__description li {
    margin-bottom: 0.3rem;
}

.photographer__description strong {
    font-weight: 600;
}

.photographer__description em {
    font-style: italic;
}

.photographer__description a {
    color: var(--color-accent);
    text-decoration: underline;
}

.photographer__description .epigrafe {
    font-family: "Courier New", serif;
    font-style: italic;
    text-align: center;
    margin: 1.5rem auto;
    max-width: 80%;
}

.photographer-title {
    padding: var(--spacing-6) 0;
    scroll-margin-top: 240px;
}

.photographer-title__attendances {
    display:  flex;
    align-items:  center;
    flex-wrap: wrap;
    margin-top: var(--spacing-4);
    gap: 20px;
}

.workshop-txt {
    font-size: 1.2rem;
    font-weight: 500 !important;
}

.photographer-title .title-2 {
    margin-bottom: var(--spacing-3);
}

/* #BOOKINGS-CONFIRMED */
.bookings-confirmed {
    margin-top: var(--spacing-8);
    padding-bottom: var(--spacing-10);
}

.bookings-confirmed .title-1,
.bookings-confirmed .title-2 {
    margin-bottom: var(--spacing-7);
}

.bookings-confirmed .btn--outline {
    margin: 0 auto;
    color: var(--color-accent);
    font-weight: bold;
}

/* #PRIVACY-POLICY */
.privacy-policy h2 {
    font-size: 1.4rem;
    margin-bottom: var(--spacing-3);
}

.privacy-policy-section {
    margin-bottom: var(--spacing-8);
}

.privacy-policy-section ol {
    padding-left: 45px;
}

.privacy-policy-section ul {
    padding-left: 25px;
}

.privacy-policy-section li {
    list-style: revert;
}

.privacy-policy-section ol > li {
    margin-bottom: 10px;
}

.privacy-policy-section ul > li {
    margin-top: 5px;
}


/*------------------------------------*\
  ------------- #PARTIALS -------------
\*------------------------------------*/
.about-navbar {
    display: flex;
    align-items: center;
    gap: var(--spacing-8);
    margin-bottom: var(--spacing-3);
}

.about-navbar__link {
    color: var(--color-primary-light);
    font-family: "Anton", sans-serif;
    font-size: 2rem;
    text-transform: uppercase;
}

.about-navbar__link--active {
    color: var(--color-primary);
    text-decoration: underline;
}

.about-navbar--mobile {
    display: none;
    padding: var(--spacing-2) 0;
    border-bottom: 1px solid var(--color-primary);
}

.about-navbar__dropdown-btn {
    display: block;
    width: 100%;
    text-align: left;
    background-image: url("../images/icons/icon-chevron-down-primary-b075f7b61b669f2b7b71eade77fae8d1.svg");
    background-repeat: no-repeat;
    background-size: 25px 25px;
    background-position: 99% center;
    font-family: "Anton", sans-serif;
    font-size: 2rem;
    text-transform: uppercase;
}

.about-navbar__dropdown-btn--open {
    background-image: url("../images/icons/icon-chevron-up-primary-36df570b3a73cce47022679378afc338.svg");
}

.about-navbar--mobile .about-navbar__link {
    display: block;
    width: 100%;
    margin-top: var(--spacing-5);
}

.bookings-navbar {
    display: flex;
    align-items: center;
    gap: var(--spacing-10);
    margin-bottom: var(--spacing-9);
}

.bookings-navbar__link {
    color: var(--color-primary-light);
    font-family: "Anton", sans-serif;
    font-size: 4rem;
    text-transform: uppercase;
    line-height: 4.8rem;
}

.bookings-navbar__link--active {
    color: var(--color-primary);
    border-bottom: var(--border-primary-thick);
}





/*------------------------------------*\
  ------------- #UTILITIES -------------
\*------------------------------------*/
/* @BANNERS */
.banner-sm {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: var(--spacing-5) 0;
}

.banner-coupon {
    padding: var(--spacing-7) 0;
}

.banner-coupon__flex {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--spacing-7);
    flex-wrap: wrap;
}

.banner-coupon__left {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--spacing-7);
}

.banner-coupon__img-wrapper {
    flex-shrink: 0;
}

.banner-coupon__img-wrapper img {
    width: 400px;
    max-width: 100%;
    display: block;
    object-fit: cover;
    object-position: center;
}

.banner-coupon__main {
    flex-shrink: 0;
}

.banner-coupon__main .title-2 {
    color: var(--color-accent);
}

.banner-coupon__left {
    flex-grow: 1;
}

/* @CONTAINERS */
.container {
    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
}

.container--medium {
    max-width: 992px;
}

.container--small {
    max-width: 768px;
}

.container--min {
    max-width: 400px;
}

.container-full-page {
    padding-left: var(--spacing-full-page);
    padding-right: var(--spacing-full-page);
}

/* @PADDING */

/* @BORDER */
.bordered {
    border-bottom: var(--border-primary-thick);
}

.bordered-right {
    border-right: var(--border-primary-thick);
}

.bordered-left {
    border-left: var(--border-primary-thick);
}

/* @FLEX */
.flex {
    display: flex;
}

.flex-50 > * {
    flex-basis: 50%;
}

.flex > * > img {
    display: block;
    width: 100%;
}

.flex--aligned {
    align-items: center;
}

.flex--spaced {
    display: flex;
    justify-content: space-between;
}

.flex--end {
    justify-content: end;
}

.flex-grow {
    flex-grow: 1;
}

.flex-1 {
    flex: 1;
}

/* @BUTTONS */
.btn {
    display: block;
    width: fit-content;
    padding: var(--spacing-4) var(--spacing-6);
    max-width: 300px;
    cursor: pointer;
    text-align: center;
    font-family: "Courier New", serif;
    font-size: 0.9rem;
}

.btn--wide {
    width: 300px;
}

.btn__text {
    color: inherit;
    font-family: inherit;
    font-size: inherit;
}

.btn__loader {
    display: block;
    width: fit-content;
    margin: 0 auto;
    height: 18px;
}

.btn--center {
    margin-left: auto;
    margin-right: auto;
}

.btn--right {
    margin-left: auto;
}

.btn--raw {
    padding-left: 0;
    padding-right: 0;
}

.btn--flex {
    display: flex;
    align-items: center;
    gap: 10px;
}

.btn-w-icon > * {
    vertical-align: middle;
}

.btn--small {
    padding: var(--spacing-4) var(--spacing-8);
}

.btn--large {
    padding: var(--spacing-4) var(--spacing-6);
    max-width: 300px;
    width: 100%;
}

.btn--block {
    width: 100%;
    max-width: 100%;
}

.btn--primary {
    color: var(--color-light);
    background-color: var(--color-primary);
}

.btn--outline {
    border: 2px solid var(--color-accent);
}

.btn--circle {
    position: relative;
    border-radius: 50%;
    width: 50px;
}

.btn--circle > * {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}

.btn--disabled {
    opacity: 0.4;
    pointer-events: none;
}

.btn--impersonator {
    position: fixed;
    right: 50px;
    bottom: 50px;
    z-index: 1000;
}

.btn--red {
    background-color: var(--color-nomade-secondary);
}

.btn--home {
    background-color: var(--color-accent);
}

/* @CHIPS */
.chip {
    display: inline-block;
    padding: var(--spacing-2) var(--spacing-4) var(--spacing-2);
    border-radius: var(--radius-7);
    text-align: center;
}

.chip--large {
    padding-left: var(--spacing-7);
    padding-right: var(--spacing-7);
}

/* @DISABLED */
.disabled {
    opacity: 0.4;
    pointer-events: none;
}

/* @INPUTS */

/* @DISPLAY */
.d-none {
    display: none !important;
}

/* @TEXT */
.txt-left {
    text-align: left;
}

.txt-red {
    color: var(--color-accent);
}

.txt-center {
    text-align: center;
}

.txt-right {
    text-align: right;
}

.txt-inherit {
    font-family: inherit;
    font-size: inherit;
}

.txt-normal {
    font-family: "Helvetica Neue", sans-serif;
    font-size: inherit;
}

.txt-bold {
    font-family: "Helvetica Neue", sans-serif;
    font-weight: bold;
}

.txt-secondary-bold {
    font-family: "Courier New", serif;
    font-weight: bold;
}

.txt-title {
    font-family: var(--font-titles);
    text-transform: uppercase;
}

.txt-italic {
    font-style: italic;
}

.txt-underlined {
    text-decoration: underline;
}

.txt-lined {
    color: inherit;
    font-size: inherit;
    text-decoration: line-through;
}

.txt-col-primary {
    color: var(--color-primary);
}

.txt-col-accent {
    color: var(--color-accent);
}

/* @TITLES */
.title-1 {
    font-size: 4rem;
    line-height: 5rem;
}

.title-2 {
    font-size: 2rem;
}

.title-3 {
    font-size: 3rem;
}

.title-red {
    color: var(--color-nomade-secondary);
}

.title-inline {
    display: inline;
}

/* @OVERFLOW */
.overflow-hidden {
    overflow: hidden;
}

.overflow-unset {
    overflow: unset;
}

/* @POINTER-EVENTS */
.pointer-events-none {
    pointer-events: none;
}

/* @VISIBILITY */
.hidden {
    visibility: hidden;
}

/* @MARGIN */
.mb-5 {
    margin-bottom: var(--spacing-5);
}

/* #POPUP */
.popup {
    position: fixed;
    left: 50%;
    top: 10%;
    height: 80%;
    max-width: 90%;
    max-height: 650px;
    z-index: 10002;
    transform: translateX(-50%);
    border: var(--border-primary-thick);
    background-color: white;
    /*box-shadow: 0 0 10000px 10000px rgba(0, 0, 0, 0.4);*/
}

.popup__content {
    height: 100%;
    overflow-y: scroll;
    -ms-overflow-style: none;
    scrollbar-width: none;
    padding: var(--spacing-8);
}

.popup__content--course {
    height: 100%;
}

.popup--dates {
    width: 600px;
}

.popup__day {
    margin-bottom: 5px;
}

.popup--coupon {
    width: 90%;
    max-width: 500px;
}

.popup--course-form {
    height: 710px;
    max-height: unset;
    width: 90%;
    max-width: 520px;
}

.popup--course {
    width: 90%;
    max-width: 500px;
}

.popup--apps {
    height: unset;
    overflow-x: hidden;
    overflow-y: hidden;
    width: 90%;
    max-width: 600px;
}

.popup__title {
    font-family: var(--font-titles);
    font-size: 1.5rem;
    margin-bottom: var(--spacing-5);
}

.popup__close-btn {
    position: absolute;
    top: 20px;
    right: 20px;
}

.popup__flex {
    display: flex;
    flex-wrap: wrap;
    gap: var(--spacing-5);
}

.popup__link {
    display: block;
}

.popup__link-img {
    height: 60px;
}

/* @GENERIC */
.overflow-y-hidden {
    overflow-y: hidden;
}

.back-header {
    position: absolute;
    top: var(--header-height);
    left: 0;
    width: 100%;
    padding: var(--spacing-3) var(--spacing-8) var(--spacing-3) var(--spacing-6);
    border-bottom: 1px solid var(--color-primary);
    background-color: white;
}

.link-with-icon {
    width: fit-content;
    display: flex;
    align-items: center;
    gap: 10px;
}

.link-with-icon span {
    font-weight: 700;
    font-size: 0.9rem;
}

.no-results {
    padding: var(--spacing-8) 0;
}

.overlay-dark {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10001;
    height: 100vh;
    width: 100%;
    background-color: rgba(0, 0, 0, 0.3);
}

.hide-scrollbar::-webkit-scrollbar {
    height: 0;
}

.hide-scrollbar::-webkit-scrollbar-track {
    background: #D9D9D9;
    margin: 0 var(--spacing-5);
}

.hide-scrollbar::-webkit-scrollbar-thumb {
    background-color: var(--color-primary);
}

/* @MAILCHIMP-FORM */
#mc_embed_shell * {
    box-sizing: border-box;
}

#mc_embed_shell .indicates-required {
    display: none !important;
}

#mc_embed_signup {
    width: 100% !important;
    background-color: transparent !important;
}

#mc_embed_signup form {
    margin: unset !important;
}


#mc_embed_signup .mc-field-group {
    width: 100% !important;
}

#mc_embed_signup .foot {
    width: 100% !important;
}


#mc_embed_signup .mc-field-group label {
    margin-bottom: unset !important;
}

#mc_embed_signup .mc-field-group input {
    height: 48px;
    padding: 0 16px !important;
    border: 1px solid var(--color-primary);
    border-radius: unset;
    background-color: transparent;
    text-indent: unset !important;
}

#mc_embed_signup .mc-field-group input::placeholder {
    font-size: 0.9rem;
}

#mc_embed_signup .foot {
    display: block !important;
}

#mc_embed_signup #mc-embedded-subscribe {
    height: unset;
    padding: 8px 0 !important;
    border-radius: unset;
    margin-bottom: unset;
    font-family: "Courier New", serif;
}

#mc_embed_signup #mc-embedded-subscribe {
    width: 100%;
}

#mc_embed_signup #mc-embedded-subscribe-form input.mce_inline_error {
    border-width: 1px !important;
}

#mc_embed_signup #mc-embedded-subscribe-form div.mce_inline_error {
    display: none !important;
}

#mc_embed_signup div#mce-responses {
    padding: unset !important;
    width: 90% !important;
    margin: 0 !important;
}

#mc_embed_signup div.response {
    padding: unset !important;
    width: 100% !important;
    font-size: 0.9rem !important;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    color: var(--color-primary);
    font-size: 0.8rem;
}

.select2-container--default .selection .select2-selection--single {
    border: 1px solid var(--color-primary);
    border-radius: 0;
}

.select2-container--default .select2-results__option--selectable {
    font-size: 0.8rem;
}

.inner-loading {
    position: fixed;
    top: 0;
    left: 0;
    display: flex;
    height: 100vh;
    width: 100vw;
    z-index: 9999999999;
    background-color: rgba(0, 0, 0, 0.3);
    justify-content: center;
    align-items: center;
}

.inner-loading .loading-box {
    height: 100px;
    width: 100px;
    background-color: white;
    border-radius: 20px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
    display: flex;
    justify-content: center;
    align-items: center;
}

.inner-loading img {
    height: 50px;
}

.store-logo {
    height: 50px;
}

.home-apply__stores {
    margin-top: 40px;
}

.home-apply--nomade {
    background-color: var(--color-nomade);
    padding: 40px 0;
}

.nomade-logo {
    width: 100px !important;
    margin-bottom: 10px;
}

.request {
    width: 50%;
}

.request__form {
    width: 100% !important;
}

.form-left {
    width: 50%;
}

.request__form-element {
    border-top: 1px solid black;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 0;
}

.request__form-element--title {
    font-size: 2rem;
    display: block;
    text-align: center;
}

.request__form-label {
    font-family: "Anton", sans-serif;
    font-size: 1.8rem;
}

.request__form-element--message {
    display: block;
}

.request__input {
    background-color: inherit;
    padding: 20px;
    padding-right: 0;
    border: none;
    outline: none;
    width: fit-content;
}

.request__input::placeholder {
    text-align: right;
    font-size: .9rem;
}

.request__input--textarea {
    text-align: left;
    padding: 20px 0;
    width: 100%;
    height: 120px;
    border-bottom: 1px solid black;
}

.request__input--textarea::placeholder {
    text-align: left;
}

.txt-white {
    color: white;
}

.empty-state {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 20px 0;
}

.empty-state__text {
    font-size: 2rem;
}

.editions_empty {
    opacity: 80%;
    cursor: unset;
}