﻿/*
    Breakpoints Ref:
    --bs-breakpoint-xs: 0;
    --bs-breakpoint-xsm: 25rem;
    --bs-breakpoint-sm: 36rem;
    --bs-breakpoint-md: 48rem;
    --bs-breakpoint-lg: 62rem;
    --bs-breakpoint-xl: 75rem;
    --bs-breakpoint-xxl: 87.5rem;
*/

@font-face {
    font-family: 'NeuePlak';
    src:
        url('../fonts/NeuePlak-Regular.woff2') format('woff2'),
        url('../fonts/NeuePlak-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'NeuePlak';
    src:
        url('../fonts/NeuePlak-SemiBold.woff2') format('woff2'),
        url('../fonts/NeuePlak-SemiBold.woff') format('woff');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Roslindale';
    src:
        url('../fonts/RoslindaleDspCd-Regular.woff2') format('woff2'),
        url('../fonts/RoslindaleDspCd-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

:root {
    --bs-blue: #0d6efd;
    --bs-indigo: #6610f2;
    --bs-purple: #6f42c1;
    --bs-pink: #f94593;
    --bs-red: #dc3545;
        --bs-orange: #FF6D39;/**/
    --bs-yellow: #ffc107;
    --bs-green: #00de89;
    --bs-teal: #20c997;
    --bs-cyan: #0dcaf0;
    --bs-black: #000;
    --bs-white: #fff;
    --bs-gray: #6c757d;
    --bs-gray-dark: #343a40;
    --bs-gray-100: #f8f9fa;
    --bs-gray-200: #e9ecef;
    --bs-gray-300: #dee2e6;
    --bs-gray-400: #ced4da;
    --bs-gray-500: #adb5bd;
    --bs-gray-600: #6c757d;
    --bs-gray-700: #495057;
    --bs-gray-800: #343a40;
    --bs-gray-900: #212529;
        --bs-primary: #121212;/**/
        --bs-secondary: var(--bs-orange);/**/    
    --bs-success: #00de89;
    --bs-info: #0dcaf0;
    --bs-warning: #ffc107;
    --bs-danger: #dc3545;
    --bs-light: #f8f9fa;
            --bs-dark: #121212;
            --bs-primary-rgb: 18, 18, 18;/**/
            --bs-secondary-rgb: 255, 109, 57;/**/
    --bs-success-rgb: 0, 222, 137;
    --bs-info-rgb: 13, 202, 240;
    --bs-warning-rgb: 255, 193, 7;
    --bs-danger-rgb: 220, 53, 69;
    --bs-light-rgb: 248, 249, 250;
            --bs-dark-rgb: 18, 18, 18;/**/
    --bs-primary-text-emphasis: #080b10;
    --bs-secondary-text-emphasis: #005937;
    --bs-success-text-emphasis: #005937;
    --bs-info-text-emphasis: #055160;
    --bs-warning-text-emphasis: #664d03;
    --bs-danger-text-emphasis: #58151c;
    --bs-light-text-emphasis: #495057;
    --bs-dark-text-emphasis: #495057;
    --bs-primary-bg-subtle: #d0d1d4;
    --bs-secondary-bg-subtle: #ccf8e7;
    --bs-success-bg-subtle: #ccf8e7;
    --bs-info-bg-subtle: #cff4fc;
    --bs-warning-bg-subtle: #fff3cd;
    --bs-danger-bg-subtle: #f8d7da;
    --bs-light-bg-subtle: #fcfcfd;
    --bs-dark-bg-subtle: #ced4da;
    --bs-primary-border-subtle: #a1a4a9;
    --bs-secondary-border-subtle: #99f2d0;
    --bs-success-border-subtle: #99f2d0;
    --bs-info-border-subtle: #9eeaf9;
    --bs-warning-border-subtle: #ffe69c;
    --bs-danger-border-subtle: #f1aeb5;
    --bs-light-border-subtle: #e9ecef;
    --bs-dark-border-subtle: #adb5bd;
    --bs-white-rgb: 255, 255, 255;
    --bs-black-rgb: 0, 0, 0;
            --bs-font-sans-serif: "NeuePlak", system-ui, -apple-system, "Segoe UI", sans-serif;/**/
    --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
    --bs-body-font-family: var(--bs-font-sans-serif);
    --bs-body-font-size: 1rem;
    --bs-body-font-weight: 400;
    --bs-body-line-height: 1.5;
    --bs-body-color: #7b828e;
    --bs-body-color-rgb: 123, 130, 142;
    --bs-body-bg: #fff;
    --bs-body-bg-rgb: 255, 255, 255;
    --bs-emphasis-color: #000;
    --bs-emphasis-color-rgb: 0, 0, 0;
    --bs-secondary-color: rgba(123, 130, 142, 0.75);
    --bs-secondary-color-rgb: 123, 130, 142;
    --bs-secondary-bg: #e9ecef;
    --bs-secondary-bg-rgb: 233, 236, 239;
    --bs-tertiary-color: rgba(123, 130, 142, 0.5);
    --bs-tertiary-color-rgb: 123, 130, 142;
    --bs-tertiary-bg: #f8f9fa;
    --bs-tertiary-bg-rgb: 248, 249, 250;
    --bs-heading-color: inherit;
    --bs-link-color: #131b28;
    --bs-link-color-rgb: 19, 27, 40;
    --bs-link-decoration: underline;
    --bs-link-hover-color: #0f1620;
    --bs-link-hover-color-rgb: 15, 22, 32;
    --bs-code-color: #f94593;
    --bs-highlight-color: #7b828e;
    --bs-highlight-bg: #fff3cd;
    --bs-border-width: 1px;
    --bs-border-style: solid;
    --bs-border-color: #dee2e6;
    --bs-border-color-translucent: rgba(0, 0, 0, 0.175);
    --bs-border-radius: 10px;
    --bs-border-radius-sm: 5px;
    --bs-border-radius-lg: 20px;
    --bs-border-radius-xl: 1rem;
    --bs-border-radius-xxl: 2rem;
    --bs-border-radius-2xl: var(--bs-border-radius-xxl);
    --bs-border-radius-pill: 50rem;
    --bs-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
    --bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
    --bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);
    --bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);
    --bs-focus-ring-width: 0.25rem;
    --bs-focus-ring-opacity: 0.25;
    --bs-focus-ring-color: rgba(19, 27, 40, 0.25);
    --bs-form-valid-color: #00de89;
    --bs-form-valid-border-color: #00de89;
    --bs-form-invalid-color: #dc3545;
    --bs-form-invalid-border-color: #dc3545;

    /* Custom */
    --bg-color: #fff;
    --text-color: #7b828e;
    --heading-text-color: inherit;
    --spacer: 2.5rem;
    --outline-color: #f94593;
    --bs-secondary-color: #707785;
    --shadow: 0px 20px 10px 0px rgba(0, 0, 0, 0.16);
    --orange-hover: #C9572F;
    --orange-active: #f07447;
}

.btn {
    --bs-btn-padding-x: 2em;
    --bs-btn-padding-y: 1.15em;
    --bs-btn-font-family: var(--bs-font-sans-serif);
    --bs-btn-font-size: 16px;
    --bs-btn-font-weight: 600;
    --bs-btn-line-height: 1.1;
    --bs-btn-color: var(--bs-body-color);
    --bs-btn-bg: transparent;
    --bs-btn-border-width: 1px;
    --bs-btn-border-color: transparent;
    --bs-btn-border-radius: 10px;
    --bs-btn-hover-border-color: transparent;
    --bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
    --bs-btn-disabled-opacity: 0.65;
    --bs-btn-focus-box-shadow: 0 0 0 0.25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);
    display: inline-block;
    padding: var(--bs-btn-padding-y) var(--bs-btn-padding-x);
    font-family: var(--bs-btn-font-family);
    font-size: var(--bs-btn-font-size);
    font-weight: var(--bs-btn-font-weight);
    line-height: var(--bs-btn-line-height);
    color: var(--bs-btn-color);
    text-align: center;
    text-decoration: none;
    vertical-align: middle;
    cursor: pointer;
    user-select: none;
    border: var(--bs-btn-border-width) solid var(--bs-btn-border-color);
    border-radius: var(--bs-btn-border-radius);
    background-color: var(--bs-btn-bg);
    transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
    gap: 17px;
    box-shadow: 0 0 20px rgba(0,0,0,0.16);
}
@media (min-width: 48rem) {
    .btn {
        --bs-btn-font-size: 18px;  
        --bs-btn-padding-y: 1.32em;
    }
}

.btn-primary {
    --bs-btn-color: #fff;
    --bs-btn-bg: #121212;
    --bs-btn-border-color: #121212;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #000;
    --bs-btn-hover-border-color: #000;
    --bs-btn-focus-shadow-rgb: 54, 61, 72;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #000;
    --bs-btn-active-border-color: #000;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: #131b28;
    --bs-btn-disabled-border-color: #131b28;
}

.btn-secondary {
    --bs-btn-color: #000;
    --bs-btn-bg: var(--bs-secondary);
    --bs-btn-border-color: var(--bs-secondary);
    --bs-btn-hover-color: #000;
    --bs-btn-hover-bg: var(--orange-hover);
    --bs-btn-hover-border-color: var(--orange-hover);
    --bs-btn-focus-shadow-rgb: 0, 189, 116;
    --bs-btn-active-color: #000;
    --bs-btn-active-bg: var(--orange-active);
    --bs-btn-active-border-color: var(--orange-active);
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #000;
    --bs-btn-disabled-bg: #00de89;
    --bs-btn-disabled-border-color: #00de89;    
}

.btn-light {
    --bs-btn-color: #000;
    --bs-btn-bg: #f8f9fa;
    --bs-btn-border-color: #f8f9fa;
    --bs-btn-hover-color: #000;
    --bs-btn-hover-bg: #d3d4d5;
    --bs-btn-hover-border-color: #c6c7c8;
    --bs-btn-focus-shadow-rgb: 211, 212, 213;
    --bs-btn-active-color: #000;
    --bs-btn-active-bg: #c6c7c8;
    --bs-btn-active-border-color: #babbbc;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #000;
    --bs-btn-disabled-bg: #f8f9fa;
    --bs-btn-disabled-border-color: #f8f9fa;
}

.text-secondary {
    color: #FF6D39 !important;
}

.bg-custom-dark {
    background-color: var(--bs-primary);
}

h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5 {
    font-family: "Roslindale", system-ui, -apple-system, "Segoe UI", sans-serif;
    font-weight: normal;
}

.font-sans,
.logo__name,
.form-label  {
    font-family: var(--bs-font-sans-serif) !important;
}

.logo__name {
    font-size: 18px;
}
@media (min-width: 48rem) {
    .logo__name {
        font-size: 20px;
    }
}

.logo__tagline {
    font-size: 14px;
}
@media (min-width: 48rem) {
    .logo__tagline {
        font-size: 16px;
    }
}

.fs-jumbo {
    font-size: 50px;
}

.fs-jumbo-md {
    font-size: 32px;
}
@media (min-width: 62rem) {
    .fs-jumbo-md {
        font-size: 50px;
    }
}

.fs-jumbo-lg {
    font-size: 32px;
}
@media (min-width: 62rem) {
    .fs-jumbo-lg {
        font-size: 60px;
    }
}

.fs-jumbo-xl {
    font-size: 32px;
}
@media (min-width: 62rem) {
    .fs-jumbo-xl {
        font-size: 80px;
    }
}

.form-label {
    font-size: 24px;
    margin-bottom: 20px;
}
@media (min-width: 62rem) {
    .form-label {
        font-size: 32px;
    }
}
.form-label+.form-text {
    margin-bottom: 17px;
}

#creator-form .form-control {
    border: 1px solid #B8B8B8;
    border-radius: 0;
    margin: 0;
    box-shadow: none;
}

.bg-custom,
.bg-custom-md-motif {
    background-image: url(../images/bg-pattern.svg);
    background-repeat: no-repeat;
    background-size: 80vw auto;
    background-position: top -80px left -100px;
}
@media (min-width: 48rem) {
    .bg-custom,
    .bg-custom-md-motif {
        background-size: auto 100vh;
        background-position: top 70px left -150px;
    }
    .bg-custom-md-motif:has(.is-generating) {
        background-image: url(../images/bg-pattern.svg), url(../images/bg-pattern.svg);
        background-repeat: no-repeat;
        background-size: auto 100vh, auto auto;
        background-position: bottom -80px left -220px, top -330px right -310px;
    }
    .bg-custom-md-motif:has(.is-results) {
        background-image: url(../images/bg-pattern.svg), url(../images/bg-pattern.svg);
        background-repeat: no-repeat;
        background-size: auto 100vh;
        background-position: bottom 15vh left -150px, top -150px right -250px;
    }
}

@media (min-width: 48rem) {
    .home-hero-image {
        padding-top: 12vh !important;
    }
}   

div.btn-group-custom {
    display: flex;
    justify-content: space-between;
    gap: 30px;
    flex-wrap: wrap;
    border-radius: unset;
    overflow: unset;
}
div.btn-group-custom > .btn {
    border-radius: var(--bs-btn-border-radius);
    flex: 0 0 calc(50% - 15px);
    padding-top: 10px;
    padding-bottom: 10px;
}
@media (min-width: 48rem) {
    div.btn-group-custom > .btn {
        padding-top: 14px;
        padding-bottom: 14px;
        flex: 0 0 100%;
    }
}
@media (min-width: 62rem) {
    div.btn-group-custom > .btn {
        flex: 0 0 calc(50% - 15px);
    }
}

.results-box__inner h2, .results-box__inner .h2,
.results-box__inner h3, .results-box__inner .h3,
.results-box__inner h4, .results-box__inner .h4 {
    font-size: inherit;
    font-family: inherit;
    margin-bottom: .75em;
    font-weight: bold;
    margin-top: 2em;
}

.results-box__inner > *:first-child {
    margin-top: 0;
}

.form-control {
    caret-color: var(--bs-orange);
}
.form-control:focus, .form-control:focus-within {
    border-color: var(--bs-orange);
    outline: var(--bs-orange);
}