:root {
    --red: #dc3232;
    --azalea: #f8d2d4;
    --text-grey: #979797;
    --dark-grey: #888;
    --white: #fff;
    --black: #000;
    --grey: #dcdcde;
    --nevada: #5e6a71;
    --dove-grey: #6c6c6c;
    --shark: #2a2a2d;
    --science-blue: #015ecc;
    --cod-gray: #1a1a1a;
    --elm: #1a8e83;
    --alizarin-crimson: #da202a;
    --olive-drab: #589f28;
    --warm-red: #b70d12;
    --dark-red: #920a0e;
    --grey-1: #8f9495;
    --grey-2: #d5d5d5;
    --grey-5: #f5f5f5;
    --text-body: #333;
    --text-grey: #666;
    --dark-grey: #404044;
    --notification-blue: #077eb0;
    --pink-tint: #f9cfd6; 

    --chevin-medium: chevin-medium, arial, helvetica, 'Nimbus Sans L', sans-serif;
    --chevin-bold: chevin-bold, arial, helvetica, 'Nimbus Sans L', sans-serif;
    --pf-din-text-std-bold: 'PF DinText Std Bold', Arial, helvetica, 'Nimbus Sans L', sans-serif;
    --pf-din-text-std-reg: 'PF DinText Std Reg', Arial, helvetica, 'Nimbus Sans L', sans-serif;
    --rm-first-class-inline: 'RMFirstClass_W_In', arial, helvetica, 'Nimbus Sans L', sans-serif;
    --rm-first-class-solid: 'RMFirstClass_W_Sd', arial, helvetica, 'Nimbus Sans L', sans-serif;

    --bp-mobile-max-width: 767px;
    --bp-tablet-min-width: var(--bp-mobile-max-width + 1);
    --bp-tablet-max-width: 991px;
    --bp-desktop-min-width: var(--bp-tablet-max-width + 1);
    --bp-desktop-max-width: 1199px;
    --bp-xl-min-width: var(--bp-desktop-max-width + 1);
}

@font-face {
    font-family: 'PF DinText Std Bold';
    src: url('../fonts/pfdintextstd-bold-webfont.woff2') format('woff2'), url('../fonts/pfdintextstd-bold-webfont.woff') format('woff');
    font-display: swap;
}

@font-face {
    font-family: 'PF DinText Std Reg';
    src: url('../fonts/pfdintextstd-reg-webfont.woff2') format('woff2'), url('../fonts/pfdintextstd-reg-webfont.woff') format('woff');
    font-display: swap;
}

@font-face {
    font-family: chevin-bold;
    src: url('../fonts/chevin-bold.woff') format('woff');
    font-display: swap;
}

@font-face {
    font-family: chevin-medium;
    src: url('../fonts/chevin-medium.woff') format('woff');
    font-display: swap;
}

@font-face {
    font-family: 'RMFirstClass_W_In';
    src: url('../fonts/RMFirstClass_W_In.woff2') format('woff2'), url('../fonts/RMFirstClass_W_In.woff') format('woff');
    font-display: swap;
}

@font-face {
    font-family: 'RMFirstClass_W_Sd';
    src: url('../fonts/RMFirstClass_W_Sd.woff2') format('woff2'), url('../fonts/RMFirstClass_W_Sd.woff') format('woff');
    font-display: swap;
}

html, body {
    margin: 0;
    background-color: var(--grey);
    font-family: var(--pf-din-text-std-bold);
    font-display: swap;
    overflow-x: hidden;
}

    body > div {
        display: flex;
        flex-direction: column;
        min-height: 100vh;
    }


main {
    display: flex;
    flex-direction: column;
    flex: 1;
    position: relative;
}

main::before {
    content: '';
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    opacity: 0.2;
    background: url('../images/background.png') repeat center;
}

main > * {
    position: relative;
}

form {
    width: 100%;
}

main a {
    color: inherit;
}

a:focus-visible,
button:focus-visible {
    outline: 2px solid var(--science-blue);
    outline-offset: 3px;
    border-radius: 2px !important;
}

main a:hover,
main a:focus {
    color: var(--black);
}

.sr-only {
    position: absolute;
    left: -10000px;
    top: auto;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

.no-focus-visible:focus-visible {
    outline: none;
}
