.c-container {
    width: 100%;
    min-height: 100vh;

    display: flex;
    flex-direction: column;
}

.c-section-wrapper {
    padding: var(--space-xs);
}

.c-section {
    display: flex;
    flex-direction: column;

    padding: var(--space-xxl);
}

.c-header {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
}

.c-title {
    font-family: NotoSans, Helvetica, Arial, sans-serif;
    font-size: 48px;
    font-weight: 800;
}

.c-heading {
    font-family: NotoSans, Helvetica, Arial, sans-serif;
    font-size: 40px;
    font-weight: 800;
}

.c-subheading {
    font-family: NotoSans, Helvetica, Arial, sans-serif;
    font-size: 24px;
    font-weight: 600;
}

.c-subheading--02,
.c-subheading--02 > span {
    font-family: NotoSans, Helvetica, Arial, sans-serif;
    font-size: 20px;
    font-weight: 400;
}

.c-text-highlight {
    color: var(--color-01);
}

.c-link {
    transition: var(--transition-02);
    -webkit-transition: var(--transition-02);
}

.c-link:hover {
    color: var(--color-01);
}

.c-response-message {
    display: none;
}

.c-response-message._active {
    display: flex;
}

.c-response-message._active._success {
    color: var(--color-09);
}

.c-response-message._active._failure {
    color: var(--color-10);
}

.c-field-container {
    position: relative;
}

.c-field-label {
    color: var(--color-05);

    font-size: var(--font-size-m);

    line-height: 1;

    transform: translateY(11px);
    -webkit-transform: translateY(11px);

    position: absolute;

    left: var(--space-xs);

    z-index: 0;

    pointer-events: none;

    transition: var(--transition-01);
    -webkit-transition: var(--transition-01);
}

.c-field:focus + .c-field-label,
.c-field:not(:placeholder-shown) + .c-field-label,
.c-field:valid + .c-field-label {
    font-size: var(--font-size-s);

    transform: translateY(-8px);
    -webkit-transform: translateY(-8px);
    
    /* top: 0%; */
}

.c-field {
    width: 100%;

    border: none;
    border-bottom: 1px solid var(--color-05);

    outline: none;

    background: none;

    font-size: var(--font-size-m);

    padding: var(--space-xs);

    position: relative;

    z-index: 1;

    appearance: none;
    -moz-appearance: textfield;
}

.c-field::placeholder {
    color: transparent;
}

.c-field::-webkit-outer-spin-button,
.c-field::-webkit-inner-spin-button {
    margin: 0;

    appearance: none;
    -webkit-appearance: none;
}

.c-field:focus {
    border-color: var(--color-01);
}

.c-select {
    background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIwIiBoZWlnaHQ9IjE5MyIgdmlld0JveD0iMCAwIDMyMCAxOTMiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGQ9Ik0xODIuNiAxODMuNkMxNzAuMSAxOTYuMSAxNDkuOCAxOTYuMSAxMzcuMyAxODMuNkw5LjI5OTY1IDU1LjYwMDRDMC4wOTk2NTMyIDQ2LjQwMDQgLTIuNjAwMzUgMzIuNzAwNCAyLjM5OTY1IDIwLjcwMDRDNy4zOTk2NSA4LjcwMDQxIDE4Ljk5OTcgMC45MDAzOTEgMzEuOTk5NyAwLjkwMDM5MUgyODhDMzAwLjkgMC45MDAzOTEgMzEyLjYgOC43MDA0MSAzMTcuNiAyMC43MDA0QzMyMi42IDMyLjcwMDQgMzE5LjggNDYuNDAwNCAzMTAuNyA1NS42MDA0TDE4Mi43IDE4My42SDE4Mi42WiIgZmlsbD0iI0ZGQjUxNyIvPgo8L3N2Zz4K");
    background-repeat: no-repeat;
    background-position: right 20px center;
    background-size: auto 7px;
    
    cursor: pointer;
}

.c-primary-btn {
    width: max-content;

    border: 1px solid var(--color-01);
    border-radius: var(--radius-l);

    outline: none;

    color: var(--color-03);

    background-color: var(--color-01);

    font-size: var(--font-size-m);

    padding: var(--space-xs) var(--space-m);

    cursor: pointer;

    transition: var(--transition-02);
    -webkit-transition: var(--transition-02);
}

.c-primary-btn:hover {
    background-color: var(--color-02);
}

.c-secondary-btn {
    width: max-content;
    
    border: 1px solid var(--color-05);
    border-radius: var(--radius-l);

    outline: none;

    color: var(--color-07);

    background: transparent;

    font-size: var(--font-size-m);

    display: flex;
    align-items: center;
    gap: var(--space-xs);

    padding: var(--space-xs) var(--space-m);

    cursor: pointer;

    transition: var(--transition-02);
    -webkit-transition: var(--transition-02);
}

.c-secondary-btn:hover {
    border-color: var(--color-01);

    color: var(--color-03);

    background-color: var(--color-01);
}

.c-btn-with-loader {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.c-btn-with-loader-icon {
    height: 14px;

    animation: spin 1s linear infinite;
}

.c-blurred-circle {
    position: absolute;
}

.c-hr {
    height: 1px;

    background-color: var(--border-color);
}

.c-hidden {
    display: none;
}

@media only screen and (max-width: 800px) {
    .c-title {
        font-size: 36px;
    }
}

@media only screen and (max-width: 600px) {
    .c-title {
        font-size: 28px;
    }

    .c-heading {
        font-size: 28px;
    }

    .c-heading-highlight {
        font-size: 28px;
    }
}

@media only screen and (max-width: 400px) {
    .c-title {
        font-size: 20px;
    }

    .c-heading {
        font-size: 20px;
    }

    .c-heading-highlight {
        font-size: 20px;
    }
}