body {
    background: #fff
}

body {
    font-family: 'Montserrat', sans-serif;
}

body {
    font-size: 20px;
    line-height: 1.5;
}

.paragraph,
p,
.paragraph p,
.paragraph ol,
.paragraph ul,
main p {
    font-size: 20px;
    line-height: 1.5;
}

.paragraph-2x,
.paragraph-2x p,
.paragraph-2x ol,
.paragraph-2x ul {
    font-size: calc(20px*1.2);
    line-height: 1.5;
}

main h1,
main h2,
main h3,
main h4,
main h5,
main h6,
.title-h1,
.title-h2,
.title-h3,
.title-h4,
.title-h5,
.title-h6,
.title-hero,
.logo {
    font-family: Helvetica, sans-serif
}

main h1,
.title-h1,
.title-hero {
    font-size: 48px;
    font-weight: 500;
    line-height: 62px
}

main h2,
.title-h2 {
    font-size: 36px;
    font-weight: 600;
    line-height: 42px
}

main h3,
.title-h3 {
    font-size: 28px;
    font-weight: 600;
    line-height: 33px
}

main h4,
.title-h4 {
    font-size: 20px;
    font-weight: 700;
    line-height: 32px
}

main h5,
.title-h5 {
    font-size: 20px;
    font-weight: 500;
    line-height: 24px
}

main h6,
.title-h6 {
    font-size: 16px;
    font-weight: 700;
    line-height: 24px
}

@media only screen and (min-width:768px) {
    .title-hero {
        font-size: 64px;
        font-weight: 600;
        line-height: 72px
    }
}

@media only screen and (max-width:767px) {

    main h1,
    .title-h1 {
        font-size: 36px;
        font-weight: 600;
        line-height: 42px
    }
}

@media only screen and (max-width:767px) {

    main h2,
    .title-h2 {
        font-size: 28px;
        font-weight: 600;
        line-height: 33px
    }
}

@media only screen and (max-width:1200px) and (min-width:768px) {

    .row .title-h1,
    .row .title-hero {
        font-size: 36px;
        font-weight: 600;
        line-height: 42px
    }
}

.bg-color-primary,
.button.button-style-primary,
.card .button.button-style-primary,
.timeline [class^="col-"]:before {
    background: #af0e1b
}

body.dark .button.button-style-primary {
    background: #af0e1b !important
}

.form input[type="checkbox"]:checked+label.checkbox:before,
.form input[type="radio"]:checked+label.radio:before,
.form input.switch:checked+label.switch:before {
    background: #af0e1b
}

.bg-color-secondary,
.button.button-style-secondary,
.card .button.button-style-secondary,
.timeline [class^="col-"]:before {
    background: #515151
}

body.dark .button.button-style-secondary {
    background: #515151 !important
}

.form input[type="checkbox"]:checked+label.checkbox:before,
.form input[type="radio"]:checked+label.radio:before,
.form input.switch:checked+label.switch:before {
    background: #515151
}

.bg-color-tertiary,
.button.button-style-tertiary,
.card .button.button-style-tertiary,
.timeline [class^="col-"]:before {
    background: #c6c6c6
}

body.dark .button.button-style-tertiary {
    background: #c6c6c6 !important
}

.form input[type="checkbox"]:checked+label.checkbox:before,
.form input[type="radio"]:checked+label.radio:before,
.form input.switch:checked+label.switch:before {
    background: #c6c6c6
}

:root {
    --color-primary: #515151;
    --color-primary-hover: #8e8e8c;
}

:root {
    --color-secondary: #af0e1b;
    --color-secondary-hover: #c44a55;
}

:root,
::backdrop {
    --color-tertiary: #c6c6c6;
    --color-tertiary-hover: #adadad;
}

.button.button-style-primary:hover {
    background: #c44a55
}

body.dark .button.button-style-primary:hover {
    background: #c44a55 !important
}

body.primary-white:not(.dark) [class*="bg-"].dark [class*="bg-"]:not(.dark) .button.button-style-primary {
    background: #af0e1b !important;
    color: #fff !important
}

body.primary-white:not(.dark) [class*="bg-"].dark [class*="bg-"]:not(.dark) .button.button-style-primary:hover {
    background: #c44a55 !important
}

.button.button-style-secondary:hover {
    background: #8e8e8c
}

body.dark .button.button-style-secondary:hover {
    background: #8e8e8c !important
}

body.secondary-white:not(.dark) [class*="bg-"].dark [class*="bg-"]:not(.dark) .button.button-style-secondary {
    background: #515151 !important;
    color: #fff !important
}

body.secondary-white:not(.dark) [class*="bg-"].dark [class*="bg-"]:not(.dark) .button.button-style-secondary:hover {
    background: #8e8e8c !important
}

.button.button-style-tertiary:hover {
    background: #dfdfdf
}

body.dark .button.button-style-tertiary:hover {
    background: #dfdfdf !important
}

body.tertiary-white:not(.dark) [class*="bg-"].dark [class*="bg-"]:not(.dark) .button.button-style-tertiary {
    background: #c6c6c6 !important;
    color: #fff !important
}

body.tertiary-white:not(.dark) [class*="bg-"].dark [class*="bg-"]:not(.dark) .button.button-style-tertiary:hover {
    background: #dfdfdf !important
}

.max-width-lg {
    max-width: 1600px
}

.form input,
.form select,
.form textarea,
.button,
.flickity-prev-next-button,
.tag {
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    border-radius: 2px
}

.form label.checkbox:before {
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    border-radius: 2px
}

main pre,
main table {
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    border-radius: 2px
}

main table tr th:first-child {
    -webkit-border-top-left-radius: 0px;
    -moz-border-radius-topleft: 0px;
    border-top-left-radius: 0px
}

main table tr th:last-child {
    -webkit-border-top-right-radius: 0px;
    -moz-border-radius-topright: 0px;
    border-top-right-radius: 0px
}

.border.rounded>figure>video {
    -webkit-border-radius: 0px;
    -moz-border-radius: 0px;
    border-radius: 0px
}

article figure img,
article iframe,
#features .blocks[class*="bg-"],
.card,
.rounded,
.rounded>figure>video,
.sidebar-nav {
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    border-radius: 2px
}

.rounded-bottom {
    -webkit-border-bottom-left-radius: 2px;
    -moz-border-radius-bottomleft: 2px;
    border-bottom-left-radius: 2px;
    -webkit-border-bottom-right-radius: 2px;
    -moz-border-radius-bottomright: 2px;
    border-bottom-right-radius: 2px
}

.rounded-left {
    -webkit-border-bottom-left-radius: 2px;
    -moz-border-radius-bottomleft: 2px;
    border-bottom-left-radius: 2px;
    -webkit-border-top-left-radius: 2px;
    -moz-border-radius-topleft: 2px;
    border-top-left-radius: 2px
}

.rounded-right {
    -webkit-border-bottom-right-radius: 2px;
    -moz-border-radius-bottomright: 2px;
    border-bottom-right-radius: 2px;
    -webkit-border-top-right-radius: 2px;
    -moz-border-radius-topright: 2px;
    border-top-right-radius: 2px
}

.rounded-top {
    -webkit-border-top-left-radius: 2px;
    -moz-border-radius-topleft: 2px;
    border-top-left-radius: 2px;
    -webkit-border-top-right-radius: 2px;
    -moz-border-radius-topright: 2px;
    border-top-right-radius: 2px
}

.rounded-bottom-left {
    -webkit-border-bottom-left-radius: 2px;
    -moz-border-radius-bottomleft: 2px;
    border-bottom-left-radius: 2px
}

.rounded-bottom-right {
    -webkit-border-bottom-right-radius: 2px;
    -moz-border-radius-bottomright: 2px;
    border-bottom-right-radius: 2px
}

.rounded-top-left {
    -webkit-border-top-left-radius: 2px;
    -moz-border-radius-topleft: 2px;
    border-top-left-radius: 2px
}

.rounded-top-right {
    -webkit-border-top-right-radius: 2px;
    -moz-border-radius-topright: 2px;
    border-top-right-radius: 2px
}

main .dark table,
.dark .button.button-style-tertiary,
.dark .border,
.dark .border .tag {
    border: 2px solid #333333
}

body.dark main table,
body.dark .button.button-style-tertiary,
body.dark .border,
body.dark .border .tag {
    border: 2px solid #333333 !important
}

main .dark table tr td,
main .dark table tr th,
.dark .border-bottom {
    border-bottom: 2px solid #333333
}

body.dark main table tr td,
body.dark main table tr th,
body.dark .border-bottom {
    border-bottom: 2px solid #333333 !important
}

.dark .border-top {
    border-top: 2px solid #333333
}

body.dark .border-top {
    border-top: 2px solid #333333 !important
}

main table,
.button.button-style-tertiary,
.border,
.border .tag {
    border: 2px solid #ececee
}

main [class*="bg-"].dark [class*="bg-"]:not(.dark) table,
[class*="bg-"].dark [class*="bg-"]:not(.dark) .button.button-style-tertiary,
[class*="bg-"].dark [class*="bg-"]:not(.dark) .border,
[class*="bg-"].dark [class*="bg-"]:not(.dark) .border .tag {
    border: 2px solid #ececee
}

main table tr td,
main table tr th,
.border-bottom {
    border-bottom: 2px solid #ececee
}

main [class*="bg-"].dark [class*="bg-"]:not(.dark) table tr td,
main [class*="bg-"].dark [class*="bg-"]:not(.dark) table tr th,
[class*="bg-"].dark [class*="bg-"]:not(.dark) .border-bottom {
    border-bottom: 2px solid #ececee
}

.border-top {
    border-top: 2px solid #ececee
}

[class*="bg-"].dark [class*="bg-"]:not(.dark) .border-top {
    border-top: 2px solid #ececee
}

@media only screen and (max-width:1100px) {

    main.header-bg:before,
    main.header-fixed:before {
        height: 80px
    }

    main .hero:not(.hero-lg),
    main .hero-lg:not(.hero),
    main .hero-none,
    main.post article {
        padding-top: 64px
    }

    main.header-bg .hero:not(.hero-lg),
    main.header-fixed .hero:not(.hero-lg),
    main.header-bg .hero-lg:not(.hero),
    main.header-fixed .hero-lg:not(.hero),
    main.header-bg .hero-none,
    main.header-fixed .hero-none,
    main.header-bg.post article,
    main.header-fixed.post article {
        padding-top: 48px
    }

    main.header-bg .hero:not(.hero-lg):not(.hero-columns).hero-blocks [class*="space-hero"],
    main.header-bg .hero:not(.hero-lg):not(.hero-columns).padding-bottom-none:not(.hero-blocks) [class*="space-hero"],
    main.header-fixed .hero:not(.hero-lg):not(.hero-columns).hero-blocks [class*="space-hero"],
    main.header-fixed .hero:not(.hero-lg):not(.hero-columns).padding-bottom-none:not(.hero-blocks) [class*="space-hero"] {
        margin-top: 0
    }

    main.header-bg .hero:not(.hero-lg).hero-columns.hero-blocks [class*="space-hero"],
    main.header-fixed .hero:not(.hero-lg).hero-columns.hero-blocks [class*="space-hero"] {
        margin-top: 0
    }

    main.header-bg .hero:not(.hero-lg).hero-columns.padding-bottom-none:not(.hero-blocks) [class*="space-hero"],
    main.header-fixed .hero:not(.hero-lg).hero-columns.padding-bottom-none:not(.hero-blocks) [class*="space-hero"] {
        margin-top: 0
    }

    main.header-fixed .hero-none>[class*="space-hero"],
    main.header-fixed.post article [class*="space-hero"] {
        margin-top: 0
    }

    .header-main {
        height: 80px
    }

    .header-main nav {
        padding-bottom: 12px;
        padding-top: 12px
    }

    .header-main nav.full-width {
        padding: 12px 24px
    }

    .header-main a {
        -webkit-transition: none !important;
        -moz-transition: none !important;
        -ms-transition: none !important;
        -o-transition: none !important;
        transition: none !important
    }

    .header-main ul {
        display: none;
        margin: 0
    }

    .header-main ul.header-space-reduced {
        margin-right: 0
    }

    .header-main ul.header-controls {
        display: block;
        position: absolute;
        right: 40px;
        top: 0
    }

    .header-main ul.header-controls.header-toggle-none {
        right: 0
    }

    .header-main ul.header-controls a.icon-search:hover {
        opacity: .6
    }

    .header-main .header-toggle {
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        user-select: none;
        display: block;
        height: 40px;
        opacity: 1;
        padding: 10px;
        position: absolute;
        right: -10px;
        top: 0;
        width: 40px
    }

    .header-main .header-toggle svg {
        position: absolute
    }

    .header-main .header-toggle svg:last-child {
        opacity: 0
    }

    .header-main.active {
        border-bottom: none !important;
        height: 100%;
        position: fixed;
        z-index: 999
    }

    body.dark .header-main.active {
        background: #000;
        color: #fff
    }

    .header-main.active nav {
        height: 100%;
        overflow-y: scroll;
        padding-bottom: 0;
        padding-top: 12px;
        -webkit-overflow-scrolling: touch
    }

    .header-main.active nav>div {
        height: auto;
        margin-bottom: 64px
    }

    .header-main.active ul {
        text-align: center
    }

    .header-main.active ul.header-listed {
        display: block;
        float: none
    }

    .header-main.active ul.header-listed li {
        font-size: 24px;
        padding: 24px 0 0 0;
        width: 100%
    }

    .header-main.active ul.header-listed li a {
        opacity: 1
    }

    .header-main.active ul.header-languages {
        display: block;
        padding: 28px 0 0 0
    }

    .header-main.active ul.header-languages li {
        font-size: 18px;
        padding: 0 8px
    }

    .header-main.active ul.header-languages li a,
    .header-main.active ul.header-languages li a:hover {
        opacity: .6
    }

    .header-main.active ul.header-languages li.active a {
        opacity: 1
    }

    .header-main.active ul.header-social {
        display: block;
        padding: 28px 0 0 0
    }

    .header-main.active ul.header-social li {
        padding: 0 20px
    }

    .header-main.active ul.header-social li a,
    .header-main.active ul.header-social li a:hover {
        opacity: 1
    }

    .header-main.active ul.header-buttons {
        display: block
    }

    .header-main.active ul.header-buttons li {
        padding: 16px 0 0 0;
        width: 100%
    }

    .header-main.active ul.header-buttons li:first-child {
        padding: 40px 0 0 0
    }

    .header-main.active ul.header-buttons li .button {
        font-size: 16px;
        line-height: 24px;
        opacity: 1
    }

    .header-main.active .header-space {
        display: block;
        padding-top: 40px;
        width: 100%
    }

    .header-main.active .header-toggle svg {
        opacity: 0
    }

    .header-main.active .header-toggle svg:last-child {
        opacity: 1
    }

    .header-main.active:not([class*="bg-"]) {
        background: #fff;
        color: #000
    }

    .header-main.header-fixed {
        position: fixed
    }

    body.dark .header-main.header-fixed {
        background: #000;
        border-bottom: 1px solid rgba(255, 255, 255, 0.05)
    }

    body.dark .header-main.header-fixed.active {
        background: #000
    }

    .header-main.header-fixed:not([class*="bg-"]) {
        background: #fff;
        border-bottom: 1px solid rgba(0, 0, 0, 0.05)
    }

    .header-main.header-fixed:not([class*="bg-"]).dark a:not(.button) {
        color: #000
    }

    body.dark .header-main.header-fixed:not([class*="bg-"]).dark a:not(.button) {
        color: #eee
    }

    .header-main.header-fixed:not([class*="bg-"]).active {
        background: #fff
    }
}

@media only screen and (max-width:1100px) and (min-width: 768px) {

    main .hero:not(.hero-lg),
    main .hero-lg:not(.hero),
    main .hero-none,
    main.post article {
        padding-top: 80px
    }

    main.header-bg .hero:not(.hero-lg),
    main.header-fixed .hero:not(.hero-lg),
    main.header-bg .hero-lg:not(.hero),
    main.header-fixed .hero-lg:not(.hero),
    main.header-bg .hero-none,
    main.header-fixed .hero-none,
    main.header-bg.post article,
    main.header-fixed.post article {
        padding-top: 80px
    }

    main.header-default .hero-lg:not(.hero) {
        padding-top: 64px
    }

    main.header-bg .hero:not(.hero-lg):not(.hero-columns).hero-blocks [class*="space-hero"],
    main.header-bg .hero:not(.hero-lg):not(.hero-columns).padding-bottom-none:not(.hero-blocks) [class*="space-hero"],
    main.header-fixed .hero:not(.hero-lg):not(.hero-columns).hero-blocks [class*="space-hero"],
    main.header-fixed .hero:not(.hero-lg):not(.hero-columns).padding-bottom-none:not(.hero-blocks) [class*="space-hero"] {
        margin-top: 0
    }

    main.header-bg .hero:not(.hero-lg).hero-columns.hero-blocks [class*="space-hero"],
    main.header-fixed .hero:not(.hero-lg).hero-columns.hero-blocks [class*="space-hero"] {
        margin-top: 0
    }

    main.header-bg .hero:not(.hero-lg).hero-columns.padding-bottom-none:not(.hero-blocks) [class*="space-hero"],
    main.header-fixed .hero:not(.hero-lg).hero-columns.padding-bottom-none:not(.hero-blocks) [class*="space-hero"] {
        margin-top: 0
    }
}