@font-face {
    font-family: 'Neutraface';
    font-style : normal;
    font-weight: 300;
    src        : url('fonts/NeutrafaceLight.otf') format('opentype');
}

@font-face {
    font-family: 'Neutraface';
    font-style : italic;
    font-weight: 300;
    src        : url('fonts/NeutrafaceLightItalic.otf') format('opentype');
}

@font-face {
    font-family: 'Neutraface';
    font-style : normal;
    font-weight: 400;
    src        : url('fonts/NeutrafaceBook.otf') format('opentype');
}

@font-face {
    font-family: 'Neutraface';
    font-style : italic;
    font-weight: 400;
    src        : url('fonts/NeutrafaceBookItalic.otf') format('opentype');
}

@font-face {
    font-family: 'Neutraface';
    font-style : normal;
    font-weight: 500;
    src        : url('fonts/NeutrafaceDemi.otf') format('opentype');
}

@font-face {
    font-family: 'Neutraface';
    font-style : italic;
    font-weight: 500;
    src        : url('fonts/NeutrafaceDemiItalic.otf') format('opentype');
}

@font-face {
    font-family: 'Neutraface';
    font-style : normal;
    font-weight: 700;
    src        : url('fonts/NeutrafaceBold.otf') format('opentype');
}

@font-face {
    font-family: 'Neutraface';
    font-style : italic;
    font-weight: 700;
    src        : url('fonts/NeutrafaceBoldItalic.otf') format('opentype');
}

@font-face {
    font-family: 'SignPainterHouse';
    font-style : normal;
    font-weight: 400;
    src        : url('fonts/signpainter-housescript.ttf') format('truetype');
}

body {
    font-family        : 'Neutraface';
    display            : flex;
    justify-content    : center;
    align-items        : center;
    min-height         : 100vh;
    background-image   : url('images/background.jpg');
    background-repeat  : no-repeat;
    background-size    : cover;
    background-position: center;
    margin             : 0;
    position           : relative;
    padding            : 0 25px;
    box-sizing         : content-box;
}

body::before {
    content         : '';
    width           : 100%;
    height          : 100%;
    background-color: rgba(0, 0, 0, .6);
    position        : absolute;
    top             : 0;
    left            : 0;
}

.container {
    text-align: center;
    position  : relative;
    z-index   : 1;
}

h1,
h2 {
    color: white;
}

h1 {
    font-size    : 3rem;
    font-weight  : 400;
    margin-bottom: 0.2em;
}

h2 {
    font-family  : 'SignPainterHouse';
    font-weight  : 400;
    font-size    : 2rem;
    margin-bottom: 0;
    margin-top   : 0;
}

.title {
    margin-bottom: 5em;
}

img.logo {
    background   : white;
    border-radius: 50%;
}

a.button {
    border-radius  : 50px;
    padding        : 1em 3em;
    text-transform : uppercase;
    text-decoration: none;
    font-weight    : 500;
    font-size      : 1.5rem;
    transition     : 1s ease;
    display        : inline-block;
    box-shadow     : 0 15px 25px rgb(0 0 0 / 10%)
}

a.button.primary {
    background-image   : linear-gradient(to right, #B3D334, #EECD48);
    color              : black;
    background-size    : 250%;
    background-position: left;
}

a.button.primary:hover {
    background-position: right;
}

a.button.secondary {
    color           : white;
    border          : 2px solid white;
    background-color: rgba(0, 0, 0, .3);
}

a.button.secondary:hover {
    color       : #B3D334;
    border-color: #B3D334;
}

.cta {
    display : grid;
    grid-gap: 3em;
}

@media only screen and (max-width: 575px) {
    h1 {
        font-size: 2.4rem;
    }

    h2 {
        font-size: 1.8rem;
    }

    a.button {
        font-size: 1.2rem;
    }
}