/********************
    BASE STYLES
********************/

/* ROOT */

:root {
    --color-text: #3a3a3a;
    --color-text-muted: #6f6f6f;
    --color-grey-medium: #cccccc;
    --color-grey-light: #eeeeee;
    --color-grey-ultralight: #f6f6f6;
    --color-primary-dark-2: #0c438e;
    --color-primary-dark-1: #0b5aba;
    --color-primary: #0071eb;
    --color-primary-light-1: #7bb7ff;
    --color-primary-light-2: #b9d7ff;
    --color-primary-light-3: #e6f1ff;
    --color-cta-dark-1: #cb5f00;
    --color-cta: #ee7100;
    --color-success-dark-1: #1a8735;
    --color-success: #28a745;
    --color-danger-dark-1: #b32936;
    --color-danger: #dc3545;
}

/* BASE LAYOUT */

html {
    height: 100%;
    font-size: 100%;
    overflow-x: hidden !important;
    text-size-adjust: none;
}

body {
    min-height: 100%;
    font-family: "Public Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    color: var(--color-text);
    background-color: white;
    font-feature-settings: "kern" 1;
    font-kerning: normal;
    font-variant-ligatures: none;
    text-rendering: optimizeSpeed;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

section {
    position: relative;
}

/* SELECTION */

::selection {
    color: white;
    background-color: var(--color-primary);
    text-shadow: none;
}

/* LINKS */

a {
    color: var(--color-primary);
    text-decoration: underline;
    transition: color 0.15s ease-out, background-color 0.15s ease-out, border-color 0.15s ease-out, box-shadow 0.15s ease-out, opacity 0.15s ease-out;
}

a:hover {
    color: var(--color-primary-dark-2);
    text-decoration: underline;
}

.text-link {
    color: var(--color-text);
}

.text-link:hover {
    color: var(--color-primary);
}

/* FOCUS */

button:focus,
a:focus,
select:focus,
.btn:focus {
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(0, 113, 235, 0.25);
}

button:focus:not(:focus-visible),
a:focus:not(:focus-visible),
select:focus:not(:focus-visible),
.btn:focus:not(:focus-visible) {
    outline: 0;
    box-shadow: none;
}

button:focus-visible,
a:focus-visible,
select:focus-visible,
.btn:focus-visible {
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(0, 113, 235, 0.25);
}

/* SMOOTH INTERNAL SCROLLING */

@media (prefers-reduced-motion: no-preference) {
    @keyframes smoothscroll1 {
        from, to { scroll-behavior: smooth; }
    }

    @keyframes smoothscroll2 {
        from, to { scroll-behavior: smooth; }
    }

    html {
        animation: smoothscroll1 1s;
    }

    html:focus-within {
        animation-name: smoothscroll2;
        scroll-behavior: smooth;
    }
}

:target {
    scroll-margin-top: 2rem;
}

div:target,
section:target,
footer:target {
    scroll-margin-top: 0px;
}

:focus {
    scroll-margin-bottom: 8vh;
}


/********************
    CONTENT
********************/

/* TYPOGRAPHY */

.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
    line-height: 1.3;
}

.font-size-08r {
    font-size: 0.8rem !important;
}

.font-size-085r {
    font-size: 0.85rem !important;
}

.font-size-09r {
    font-size: 0.9rem !important;
}

.font-size-12r {
    font-size: 1.2rem !important;
}

.font-size-13r {
    font-size: 1.3rem !important;
}

.font-size-14r {
    font-size: 1.4rem !important;
}

.font-size-15r {
    font-size: 1.5rem !important;
}

.font-size-175r {
    font-size: 1.75rem !important;
}

.font-size-2r {
    font-size: 2rem !important;
}

.font-size-25r {
    font-size: 2.5rem !important;
}

.font-size-3r {
    font-size: 3rem !important;
}

/* Fix Google Translate problems */
font {
    pointer-events: none;
    vertical-align: unset !important;
}

/* UTILITY CLASSES */

.pt-10 {
    padding-top: 6rem !important;
}

.pb-10 {
    padding-bottom: 6rem !important;
}

.color-white {
    color: white !important;
}

.color-gray {
    color: var(--color-grey-medium) !important;
}

.color-text {
    color: var(--color-text) !important;
}

.color-muted {
    color: var(--color-text-muted) !important;
}

.color-primary {
    color: var(--color-primary) !important;
}

.color-cta {
    color: var(--color-cta) !important;
}

.bg-white {
    background-color: white !important;
}

.bg-light-gray {
    background-color: var(--color-grey-light) !important;
}

.bg-light-green {
    background-color: #EBF5EE;
}

.bg-primary {
    background-color: var(--color-primary) !important;
}

/* IMAGES */

img {
    height: auto;
    max-width: 100%;
    text-indent: -99999px;
    font-size: 0.75rem;
}

/* SVG */

svg {
    width: 1rem;
    height: 1rem;
    color: currentColor;
    transition: fill 0.15s ease-out;
}

/* ICONS */

.icon-32 {
    width: 2rem !important;
    height: 2rem !important;
}

.title__icon {
    fill: currentColor;
    margin-top: -0.4rem;
}


/********************
    FORMS
********************/

/* GENERAL STYLES */

input,
button,
select,
optgroup,
textarea {
    color: inherit;
}

.form-group {
    margin-bottom: 1rem;
}

.form-group > label {
    font-size: 0.9rem;
    font-weight: 600;
    margin-bottom: 0.5rem;
}

.form-group > label.col-form-label {
    margin-bottom: 0;
}

.form-control,
.form-select {
    border-color: var(--color-grey-medium);
    border-radius: 0.2rem;
    color: var(--color-text);
    height: auto;
    padding: 0.5rem 0.75rem;
}

.form-control-sm,
.form-select-sm {
    font-size: 0.875rem;
    padding: 0.35rem 0.5rem;
}

.form-control-lg,
.form-select-lg {
    font-size: 1.25rem;
    padding: 0.5rem 1rem;
}

.form-control:focus,
.form-select:focus {
    border-color: #80bdff;
    box-shadow: 0 0 0 0.2rem rgba(0, 113, 235, 0.25);
}

.form-control:disabled,
.form-control[readonly],
.form-select:disabled,
.form-select[readonly] {
    background-color: var(--color-grey-light);
}

.cool-form {
    position: relative;
}

.cool-form > input,
.cool-form > label,
.cool-form > textarea {
    height: auto;
    padding: 0.75rem;
}

.cool-form--icon-left > input,
.cool-form--icon-left > label {
    height: auto;
    padding: 0.75rem 0.75rem 0.75rem 2.5rem;
}

.cool-form--icon-right > input,
.cool-form--icon-right > label {
    height: auto;
    padding: 0.75rem 2.5rem 0.75rem 0.75rem;
}

.cool-form--btn-left > input,
.cool-form--btn-left > label {
    height: auto;
    padding: 0.75rem 0.75rem 0.75rem 3rem;
}

.cool-form--btn-right > input,
.cool-form--btn-right > label {
    height: auto;
    padding: 0.75rem 3rem 0.75rem 0.75rem;
}

.cool-form > label {
    border: 1px solid transparent;
    border-radius: 0.25rem;
    color: var(--color-text-muted);
    display: block;
    font-size: 1rem;
    font-weight: 400;
    left: 0;
    line-height: 1.5;
    margin-bottom: 0;
    position: absolute;
    top: 0;
    transition: all .1s ease-in-out;
    width: 100%;
}

.cool-form-lg > label {
    font-size: 1.14rem;
}

.cool-form > .form-control::-webkit-input-placeholder {
    color: transparent !important;
    opacity: 0 !important;
}

.cool-form > .form-control::-moz-placeholder {
    color: transparent !important;
    opacity: 0 !important;
}

.cool-form > .form-control::-ms-input-placeholder {
    color: transparent !important;
    opacity: 0 !important;
}

.cool-form > .form-control::placeholder {
    color: transparent !important;
    opacity: 0 !important;
}

.cool-form > input:not(:-moz-placeholder-shown),
.cool-form > textarea:not(:-moz-placeholder-shown) {
    padding-bottom: 0.25rem;
    padding-top: 1.25rem;
}

.cool-form > input:not(:placeholder-shown),
.cool-form > textarea:not(:placeholder-shown) {
    padding-bottom: 0.25rem;
    padding-top: 1.25rem;
}

.cool-form > input:not(:-moz-placeholder-shown) ~ label {
    color: var(--color-text-muted);
    font-size: 0.75rem;
    padding-bottom: 0.25rem;
    padding-top: 0.25rem;
}

.cool-form > input:not(:placeholder-shown) ~ label {
    color: var(--color-text-muted);
    font-size: 0.75rem;
    padding-bottom: 0.25rem;
    padding-top: 0.25rem;
}

.cool-form > textarea:not(:-moz-placeholder-shown) ~ label {
    background-color: #fff;
    color: var(--color-text-muted);
    font-size: 0.75rem;
    left: 1px;
    padding-bottom: 0;
    padding-right: 0;
    padding-top: 0.25rem;
    top: 1px;
    width: calc(100% - 25px);
}

.cool-form > textarea:not(:placeholder-shown) ~ label {
    background-color: #fff;
    color: var(--color-text-muted);
    font-size: 0.75rem;
    left: 1px;
    padding-bottom: 0;
    padding-right: 0;
    padding-top: 0.25rem;
    top: 1px;
    width: calc(100% - 25px);
}

.cool-form__icon {
    color: var(--color-text-muted);
    line-height: 1;
    position: absolute;
    top: 1rem;
}

.cool-form--icon-left > .cool-form__icon {
    left: 0.75rem
}

.cool-form--icon-right > .cool-form__icon {
    right: 0.75rem
}

.cool-form__btn {
    position: absolute;
    top: 0.3rem;
    z-index: 1;
}

.cool-form--btn-left > .cool-form__btn {
    left: 0;
}

.cool-form--btn-right > .cool-form__btn {
    right: 0;
}

.normal-form {
    position: relative;
}

.normal-form > label {
    clip: rect(0 0 0 0);
    border: 0;
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

.normal-form > input,
.normal-form > textarea {
    padding-bottom: 0.75rem;
    padding-top: 0.75rem;
}

.form-check {
    padding-left: 0;
}

.form-check label {
    margin: 0;
}

.form-check input[type=checkbox],
.form-check input[type=radio] {
    left: -99999px;
    position: absolute;
}

.form-check input[type=checkbox] + span,
.form-check input[type=radio] + span {
    cursor: pointer;
    display: inline-block;
    font-size: 0.95rem;
    line-height: 1.4;
    margin: 0;
    padding: 0.25rem 0 0.25rem 2.25rem;
    position: relative;
}

.form-check input[type=radio] + span:before {
    background-color: #fff;
    border: 1px solid var(--color-grey-medium);
    border-radius: 100%;
    content: "";
    height: 1.375rem;
    left: 0;
    margin: 0.25rem;
    position: absolute;
    top: 0;
    width: 1.375rem;
}

.form-check input[type=radio] + span:after {
    background-color: var(--color-primary);
    border-radius: 100%;
    content: "";
    height: 0.875rem;
    left: 0.25rem;
    margin: 0.25rem;
    position: absolute;
    top: 0.25rem;
    transition: all .2s ease-out;
    width: 0.875rem;
}

.form-check input[type=radio]:checked + span:before {
    border-color: var(--color-primary)
}

.form-check input[type=radio]:not(:checked) + span:after {
    opacity: 0;
    transform: scale(0);
}

.form-check input[type=radio]:checked + span:after {
    opacity: 1;
    transform: scale(1);
}

.form-check input[type=checkbox] + span:after,
.form-check input[type=checkbox] + span:before {
    border-style: solid;
    border-width: 1px;
    content: "";
    left: 0;
    position: absolute;
    transition: all .2s ease-out;
    z-index: 1;
}

.form-check input[type=checkbox] + span:before {
    border: 1px solid #e6e9f2;
    border-radius: 0.0625rem;
    height: 1.0625rem;
    margin: 0.125rem 0.3125rem;
    top: 0;
    transform: rotate(37deg);
    transform-origin: 100% 100%;
    width: 1.0625rem;
}

.form-check input[type=checkbox] + span:after {
    border-radius: 0.25rem;
    height: 1.25rem;
    margin: 0.375rem 0.3125rem;
    top: 0;
    width: 1.25rem;
}

.form-check input[type=checkbox]:checked + span:before {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    border-color: transparent #fff #fff transparent;
    border-style: solid;
    border-width: 0.125rem;
    height: 0.8125rem;
    left: 0.0625rem;
    top: 0.375rem;
    transform: rotate(40deg);
    transform-origin: 100% 100%;
    width: 0.5rem;
}

.form-check input[type=checkbox]:checked + span:after {
    background-color: var(--color-primary);
    border-color: var(--color-primary);
    z-index: 0;
}

.form-check input[type=checkbox]:not(:checked) + span:after {
    background-color: #fff;
    border-color: var(--color-grey-medium);
    z-index: 0
}

.form-check input[type=checkbox]:not(:checked) + span:before {
    border-color: transparent;
    height: 0;
    left: 0.375rem;
    top: 0.625rem;
    width: 0;
}

.form-check input[type=checkbox]:focus + span:after,
.form-check input[type=radio]:focus + span:before {
    box-shadow: 0 0 0 0.2rem rgba(0, 113, 235, 0.25);
}

.form-check input[type=checkbox]:focus:not(:focus-visible) + span:after,
.form-check input[type=radio]:focus:not(:focus-visible) + span:before {
    box-shadow: none;
}

.form-check input[type=checkbox]:focus-visible + span:after,
.form-check input[type=radio]:focus-visible + span:before {
    box-shadow: 0 0 0 0.2rem rgba(0, 113, 235, 0.25);
}

.form-check input[type=checkbox]:disabled + span {
    cursor: not-allowed;
}

.form-check input[type=checkbox]:disabled:not(:checked) + span:after {
    background-color: #fff;
    border-color: #e6e9f2;
}

.form-check input[type=checkbox]:disabled:checked + span:after {
    background-color: #e6e9f2;
    border-color: #e6e9f2;
}

/* VALIDATION */

input:user-invalid,
textarea:user-invalid {
    border-color: var(--color-danger);
}

.form-alert {
    margin-top: 0.3rem;
    font-size: 0.8rem;
}

.form-alert.form-alert__error {
    color: var(--color-danger);
}

input.error,
textarea.error {
    border-color: var(--color-danger);
}

label.error {
    margin: 0.3rem 0 0;
    font-size: 0.8rem;
    color: var(--color-danger);
}

.form-alert > label.error {
    margin: 0;
}

.form-alert svg {
    margin-right: 0.4rem;
}

:not(output):-moz-ui-invalid {
    box-shadow: unset;
}


/********************
    COMPONENTS
********************/

/* BUTTONS */

button,
[type="button"],
[type="reset"],
[type="submit"] {
    appearance: button;
}

button {
    padding: 0;
    color: inherit;
    background-color: inherit;
    border: none;
    transition: color 0.15s ease-out, background-color 0.15s ease-out, border-color 0.15s ease-out, box-shadow 0.15s ease-out, opacity 0.15s ease-out !important;
}

.btn {
    padding: 0.45rem 0.75rem;
    border-radius: 0.2rem;
}

.btn,
.btn:hover {
    text-decoration: none;
}

.btn-wide {
    padding-left: 1.5rem !important;
    padding-right: 1.5rem !important;
}

.btn-ultrawide {
    padding-left: 2.5rem !important;
    padding-right: 2.5rem !important;
}

.btn-xs {
    font-size: 0.75rem;
    line-height: 1.5;
    padding: 0.15rem 0.5rem;
}

.btn-group-sm > .btn,.btn-sm {
    font-size: 0.875rem;
    padding: 0.25rem 0.5rem;
}

.btn-sm.btn-wide {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
}

.btn-group-lg > .btn,.btn-lg {
    font-size: 1.2rem;
    padding: 0.55rem 0.8rem;
}

.btn-lg.btn-wide {
    padding-left: 1.75rem !important;
    padding-right: 1.75rem !important;
}

.btn-lg.btn-ultrawide {
    padding-left: 3rem !important;
    padding-right: 3rem !important;
}

.btn-group > .btn {
    min-width: 0;
}

.btn-ga-primary {
    font-weight: 600;
    color: white;
    background-color: var(--color-primary);
    border-color: var(--color-primary);
}

.btn-ga-primary:hover,
.btn-ga-primary:focus,
.btn-ga-primary:first-child:active,
:not(.btn-check) + .btn-ga-primary:active {
    color: white;
    background-color: var(--color-primary-dark-1);
    border-color: var(--color-primary-dark-1);
}

.btn-ga-primary:focus-visible {
    color: white;
    background-color: var(--color-primary-dark-1);
    border-color: var(--color-primary-dark-1);
}

.btn-ga-primary.ignore-disabled.disabled,
.btn-ga-primary.ignore-disabled:disabled {
    background-color: var(--color-primary) !important;
    border-color: var(--color-primary) !important;
    color: white !important;
    opacity: 1 !important;
}

.btn-ga-dark-default {
    font-weight: 600;
    color: var(--color-text);
    background-color: white;
    border-color: #adadad;
}

.btn-ga-dark-default:hover,
.btn-ga-dark-default:focus,
.btn-ga-dark-default:first-child:active,
:not(.btn-check) + .btn-ga-dark-default:active {
    color: var(--color-text);
    background-color: var(--color-grey-ultralight);
    border-color: #adadad;
}

.btn-ga-dark-default:focus-visible {
    color: var(--color-text);
    background-color: var(--color-grey-ultralight);
    border-color: #adadad;
}

.btn-ga-default {
    font-weight: 600;
    color: var(--color-text-muted);
    background-color: white;
    border-color: var(--color-grey-medium);
}

.btn-ga-default:hover,
.btn-ga-default:focus,
.btn-ga-default:first-child:active,
:not(.btn-check) + .btn-ga-default:active {
    color: var(--color-text-muted);
    background-color: var(--color-grey-ultralight);
    border-color: var(--color-grey-medium);
}

.btn-ga-default:focus-visible {
    color: var(--color-text-muted);
    background-color: var(--color-grey-ultralight);
    border-color: var(--color-grey-medium);
}

.btn-ga-cta {
    font-weight: 700;
    color: white;
    background-color: var(--color-cta);
    border-color: var(--color-cta);
}

.btn-ga-cta:hover,
.btn-ga-cta:focus,
.btn-ga-cta:first-child:active,
:not(.btn-check) + .btn-ga-cta:active {
    color: white;
    background-color: var(--color-cta-dark-1);
    border-color: var(--color-cta-dark-1);
}

.btn-ga-cta:focus-visible {
    color: white;
    background-color: var(--color-cta-dark-1);
    border-color: var(--color-cta-dark-1);
}

.btn-ga-cta.ignore-disabled.disabled,
.btn-ga-cta.ignore-disabled:disabled {
    background-color: var(--color-cta) !important;
    border-color: var(--color-cta) !important;
    color: white !important;
    opacity: 1 !important;
}

/* MODAL */

.modal-open {
    padding: 0 !important;
    overflow: unset;
}

.modal-open .modal {
    padding: 0 !important;
    overscroll-behavior-y: contain;
}

.modal {
    z-index: 999999999;
}

.modal-backdrop {
    z-index: 999999998;
}

.modal-dialog-scrollable .modal-body {
    overflow-x: hidden;
}

.modal-content {
    border: 1px solid var(--color-grey-medium);
    border-radius: 0.2rem;
    box-shadow: 0 0.625rem 1.25rem rgba(0, 0, 0, 0.3);
    font-size: 1rem;
}

.modal-header {
    position: relative;
    z-index: 1;
    padding: 0.4rem 15px;
    align-items: center;
    border-bottom: none;
    border-top-right-radius: 0.2rem;
    border-top-left-radius: 0.2rem;
}
@media (min-width: 768px) {
    .modal-header {
        padding: 0.5rem 1.5rem;
        border-bottom: 1px solid var(--color-grey-medium);
    }
}
@media screen and (max-height: 767px) and (orientation: landscape) {
    .modal-header {
        padding: 0.4rem 15px;
    }
}
@supports (padding: max(0px)) {
    .modal-header {
        padding-left: max(15px, env(safe-area-inset-left));
        padding-right: max(15px, env(safe-area-inset-right));
    }
    @media (min-width: 768px) {
        .modal-header {
            padding-left: max(2.5rem, env(safe-area-inset-left));
            padding-right: max(2.5rem, env(safe-area-inset-right));
        }
    }
    @media screen and (max-height: 767px) and (orientation: landscape) {
        .modal-header {
            padding-left: max(15px, env(safe-area-inset-left));
            padding-right: max(15px, env(safe-area-inset-right));
        }
    }
}

.modal-header .close {
    padding: 0.5rem 1rem;
    margin: -0.5rem -1rem -0.5rem auto;
}

.modal-title {
    font-weight: 700;
    font-size: 1.15rem;
}
@media (min-width: 768px) {
    .modal-title {
        font-size: 1.25rem;
    }
}

.modal-body {
    padding: 1rem 15px;
}
@media (min-width: 576px) {
    .modal-body {
        padding: 1.5rem 2.5rem;
    }
}
@media screen and (max-height: 767px) and (orientation: landscape) {
    .modal-body {
        padding: 1rem 15px;
    }
}
@supports (padding: max(0px)) {
    .modal-body {
        padding-left: max(15px, env(safe-area-inset-left));
        padding-right: max(15px, env(safe-area-inset-right));
    }
    @media (min-width: 576px) {
        .modal-body {
            padding-left: max(2.5rem, env(safe-area-inset-left));
            padding-right: max(2.5rem, env(safe-area-inset-right));
        }
    }
    @media screen and (max-height: 767px) and (orientation: landscape) {
        .modal-body {
            padding-left: max(15px, env(safe-area-inset-left));
            padding-right: max(15px, env(safe-area-inset-right));
        }
    }
}

.modal-body__title {
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.3;
    margin: 0.4rem 0 2rem;
    text-align: center;
}
@media (min-width: 576px) {
    .modal-body__title {
        font-size: 1.75rem;
        margin: 0.5rem 0 2.5rem;
    }
}

.close {
    float: right;
    font-size: 2rem;
    font-weight: 700;
    line-height: 1;
    color: var(--color-text-muted);
    text-shadow: none;
    opacity: 1;
}

.close:hover {
    color: var(--color-text);
    text-decoration: none;
}

.close:not(:disabled):not(.disabled):hover,
.close:not(:disabled):not(.disabled):focus {
    opacity: 1;
}

button.close {
    padding: 0;
    background-color: transparent;
    border: 0;
}

.close-text {
    position: relative;
    top: -0.375rem;
    padding-right: 0.375rem;
    font-size: 1rem;
    font-weight: 400;
}

.success-message {
    font-size: 1.75rem;
    color: var(--color-success);
}
@media (min-width: 576px) {
    .success-message {
        font-size: 2rem;
    }
}
@media (min-width: 1200px) {
    .success-message {
        font-size: 2.25rem;
    }
}

.success-message .title__icon {
    margin-right: 0.75rem;
}

/* FOOTER */

.footer {
    font-size: 0.95rem;
    margin-top: auto;
    padding: 3rem 0 5rem;
}
@media (min-width: 768px) {
    .footer {
        padding: 3rem 0 2.5rem;
    }
}

@supports (padding: max(0px)) {
    .footer {
        padding-bottom: max(5rem, calc(env(safe-area-inset-bottom)) + 5rem);
    }
    @media (min-width: 768px) {
        .footer {
            padding-bottom: max(2.5rem, calc(env(safe-area-inset-bottom)) + 2.5rem);
        }
    }
}

.footer__title {
    font-size: 1.1rem;
    font-weight: 700;
    line-height: 1.3;
    margin-bottom: 0.75rem;
}

.footer__sitemap li {
    padding: 0.25rem 0;
}

.footer__sitemap a {
    color: var(--color-text);
    display: block;
    text-decoration: none;
}

.footer__feedback {
    background-color: var(--color-grey-light);
    padding: 1rem 1rem 1.25rem;
}

.footer__feedback a {
    color: var(--color-text);
    text-decoration: underline;
}

.footer__feedback a:hover {
    color: var(--color-primary);
}

.footer__rating {
    background-color: var(--color-grey-light);
    border-radius: 1rem;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-top: 1rem;
    padding: 1.5rem;
}

.footer__rating .company-rating__logo {
    height: 1.875rem;
    width: 5.5625rem;
}

.footer__bottom {
    align-items: center;
    border-top: 1px solid #ccc;
    border-top: 1px solid var(--color-grey-medium);
    color: #6f6f6f;
    color: var(--color-text-muted);
    display: flex;
    flex-wrap: wrap;
    font-size: .9rem;
    justify-content: space-between;
    margin: 1rem 0 2rem;
    padding-top: .75rem
}

.footer__bottom > * {
    margin-bottom: 0.75rem;
    overflow-wrap: break-word;
    text-align: center;
    width: 100%;
}
@media (min-width: 1200px) {
    .footer__bottom > * {
        margin-bottom: 0;
        width: auto;
    }
}

.footer__copyright {
    flex: 1 0 auto;
}
@media (min-width: 1200px) {
    .footer__copyright {
        text-align: left;
    }
}

.footer__utility-links > * {
    color: var(--color-text-muted);
    display: inline-block;
    padding: 0.25rem 0.75rem;
    text-decoration: none;
    white-space: nowrap;
}

@media (min-width: 1200px) {
    .footer__utility-links > :last-child {
        padding-right: 0;
    }
}

.footer__sitemap a:hover,
.footer__utility-links > :hover {
    color: var(--color-primary);
    text-decoration: none;
}

.social-list {
    display: flex;
    flex-wrap: wrap;
    margin-top: 2rem;
}
@media (min-width: 576px) {
    .social-list {
        margin-top: 0.25rem;
    }
}

.social-list li {
    margin-bottom: 0.75rem;
    margin-right: 0.75rem;
}
@media (min-width: 576px) {
    .social-list li {
        margin-bottom: 0.5rem;
        margin-right: 0.5rem;
    }
}

.social-list__icon {
    background-color: #fff;
    border: 1px solid #979da6;
    border-radius: 50%;
    display: block;
    height: 2.25rem;
    margin: 0 auto;
    position: relative;
    width: 2.25rem;
}
@media (min-width: 576px) {
    .social-list__icon {
        height: 2rem;
        width: 2rem;
    }
}

.social-list__icon svg,
.social-list__icon i {
    color: #979da6;
    height: 1rem;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%,-50%);
    transition: all .3s;
    width: 1rem
}

.social-list__icon:hover svg,
.social-list__icon:hover i {
    color: #fff;
}

.icon-facebook:hover {
    background-color: #4267b2;
    border-color: #4267b2;
}

.icon-instagram:hover {
    background-color: #c32aa3;
    border-color: #c32aa3;
}

.icon-linkedin:hover {
    background-color: #007bb7;
    border-color: #007bb7;
}

.icon-youtube:hover {
    background-color: red;
    border-color: red;
}

.icon-x:hover {
    background-color: #0f1419;
    border-color: #0f1419;
}

.icon-pinterest:hover {
    background-color: #e60023;
    border-color: #e60023;
}