﻿/* Base Styles
–––––––––––––––––––––––––––––––––––––––––––––––––– */

:root {
    --main-bg: #fff;
    --red: #DA291C;
    --transition-duration: .25s;
    --nav-top-height: 45px;
    --nav-height: 105px;
    --nav-bg-color: #DA291C;
    --footer-height: 50rem;
    --main-color: #DA291C;
    --main-color-hover: #c62519;
    --wrap-size: 142rem;
    --scrollbar-width: calc(100vw - 100%);
    --wide-wrap-size: 192rem;
}

.clearfix {
    clear: both;
}

html {
    font-size: 62.5%;
    box-sizing: border-box;
    scroll-behavior: smooth;
}

*, *:before, *:after {
    box-sizing: inherit;
}
a {
    text-decoration: none;
    color: #DA291C;
}

body {
    font-size: 1.6rem;
    line-height: 1.6;
    letter-spacing: .05rem;
    font-weight: 400;
    font-family: "Montserrat", Helvetica, Arial, sans-serif;
    color: #000;
    margin: 0;
    background-color: var(--main-bg);
    max-width: 2000px;
    margin: 0 auto;
    border-left: 1px solid #ccc;
    border-right: 1px solid #ccc;
}

.wrap {
    width: var(--wrap-size);
    margin: 0 auto;
}
.wide-wrap {
    width: var(--wide-wrap-size);
    margin: 0 auto;
}

@media (max-width: 1419px) {
    .wrap {
        width: 100%;
        padding: 0 2rem;
    }
}

@media (max-width: 1919px) {
    .wide-wrap {
        width: 100%;
        padding: 0 2rem;
    }
}

/* Page
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.page {
    min-height: calc(100vh - (var(--nav-height) + var(--footer-height)));
}

    .page img {
        max-width: 100%;
    }

/* Typography
–––––––––––––––––––––––––––––––––––––––––––––––––– */
h1, h2, h3, h4, h5, h6 {
    margin-top: 0;
    margin-bottom: 2rem;
    font-weight: 300;
}

h1 {
    font-size: 4.0rem;
    line-height: 1.2;
}

h2 {
    font-size: 3.6rem;
    line-height: 1.25;
}

h3 {
    font-size: 3.0rem;
    line-height: 1.3;
}

h4 {
    font-size: 2.4rem;
    line-height: 1.35;
}

h5 {
    font-size: 1.8rem;
    line-height: 1.5;
}

h6 {
    font-size: 1.5rem;
    line-height: 1.6;
}

@media (max-width: 1419px) {
    h1 {
        font-size: 3.0rem;
    }

    h2 {
        font-size: 2.6rem;
    }

    h3 {
        font-size: 2.2rem;
    }

    h4 {
        font-size: 2.0rem;
    }
}

@media (max-width: 550px) {
    h1 {
        font-size: 2.2rem;
    }

    h2 {
        font-size: 2.0rem;
    }

    h3 {
        font-size: 1.8rem;
    }

    h4 {
        font-size: 1.6rem;
    }

    h5 {
        font-size: 1.5rem;
    }

    h6 {
        font-size: 1.4rem;
    }
}

p {
    margin-top: 0;
}

.bold {
    font-weight: 500;
}

.bolder {
    font-weight: 600;
}

.boldest {
    font-weight: 900;
}

/* Typography
–––––––––––––––––––––––––––––––––––––––––––––––––– */
h1, h2, h3, h4, h5, h6 {
    margin-top: 0;
    margin-bottom: 2rem;
    font-weight: 300;
}

h1 {
    font-size: 4.0rem;
    line-height: 1.2;
}

h2 {
    font-size: 3.6rem;
    line-height: 1.25;
}

h3 {
    font-size: 3.0rem;
    line-height: 1.3;
}

h4 {
    font-size: 2.4rem;
    line-height: 1.35;
}

h5 {
    font-size: 1.8rem;
    line-height: 1.5;
}

h6 {
    font-size: 1.5rem;
    line-height: 1.6;
}

/* Buttons
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.button,
button,
input[type="submit"],
input[type="reset"],
input[type="button"] {
    display: inline-block;
    height: 33px;
    padding: 0 15px;
    color: #fff;
    text-align: center;
    line-height: 33px;
    letter-spacing: .1rem;
    /*    text-transform: uppercase;*/
    text-decoration: none;
    white-space: nowrap;
    background-color: var(--main-color);
    border-radius: .4rem;
    border: 1px solid var(--main-color-hover);
    cursor: pointer;
    box-sizing: border-box;
    transition: all var(--transition-duration);
    font-size: 1.4rem;
    font-weight: 600;
}

    .button:hover,
    button:hover,
    input[type="submit"]:hover,
    input[type="reset"]:hover,
    input[type="button"]:hover,
    .button:focus,
    button:focus,
    input[type="submit"]:focus,
    input[type="reset"]:focus,
    input[type="button"]:focus {
        color: #fff;
        border-color: var(--main-color);
        outline: 0;
        background-color: var(--main-color-hover);
        transition: all var(--transition-duration);
    }

    .button.primary,
    button.primary,
    input[type="submit"].primary,
    input[type="reset"].primary,
    input[type="button"].primary {
        color: var(--button-primary-color);
        background-color: var(--button-primary-bg-color);
        border-color: var( --button-primary-bg-hover-color);
    }

        .button.primary:hover,
        button.primary:hover,
        input[type="submit"].primary:hover,
        input[type="reset"].primary:hover,
        input[type="button"].primary:hover,
        .button.primary:focus,
        button.primary:focus,
        input[type="submit"].primary:focus,
        input[type="reset"].primary:focus,
        input[type="button"].primary:focus {
            color: var(--button-primary-color);
            background-color: var(--button-primary-bg-hover-color);
            border-color: var( --button-primary-bg-color);
        }

    .button.secondary,
    button.secondary,
    input[type="submit"].secondary,
    input[type="reset"].secondary,
    input[type="button"].secondary {
        color: var(--button-secondary-color);
        background-color: var(--button-secondary-bg-color);
        border-color: var( --button-secondary-bg-hover-color);
    }

        .button.secondary:hover,
        button.secondary:hover,
        input[type="submit"].secondary:hover,
        input[type="reset"].secondary:hover,
        input[type="button"].secondary:hover,
        .button.secondary:focus,
        button.secondary:focus,
        input[type="submit"].secondary:focus,
        input[type="reset"].secondary:focus,
        input[type="button"].secondary:focus {
            color: var(--button-secondary-color);
            background-color: var(--button-secondary-bg-hover-color);
            border-color: var( --button-secondary-bg-color);
        }

    .button.warning,
    button.warning,
    input[type="submit"].warning,
    input[type="reset"].warning,
    input[type="button"].warning {
        color: var(--button-warning-color);
        background-color: var(--button-warning-bg-color);
        border-color: var( --button-warning-bg-hover-color);
    }

        .button.warning:hover,
        button.warning:hover,
        input[type="submit"].warning:hover,
        input[type="reset"].warning:hover,
        input[type="button"].warning:hover,
        .button.warning:focus,
        button.warning:focus,
        input[type="submit"].warning:focus,
        input[type="reset"].warning:focus,
        input[type="button"].warning:focus {
            color: var(--button-warning-color);
            background-color: var(--button-warning-bg-hover-color);
            border-color: var( --button-warning-bg-color);
        }

    .button.grey {
        background-color: #53585F;
        border-color: #53585F;
    }

/* Forms
–––––––––––––––––––––––––––––––––––––––––––––––––– */
input[type="email"],
input[type="date"],
input[type="number"],
input[type="search"],
input[type="text"],
input[type="tel"],
input[type="url"],
input[type="password"],
textarea,
select {
    height: 38px;
    padding: 6px 10px; /* The 6px vertically centers text on FF, ignored by Webkit */
    background-color: #fff;
    border: 1px solid #ebebeb;
    border-radius: 2px;
    box-shadow: none;
    box-sizing: border-box;
}
/* Removes awkward default styles on some inputs for iOS */
input[type="email"],
input[type="date"],
input[type="number"],
input[type="search"],
input[type="text"],
input[type="tel"],
input[type="url"],
input[type="password"],
textarea {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

textarea {
    min-height: 65px;
    padding-top: 6px;
    padding-bottom: 6px;
}

    input[type="email"]:focus,
    input[type="date"]:focus,
    input[type="number"]:focus,
    input[type="search"]:focus,
    input[type="text"]:focus,
    input[type="tel"]:focus,
    input[type="url"]:focus,
    input[type="password"]:focus,
    textarea:focus,
    select:focus {
        outline: 0;
    }

label,
legend {
    display: block;
    margin-bottom: .5rem;
    font-weight: 600;
}

fieldset {
    padding: 0;
    border-width: 0;
}

input[type="checkbox"],
input[type="radio"] {
    display: inline;
}

label > .label-body {
    display: inline-block;
    margin-left: .5rem;
    font-weight: normal;
}

.form-group {
    margin-bottom: 1rem;
}

    .form-group.check-box {
        display: flex;
        align-items: center;
    }

        .form-group.check-box label {
            margin: .5rem .5rem .5rem 0;
        }

    .form-group .radio {
        display: flex;
        align-items: center;
    }

        .form-group .radio label {
            margin: .5rem .5rem .5rem .5rem;
        }



/* Icons */
.chevron::before {
    border-style: solid;
    border-width: 0.15em 0.15em 0 0;
    content: '';
    display: inline-block;
    height: 0.45em;
    left: 0.15em;
    position: relative;
    top: 0.6em;
    transform: rotate(-45deg);
    vertical-align: top;
    width: 0.45em;
}

.chevron.right:before {
    left: 0;
    transform: rotate(45deg);
    transition: transform .3s ease-in-out;
}
.chevron.right.active:before {
    left: 0;
    transform: rotate(135deg);
    transition: transform .3s ease-in-out;
}

.chevron.bottom:before {
    top: 0;
    transform: rotate(135deg);
}

.chevron.left:before {
    left: 0.25em;
    transform: rotate(-135deg);
}

/* Filter rows */
.filters {
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    align-items: center;
}

    .filters .filter-group {
        display: flex;
        flex-direction: row;
        justify-content: flex-end;
        align-items: center;
    }

        .filters .filter-group {
            margin-right: 1.5rem;
        }
            .filters .filter-group:last-child {
                margin-right: 0;
            }

        .filters .filter-group h3 {
            font-size: 1.8rem;
            font-weight: 900;
        }

        .filters .filter-group select {
            margin-left: 1rem;
            font-size: 1.8rem;
            font-weight: 400;
        }

/* Pager controls */
.pager {
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: row;
    align-items: center;
    margin-bottom: 7rem;
}

    .pager .pager-size {
        margin: 0 1rem;
    }

ul.pager-buttons {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: row;
}

    ul.pager-buttons li {
        margin-right: .5rem;
    }

    ul.pager-buttons button {
        letter-spacing: initial;
        height: initial;
        padding: 0.5rem 1.5rem;
        line-height: initial;
        border-radius: 0.3rem;
    }

        ul.pager-buttons button.img-btn {
            padding: .2rem .5rem 0 .5rem;
        }

        ul.pager-buttons button.selected-page {
            background-color: #931910;
        }

        ul.pager-buttons button img {
            width: 21px;
            filter: invert(1);
        }


/*.news .pager {
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: row;
    align-items: center;
    margin-bottom: 7rem;
}

    .news .pager .pager-size {
        margin: 0 1rem;
    }

.news ul.pager-buttons {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: row;
}

    .news ul.pager-buttons li {
        margin-right: .5rem;
    }

    .news ul.pager-buttons button {
        letter-spacing: initial;
        height: initial;
        padding: 0.5rem 1.5rem;
        line-height: initial;
        border-radius: 0.3rem;
    }

        .news ul.pager-buttons button.img-btn {
            padding: .2rem .5rem 0 .5rem;
        }

        .news ul.pager-buttons button.selected-page {
            background-color: #931910;
        }

        .news ul.pager-buttons button img {
            width: 21px;
            filter: invert(1);
        }*/