@import url(https://fonts.bunny.net/css?family=atkinson-hyperlegible:400,700);

:root {
    --font-family: 'Atkinson Hyperlegible', sans-serif;

    --maxLogsize: 150px;


    --bg-body: #104547;
    --bg-header: white;
    --bg-footer: #104547;
    --bg-form: #eaebed;

    --txt-form: #104547;
    --txt-h1: #104547;
    --txt-h2: #104547;

    --arrow: #F06449;

    /* default button */
    --btn-primary: #104547;
    --btn-text: white;

    /* hover button */
    --btn-primary--hover: white;
    --btn-text--hover: #104547;

    --radius: 8px;

}

* {
    font-family: var(--font-family);
}

body {
    background-color: var(--bg-body);
    font-weight: 400;
}

h1 {
    color: var(--txt-h1);
    font-weight: 700;
}

h2 {
    color: var(--txt-h2);
    font-weight: 700;
}

.arrow-icon > svg {
    fill: var(--arrow);
}

img.company-logo {
    max-width: var(--maxLogsize);
}

.bg-header {
    background-color: var(--bg-header);
}

.bg-footer {
    background-color: var(--bg-footer);
    margin-top: -90px;
}

.bg-form {
    background-color: var(--bg-form);
    padding: 15px 0;
    min-height: 663.933px;
}

.btn-primary {
    background-color: var(--btn-primary);
    color: var(--btn-text);
    border: none;
    border-radius: var(--radius);
    padding-block: 10px;
    transition: 0.3s ease-in-out;;
}

.btn:first-child:hover, .btn-check:checked + .btn, .btn.active, .btn.show, .btn:first-child:active, :not(.btn-check) + .btn:active, .btn:focus-visible {
    background-color: var(--btn-primary--hover);
    color: var(--btn-text--hover);
}

label {
    color: var(--txt-form);
}

.brand img {
    max-height: 25px;
    margin-top: 5rem;
}
 
.brand p, .brand a {
    font-size: 12px;
    color: #bbb;
    text-decoration: none;
}

.company-info {
    display: flex;
    gap: 2rem;
    margin-top: 2rem;
    padding-bottom: 1rem;
}

.card {
    border-radius: var(--radius);
    border: none;
}

.card label {
    font-weight: bold;
    margin-bottom: 4px;
}

label span.req {
    color: #ff4d4d;
}

.form-group input, .form-group textarea {
    border-radius: var(--radius);
}

.arrow-icon > svg {
    width: 2.5em;
    transform: rotate(90deg);
    margin-bottom: 1em;
}

.arrow-icon {
    display: flex;
    height: 70px;
}

@media (min-width: 576px) {
    .bg-form {
        padding: 30px;
    }
}

@media (min-width: 992px) {
    .arrow-icon > svg {
        width: 55px;
        height: 55px;
        transform: initial;
        margin-bottom: 0;
    }

    .brand img {
        margin-top: 0;
    }

    .bg-header h1 {
        margin-top: 5rem;
    }
}


