* {
    margin: 0;
    padding: 0;
    -webkit-text-size-adjust: 100%;
}

*, :after, :before {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box
}

@font-face {
    font-family: Montserrat;
    font-weight: 400;
    font-style: normal;
    src: local( 'Montserrat-Regular' ),
    url( '../fonts/Montserrat-Regular.woff2' ) format( 'woff2' ),
    url( '../fonts/Montserrat-Regular.woff' ) format( 'woff' ),
    url( '../fonts/Montserrat-Regular.eot' ) format( 'eot' ),
    url( '../fonts/Montserrat-Regular.ttf' ) format( 'ttf' );
}

@font-face {
    font-family: Montserrat;
    font-weight: 700;
    font-style: normal;
    src: local( 'Montserrat-Bold' ),
    url( '../fonts/Montserrat-Bold.woff2' ) format( 'woff2' ),
    url( '../fonts/Montserrat-Bold.woff' ) format( 'woff' ),
    url( '../fonts/Montserrat-Bold.eot' ) format( 'eot' ),
    url( '../fonts/Montserrat-Bold.ttf' ) format( 'ttf' );
}

html {
    height: 100%;
}

body {
    background-color: #F4F7FB;
    display: flex;
    flex-direction: column;
    font-size: 16px;
    line-height: 24px;
    color: #333333;
    font-family: Montserrat, sans-serif;
    height: 100%;
}

a {
    color: #333333;
}

.container {
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 15px;
}

/* ===== Шапка ===== */

header {
    background-color: #ffffff;
    box-shadow: 0 0 50px #0000000d;
}

/* ===== Тело ===== */

main {
    flex-grow: 1;
}

.catalog-wrapper {
    display: flex;
}

.sections {
    background-color: #fff;
}

.filter {
    background-color: #1a7bb9;
    flex: 0 0 300px;
}

.catalog {
    background-color: #2f4050;
    flex-grow: 1;
}

/* ===== Подвал ===== */

footer {
    background-color: #ffffff;
    box-shadow: 0 0 50px #0000000d;
}