/*
* Page : Contact
* type : css
* Apply on 1 page
*/

/* componnents on all pages */
@import '../components/footer.css';
@import '../components/buttons.css';
@import '../components/loader.css';
@import '../components/hero.css';
@import '../components/forms.css';
@import '../components/toggle.css';

/* componnents on this page */
@import '../components/faq.css';
@import '../components/toggle.css';

/* ------------------------------------------------------------------------------------------------------------------------- */

/* ------------------------------------------------------------------------------------------------------------------------- */

/* hero section */
[data-barba-namespace="contact"] #hero-section.hero.contact {
    justify-content: end;
    background: var(--dark-color);
}
[data-barba-namespace="contact"] #hero-section.hero.contact .hero-content {
    max-width: calc(100% * var(--res));
    width: 100%;
}
[data-barba-namespace="contact"] #hero-section.hero.contact .hero-content > div {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-end;
    max-width: 1424px;
    margin: 0px auto;
    width: 100%;
}
[data-barba-namespace="contact"] #hero-section.hero.contact .hero-container {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-content: flex-start;
    gap: 32px;
    padding: 56px 32px 0px 0px;
    border-radius: 0px 24px 0px 0px;
    width: 100%;
    max-width: 860px;
    position: relative;
    background: linear-gradient(90deg, transparent, rgba(246, 236, 246, 0.0), transparent);
    overflow: hidden;
}

/* responsiv */
@media (max-width: 768px) {
    [data-barba-namespace="contact"] #hero-section.hero.contact .hero-container {
        padding: 56px 32px 0px 0px;
        margin-bottom: 96px;
    }
    [data-barba-namespace="contact"] .why-contact-form, [data-barba-namespace="contact"] .form-container {
        padding-bottom: 0px!important;
        padding-right: 2px!important;
    }
}

/* animation */
[data-barba-namespace="contact"] #hero-section.hero.contact.visible .hero-container {
    will-change: transform;
    animation: borderLineApear 300ms 200ms ease-in forwards;
}
@keyframes borderLineApear {
    from {
        background: linear-gradient(90deg, transparent, rgba(246, 236, 246, 0.0), transparent);
    } to {
        background: linear-gradient(-45deg, transparent, rgba(246, 236, 246, 0.5), transparent);
    }
}

/* ------------------------------------------------------------------------------------------------------------------------- */

/* border linear effect */
[data-barba-namespace="contact"] #hero-section.hero.contact .hero-container::before {
    content: '';
    width: 100%;
    height: calc(100% - 1px);
    position: absolute;
    border-radius: 0px 24px 0px 0px;
    z-index: 0;
    top: 1px;
    right: 1px;
}

/* ------------------------------------------------------------------------------------------------------------------------- */

/* darmode theme */
body.light [data-barba-namespace="contact"] #hero-section.hero.contact .hero-container::before {
    background: var(--dark-color);
}
body.dark [data-barba-namespace="contact"] #hero-section.hero.contact .hero-container::before {
    background: var(--bg-darkness-element);
}

/* ------------------------------------------------------------------------------------------------------------------------- */

/* title hero */
[data-barba-namespace="contact"] .title-form {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 8px;
}
[data-barba-namespace="contact"] section.hero h1, 
[data-barba-namespace="contact"] section.hero p, 
[data-barba-namespace="contact"] section.hero strong {
    color: hsl(0 0% 100% / 0);
    background-clip: text;
    background-repeat: no-repeat;
    background-size: 0% 100%;
}
[data-barba-namespace="contact"] .contact-form-container {
    position: relative;
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: flex-end;
    overflow: hidden;
    transform: translateX(calc(100% + 32px));
}

/* animation */
[data-barba-namespace="contact"] section.hero.visible .hero-content h1 {
    will-change: transform;
    animation: apearTitle 300ms 350ms ease-in forwards;
}
[data-barba-namespace="contact"] section.hero.visible .hero-content p {
    will-change: transform;
    animation: apearTitle 300ms 350ms ease-in forwards;
}
[data-barba-namespace="contact"] .visible .contact-form-container {
    will-change: transform;
    animation: slideFromRight 300ms 500ms ease-in forwards;
}
@keyframes slideFromRight {
    from {
        transform: translateX(calc(100% + 32px));
    } to {
        transform: translateX(0);
    }
}

body.light [data-barba-namespace="contact"] section.hero h1, body.light [data-barba-namespace="contact"] section.hero strong {
    background-image: linear-gradient(90deg, var(--white-color), var(--white-color));
}
body.dark [data-barba-namespace="contact"] section.hero h1, body.dark [data-barba-namespace="contact"] section.hero strong {
    background-image: linear-gradient(90deg, var(--white-color), var(--white-color));
}
body.light [data-barba-namespace="contact"] section.hero p  {
    background-image: linear-gradient(90deg, var(--lightness-color), var(--lightness-color));
}
body.dark [data-barba-namespace="contact"] section.hero p  {
    background-image: linear-gradient(90deg, var(--lightness-color), var(--lightness-color));
}

/* ------------------------------------------------------------------------------------------------------------------------- */

/* choice form */
[data-barba-namespace="contact"] .why-contact-form {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 48px;
    min-width: 106px;
    padding: 32px 32px 96px 32px;
    border-radius: 24px 0px 0px 0px;
    background: linear-gradient(-115deg, transparent, rgba(246, 236, 246, 0.5), transparent);
    transform: translateX(calc(100% + 32px));
}

/* animation */
[data-barba-namespace="contact"] .visible .why-contact-form {
    will-change: transform;
    animation: slideFromRight 300ms 650ms ease-in forwards;
}

/* ------------------------------------------------------------------------------------------------------------------------- */

/* border linear effect */
[data-barba-namespace="contact"] .why-contact-form::before {
    content: '';
    width: calc(100% - 1px);
    height: calc(100% - 1px);
    position: absolute;
    border-radius: 24px 0px 0px 0px;
    z-index: 10;
    top: 1px;
    left: 1px;
}

/* ------------------------------------------------------------------------------------------------------------------------- */

/* darkmode theme */
body.light [data-barba-namespace="contact"] .why-contact-form::before {
    background: var(--dark-color);
}
body.dark [data-barba-namespace="contact"] .why-contact-form::before {
    background: var(--bg-darkness-element);
}

/* ------------------------------------------------------------------------------------------------------------------------- */

/* choice form button */
[data-barba-namespace="contact"] .choice-button {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 8px;
    z-index: 20;
}
[data-barba-namespace="contact"] .why-contact-form .secondary-button {
    width: fit-content;
}

/* ------------------------------------------------------------------------------------------------------------------------- */

/* choice form effect */
[data-barba-namespace="contact"] .why-contact-form .third-button.open {
    background: var(--white-color);
    color: var(--dark-color);
}

/* ------------------------------------------------------------------------------------------------------------------------- */

/* forms container */
[data-barba-namespace="contact"] .form-container {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: initial;
    padding: 20px 32px 96px 32px;
    border-radius: 24px 0px 0px 0px;
    width: 100%;
    background: linear-gradient(-145deg, transparent, rgba(246, 236, 246, 0.5), transparent);
    overflow: hidden;
}
[data-barba-namespace="contact"] .form-container::before {
    content: '';
    width: 100%;
    height: calc(100% - 1px);
    position: absolute;
    border-radius: 24px 0px 0px 0px;
    z-index: 10;
    top: 1px;
    left: 1px;
}

/* ------------------------------------------------------------------------------------------------------------------------- */

/* darkmode theme */
body.light [data-barba-namespace="contact"] .form-container::before {
    background: var(--dark-color);
}
body.dark [data-barba-namespace="contact"] .form-container::before {
    background: var(--bg-darkness-element);
}

/* ------------------------------------------------------------------------------------------------------------------------- */

/* forms */
[data-barba-namespace="contact"] .form {
    position: relative;
    z-index: 15;
}
[data-barba-namespace="contact"] #contactForm, [data-barba-namespace="contact"] #pricingForm {
    position: relative;
    display: none;
}

/* ------------------------------------------------------------------------------------------------------------------------- */

/* choice form effect */
[data-barba-namespace="contact"] #contactForm.open, [data-barba-namespace="contact"] #pricingForm.open {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 16px;
}

/* ------------------------------------------------------------------------------------------------------------------------- */

/* choice service form */
[data-barba-namespace="contact"]  .label-choice-services-container {
    width: 100%;
}
[data-barba-namespace="contact"] .label-choice-services-container .toggles-container {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    padding: 0px 24px;
}
[data-barba-namespace="contact"] .toggle-container {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 16px;
}
[data-barba-namespace="contact"] .toggle-container > span {
    font-family: var(--text-font);
    font-size: 14px;
    color: var(--lightness-color);
}
[data-barba-namespace="contact"] .switch {
    left: 0px;
}

/* ------------------------------------------------------------------------------------------------------------------------- */

/* textarea */
[data-barba-namespace="contact"] #message {
    height: 24vh;
    max-height: 180px;
}

/* ------------------------------------------------------------------------------------------------------------------------- */

/* socials icons */
[data-barba-namespace="contact"] section.hero.contact .liste-social-icon {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    gap: 16px;
    padding-bottom: 96px;
}
[data-barba-namespace="contact"] section.hero.contact .liste-social-icon .link-social-icon {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 32px;
    height: 32px;
    border-radius: 56px;
    background: radial-gradient(42.17% 105.71% at 50% 51.43%, var(--white-color) 0%, var(--grey-color) 100%);
    transition: 300ms ease-in-out;
    opacity: 0;
    transform: translateY(8px);
}

/* animation */
[data-barba-namespace="contact"] section.hero.contact.visible .liste-social-icon .link-social-icon:nth-child(1) {
    will-change: transform;
    animation: bounceUp 300ms ease-in-out forwards;
}
[data-barba-namespace="contact"] section.hero.contact.visible .liste-social-icon .link-social-icon:nth-child(2) {
    will-change: transform;
    animation: bounceUp 300ms 100ms ease-in-out forwards;
}
[data-barba-namespace="contact"] section.hero.contact.visible .liste-social-icon .link-social-icon:nth-child(3) {
    will-change: transform;
    animation: bounceUp 300ms 200ms ease-in-out forwards;
}
[data-barba-namespace="contact"] section.hero.contact.visible .liste-social-icon .link-social-icon:nth-child(4) {
    will-change: transform;
    animation: bounceUp 300ms 300ms ease-in-out forwards;
}
[data-barba-namespace="contact"] section.hero.contact.visible .liste-social-icon .link-social-icon:nth-child(5) {
    will-change: transform;
    animation: bounceUp 300ms 400ms ease-in-out forwards;
}

[data-barba-namespace="contact"] section.hero.contact .liste-social-icon .link-social-icon:hover {
    transform: translateY(-4px);
}
[data-barba-namespace="contact"] section.hero.contact .liste-social-icon .link-social-icon .social-icon {
    height: fit-content;
}

/* ------------------------------------------------------------------------------------------------------------------------- */

/* responsiv and breakpointes */
@media (min-width: 1025px) and (max-width: 1747px) {
    [data-barba-namespace="contact"] #hero-section.hero.contact .hero-content > div {
        width: calc(100% - 304px);
    }
}
@media (min-width: 769px) and (max-width: 1024px) {
    [data-barba-namespace="contact"] #hero-section.hero.contact .hero-content > div {
        width: calc(100% - 112px);
    }
}
@media (max-width: 768px) {
    [data-barba-namespace="contact"] #hero-section.hero.contact {
        height: fit-content;
        padding-top: 88px;
        overflow: hidden;
    }
    [data-barba-namespace="contact"] #hero-section.hero.contact .hero-content > div {
        width: calc(100% - 32px);
    }
}
@media (max-width: 562px) {
    [data-barba-namespace="contact"] .why-contact-form {
        display: none;
    }
}
@media (max-width: 1480px) {
    [data-barba-namespace="contact"] section.hero.contact .liste-social-icon {
        display: none;
    }
}

/* ------------------------------------------------------------------------------------------------------------------------- */

/* ------------------------------------------------------------------------------------------------------------------------- */