:root {
    --body-color: #FCFCFC;
    --light-color: #E5E5E5;
    --color-black: #000;
    --color-dark: #2E2D36;
    --color-gold: #FCA311;
    --color-dark-gold: #D18200;
    --color-gold-opacity: rgba(252, 163, 17, 0.7);
    --border-color: #9F9FA3;
}

@font-face {
    font-family: 'SF-Pro-Display';
    src: url('../fonts/SFProDisplay-Thin.eot');
    src: url('../fonts/SFProDisplay-Thin.eot?#iefix') format('embedded-opentype'),
    url('../fonts/SFProDisplay-Thin.woff2') format('woff2'),
    url('../fonts/SFProDisplay-Thin.woff') format('woff'),
    url('../fonts/SFProDisplay-Thin.ttf') format('truetype'),
    url('../fonts/SFProDisplay-Thin.svg#SFProDisplay-Thin') format('svg');
    font-weight: 100;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'SF-Pro-Display';
    src: url('../fonts/SFProDisplay-Light.eot');
    src: url('../fonts/SFProDisplay-Light.eot?#iefix') format('embedded-opentype'),
    url('../fonts/SFProDisplay-Light.woff2') format('woff2'),
    url('../fonts/SFProDisplay-Light.woff') format('woff'),
    url('../fonts/SFProDisplay-Light.ttf') format('truetype'),
    url('../fonts/SFProDisplay-Light.svg#SFProDisplay-Light') format('svg');
    font-weight: 200;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'SF-Pro-Display';
    src: url('../fonts/SFProDisplay-Regular.eot');
    src: url('../fonts/SFProDisplay-Regular.eot?#iefix') format('embedded-opentype'),
    url('../fonts/SFProDisplay-Regular.woff2') format('woff2'),
    url('../fonts/SFProDisplay-Regular.woff') format('woff'),
    url('../fonts/SFProDisplay-Regular.ttf') format('truetype'),
    url('../fonts/SFProDisplay-Regular.svg#SFProDisplay-Regular') format('svg');
    font-weight: 200;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'SF-Pro-Display';
    src: url('../fonts/SFProDisplay-Medium.eot');
    src: url('../fonts/SFProDisplay-Medium.eot?#iefix') format('embedded-opentype'),
    url('../fonts/SFProDisplay-Medium.woff2') format('woff2'),
    url('../fonts/SFProDisplay-Medium.woff') format('woff'),
    url('../fonts/SFProDisplay-Medium.ttf') format('truetype'),
    url('../fonts/SFProDisplay-Medium.svg#SFProDisplay-Medium') format('svg');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'SF-Pro-Display';
    src: url('../fonts/SFProDisplay-Semibold.eot');
    src: url('../fonts/SFProDisplay-Semibold.eot?#iefix') format('embedded-opentype'),
    url('../fonts/SFProDisplay-Semibold.woff2') format('woff2'),
    url('../fonts/SFProDisplay-Semibold.woff') format('woff'),
    url('../fonts/SFProDisplay-Semibold.ttf') format('truetype'),
    url('../fonts/SFProDisplay-Semibold.svg#SFProDisplay-Semibold') format('svg');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'SF-Pro-Display';
    src: url('../fonts/SFProDisplay-Bold.eot');
    src: url('../fonts/SFProDisplay-Bold.eot?#iefix') format('embedded-opentype'),
    url('../fonts/SFProDisplay-Bold.woff2') format('woff2'),
    url('../fonts/SFProDisplay-Bold.woff') format('woff'),
    url('../fonts/SFProDisplay-Bold.ttf') format('truetype'),
    url('../fonts/SFProDisplay-Bold.svg#SFProDisplay-Bold') format('svg');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

html, body {
    height: 100%;
    margin: 0;
}

html {
    box-sizing: border-box;
}

*,
*::before,
*::after {
    box-sizing: inherit;
}

a {
    color: inherit;
    text-decoration: none !important;
}

img {
    max-width: 100%;
}

body {
    min-width: 375px;
    font-family: 'SF-Pro-Display', system-ui !important;
    font-weight: 200 !important;
    background-color: var(--body-color) !important;
    color: var(--color-dark) !important;
    position: relative;
}

.list-reset {
    margin: 0;
    padding: 0;
    list-style: none;
}

.services {
    display: flex;
    flex-flow: row wrap;
}

.service {
    display: flex;
    align-items: center;
    color: #e9e9e9;
    transition: color 300ms ease-in-out, background 300ms ease-in-out;
    background: #454545;
    padding: 20px;
    border-radius: 10px;
    min-height: 100px;
}

.service:nth-child(3n) {
    margin-right: 0;
}

.service__img {
    width: 50px;
    height: 50px;
    object-fit: cover;
    border-radius: 5px;
    filter: grayscale(1);
}

.service:hover, .service:hover .service__img {
    color: #e9e9e9 !important;
    background: #0000003b;
    filter: grayscale(0) !important;
}

.service__title {
    margin: 0;
    font-size: 25px;
}

.header, .footer {
    padding: 15px 0;
    background-color: #353535;
    color: #e9e9e9;
    z-index: 1;
}

.services-container {
    background-color: #353535;
    padding: 120px 12px 50px;
    min-height: 100%;
}

.main, .section-offset {
    height: 100%;
}

.header, .footer {
    position: absolute;
    left: 0;
    right: 0;
}

.header {
    top: 0;
}

.footer {
    bottom: 0;
}

.section-offset {
    overflow-y: auto;
}

.service__description {
    margin: 0;
}

.form-control:focus {
    box-shadow: none !important;
    border-color: #a0a0a0 !important;
}

.form-control::placeholder {
    color: #a0a0a0 !important;
}

.form-control {
    color: #e9e9e9 !important;
    background-color: #454545 !important;
    border: 1px solid #454545 !important;
}

.group-title {
    color: #e9e9e9;
    margin-bottom: 20px;
}

.service-group:not(:last-child) {
    margin-bottom: 50px;
}

html {
    scrollbar-color: #353535 #353535;
    scrollbar-width: thin;
}