@import url('https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900&display=swap');

@font-face {
    font-family: 'Tartuffo';
    src: url('./assets/fonts/tart/Tartuffo-Regular.woff2') format('woff2'), url('./assets/fonts/tart/Tartuffo-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Tartuffo';
    src: url('./assets/fonts/tart/Tartuffo-Bold.woff2') format('woff2'), url('./assets/fonts/tart/Tartuffo-Bold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
}

@font-face {
    font-family: 'Tartuffo';
    src: url('./assets/fonts/tart/Tartuffo-RegularItalic.woff2') format('woff2'), url('./assets/fonts/tart/Tartuffo-RegularItalic.woff') format('woff');
    font-weight: normal;
    font-style: italic;
}

@font-face {
    font-family: 'Tartuffo';
    src: url('./assets/fonts/tart/Tartuffo-BoldItalic.woff2') format('woff2'), url('./assets/fonts/tart/Tartuffo-BoldItalic.woff') format('woff');
    font-weight: bold;
    font-style: italic;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    padding: 0;
    font-family: 'Inter', sans-serif;
    overflow-x: hidden;
}

/* Slideshow arrow styling */
.slideshow-arrow {
    opacity: 0.5;
    filter: grayscale(100%) brightness(0) invert(1);
    transition: all 0.3s ease;
}

.slideshow-arrow:hover {
    opacity: 1;
    filter: none;
}

.section {
    height: 100vh;
    width: 100vw;
    position: relative;
}

.arrow-bounce {
    animation: bounce 2s infinite;
}

@keyframes bounce {
    0%, 20%, 50%, 80%, 100% {
        transform: translateY(0);
    }
    40% {
        transform: translateY(-10px);
    }
    60% {
        transform: translateY(-5px);
    }
}

@keyframes bounceLeft {
    0%, 20%, 50%, 80%, 100% {
        transform: translateX(0);
    }
    40% {
        transform: translateX(-10px);
    }
    60% {
        transform: translateX(-5px);
    }
}

@keyframes bounceRight {
    0%, 20%, 50%, 80%, 100% {
        transform: translateX(0);
    }
    40% {
        transform: translateX(10px);
    }
    60% {
        transform: translateX(5px);
    }
}

.hover\:animate-bounce-left:hover {
    animation: bounceLeft 0.6s ease-in-out infinite;
}

.hover\:animate-bounce-right:hover {
    animation: bounceRight 0.6s ease-in-out infinite;
}

.fade-in {
    opacity: 0;
    animation: fadeIn 0.8s ease-in forwards;
}

@keyframes fadeIn {
    to {
        opacity: 1;
    }
}

.logo-fade-in {
    opacity: 0;
}

.logo-animated {
    animation: logoFadeIn 1s ease-in forwards;
}

@keyframes logoFadeIn {
    to {
        opacity: 1;
    }
}

.slide-transition {
    transition: opacity 0.5s ease-in-out;
}

.slideshow-container {
    position: relative;
    width: 100%;
    height: 100%;
}

.slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.5s ease-in-out;
}

.slide.active {
    opacity: 1;
    pointer-events: auto;
}

.material-input {
    position: relative;
    margin-bottom: 24px;
}

.material-input input,
.material-input textarea {
    width: 100%;
    border: none;
    border-bottom: 1px solid #bbb;
    background: transparent;
    font-size: 16px;
    color: #FF4500;
    outline: none;
    transition: border-color 0.3s ease;
    resize: vertical;
}

.material-input input {
    padding: 16px 0;
}

.material-input textarea {
    padding: 16px 0;
    word-wrap: break-word;
    overflow-wrap: break-word;
    white-space: pre-wrap;
}

.material-input input:not(:placeholder-shown),
.material-input textarea:not(:placeholder-shown) {
    margin-bottom: 8px;
}

.material-input label {
    position: absolute;
    top: 16px;
    left: 0;
    color: #FF4500;
    pointer-events: none;
    transition: all 0.3s ease;
    transform-origin: left top;
}

.material-input input:focus + label,
.material-input input:not(:placeholder-shown) + label,
.material-input textarea:focus + label,
.material-input textarea:not(:placeholder-shown) + label {
    top: 0;
    font-size: 12px;
    color: #FF4500;
    transform: scale(0.75);
    padding-left: 2px;
}

.material-input input:focus,
.material-input textarea:focus {
    border-bottom-color: #FF4500;
}

.arrow-fade-out {
    animation: fadeOutDown 0.8s ease-out forwards;
}

@keyframes fadeOutDown {
    to {
        opacity: 0;
        transform: translateY(20px);
    }
}

.arrow-hidden {
    opacity: 0;
    pointer-events: none;
}

/* Testimonial arrow hover effects */
.testimonial-arrow-container {
    opacity: 0.3;
    transition: opacity 0.3s ease;
}

.testimonial-arrow-container:hover {
    opacity: 1;
}

/* Testimonial slide transitions */
.testimonial-slide {
    transition: opacity 0.5s ease;
}

/* Form submit button states */
.form-submit-btn {
    transition: all 0.3s ease;
}

.form-submit-btn.active {
    border-color: #FF4500;
    color: #FF4500;
}

.form-submit-btn.active:hover {
    border-color: #FF4500;
    color: #FF4500;
}

/* Section 7 fade-in elements */
.section7-item {
    opacity: 0;
    transition: opacity 0.8s ease;
}

.section7-item.visible {
    opacity: 1;
}

/* Section backgrounds */
.section1-bg {
    background-color: #FF4500;
}

.section2-bg {
    background-color: #FF4500;
}

.section3-bg {
    background-color: rgba(255, 69, 0, 0.1);
}

.section4-bg {
    background-color: #F6F3F0;
}

.section5-bg {
    background-color: #ff8700;
}

.section6-bg {
    background-color: #500006;
}

.section7-bg {
    background-color: #F6F3F0;
}

/* Text styles */
.message-text-section2 {
    color: #E10500;
    font-family: 'Tartuffo';
    font-size: 6em;
    font-weight: normal;
    line-height: 1;
}

.message-text-section6 {
    color: #E10500;
    font-family: 'Tartuffo';
    font-size: 5em;
    font-weight: normal;
    line-height: 1.2;
}

.message-text-section7 {
    color: #FF4500;
    font-family: 'Tartuffo';
    font-size: 36px;
    line-height: 1.2;
}

.instagram-text {
    color: #FF4500;
    font-family: 'Tartuffo';
    font-size: 18px;
}

/* Testimonial text - black as requested */
.testimonial-text-black {
    color: black;
}

/* Slide backgrounds */
.slide-bg {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

/* Make testimonial text smaller on small/mobile screens */
@media (max-width: 640px) {
    /* Target the large Tartuffo heading inside testimonial slides */
    .testimonial-slide [class*="Tartuffo"] {
        font-size: 1.6em !important;
        line-height: 1.15 !important;
    }

    /* Target attribution / smaller Inter text */
    .testimonial-slide [class*="Inter"] {
        font-size: 12px !important;
        line-height: 1.1 !important;
    }
}

/* Logo backgrounds for section5 */
.logo1-bg {
    background-image: url('./assets/clients/client-logo1.png');
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}

.logo2-bg {
    background-image: url('./assets/clients/client-logo2.png');
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}

.logo3-bg {
    background-image: url('./assets/clients/client-logo3.png');
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}

.logo4-bg {
    background-image: url('./assets/clients/client-logo4.png');
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}

.logo5-bg {
    background-image: url('./assets/clients/client-logo5.png');
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}

.logo6-bg {
    background-image: url('./assets/clients/client-logo4.png');
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}

.logo7-bg {
    background-image: url('./assets/clients/client-logo6.png');
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}

.logo8-bg {
    background-image: url('./assets/clients/client-logo7.png');
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}

.logo9-bg {
    background-image: url('./assets/clients/client-logo8.png');
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}

.logo10-bg {
    background-image: url('./assets/clients/client-logo9.png');
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}

.logo11-bg {
    background-image: url('./assets/clients/client-logo10.png');
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}

.logo12-bg {
    background-image: url('./assets/clients/client-logo11.png');
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}
