@-webkit-viewport {
    width: device-width;
    zoom: 1.0;
}
@-moz-viewport {
    width: device-width;
    zoom: 1.0;
}
@-ms-viewport {
    width: device-width;
    zoom: 1.0;
}
@-o-viewport {
    width: device-width;
    zoom: 1.0;
}
@viewport {
    width: device-width;
    zoom: 1.0;
}


/* ------------------------------------------------------
Variables for easy find and replace

Original Unused colours
orange: #EC7648; --> #004d72
dark-orange: #DA6E43; --> #103255
yellow: #F4C167; --> #00a99b
dark red: #97360F; --> #1b2243
purple: #707299; --> #007b92

New colour scheme as of 2022/04/05
moss: #5FCB9D
brand teal: #00a99b
aqua: #007b92
blue: #004d72
brand navy: #1b2243

$link:                  #e85505;
$link-hover:            #ae550d;

$second-bg-color: #f3f3f3;
$second-font-color: #707070;
$table-border-color: #D6D6D6;

$body-font:             font-family: Helvetica Neue, Helvetica, Arial, sans-serif;
$sub-heading:           font-family: D-DIN, 'PT Sans', sans-serif;
$heading-font:          font-family: Georgia, Times New Roman, serif;

Table of Contents for search based navigation


**** Box Model Reset

**** Typography
---- Fonts
---- Headings
---- Lists
---- Breadcrumbs
---- Blockquotes
---- HR
---- Text level elements
---- Links


**** Design Patterns
---- Buttons
---- Animations
---- Highlight
---- Site Messages
---- Icon sprite
---- Social list


**** Images


**** Forms
---- Form Errors
---- Submit Bar
---- Search Form
---- Search pagination
---- Captcha


**** Tables
---- Content tables
---- Responsive table
---- No Styles Table


**** Helper classes
---- Clearfix
---- Hiding classes
---- Pseudo elements
---- Floats and positioning
---- Grid system


**** Template Layout
---- Container
---- Simple content alignment classes
---- Sections
---- Content Box
---- Header
---- Next Meet
---- Footer
---- Hero banner
---- Inner banner
---- Upcoming Events
---- Featured Video
---- Promo
---- Clubs
---- Calendar
---- Magnific Popup


**** Widgets
---- Catch all
---- Related Links
---- Simple Image Gallery
---- Children Page Gallery
---- Sponsors module
---- Order Form
---- Videos


**** Print styles

------------------------------------------------------ */

/* ------------------------------------------------------
**** Box Model Reset
------------------------------------------------------ */

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

/* ------------------------------------------------------
**** Breakpoints
------------------------------------------------------ */

/* BP Smaller */
@media screen and (min-width: 35em) { /* 560px */

}

/* BP small */
@media screen and (min-width: 48em) { /* 768px */

}

/* BP medium */
@media only screen and (min-width: 62em) { /* 992px */

}

/* BP large */
@media only screen and (min-width: 75em) { /* 1200px */

}

/* ------------------------------------------------------
**** Typography
------------------------------------------------------ */

html {
    font-size: 62.5%;
}

body {
    line-height: 1.4;
    font-size: 1.6rem;
    color: #303030;
    font-family: Helvetica Neue, Helvetica, Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* ---- Fonts ---- */
/*
font-family: Helvetica Neue, Helvetica, Arial, sans-serif;
*/

/* ---- Headings ---- */
h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5,
h6,
.h6 {
    margin: 0 0 1.7rem 0;
    font-family: Georgia, Times New Roman, serif;
    font-weight: 400;
}
h1 small,
h2 small,
h3 small,
h4 small,
h5 small,
h6 small {
    font-weight: normal;
    line-height: 1;
    color: #8a7b7b;
}

p + h1,
p + h2,
p + h3,
p + h4,
p + h5,
p + h6 {
    margin-top: 3rem;
}


h1, .h1 {
    font-size: 4.4rem;
}

h2, .h2 {
    font-size: 3.2rem;
}

h3, .h3 {
    font-size: 2.4rem;
    color: #404040;
}

h4, .h4 {
    font-size: 2rem;
    color: #505050;
}

h5, .h5 {
    font-size: 1.8rem;
    color: #606060;
    font-family: D-DIN, 'PT Sans', sans-serif;
    font-weight: 600;
}

h6, .h6 {
    font-size: 1.6rem;
}

.heading-inline {
    display: inline;
    float: left;
    padding: 0;
}

.mainbar h2, .mainbar .h2 {
    color: #404040;
    border-bottom: 1px solid #D7D7D7;
    margin-top: 3rem;
}

.mainbar h3, .mainbar .h3 {
    color: #1b2243;
}

.mainbar > *:first-child {
    margin-top: 0;
}

p,
ol,
ul,
dl,
address {
    margin: 0 0 1.6rem;
}

.mainbar p,
.mainbar ol,
.mainbar ul,
.mainbar dl,
.mainbar address {
    line-height: 1.75;
}

small {
    font-size: 1.28rem;
}


/* ---- Lists ---- */
ul,
ol {
    padding: 0 0 0 2rem;
    margin: 0 0 1.6rem 2rem;
}

li ul,
li ol {
    margin: 1.25rem 0;
}

ul.inline,
ol.inline {
    list-style-type: none;
    margin-left: 0;
}
ul.inline > li,
ol.inline > li {
    display: inline-block;
    padding-left: 12px;
    padding-right: 12px;
}

ol {
    list-style-type: none;
    counter-reset: item;
}

ol ul {
    list-style-type: disc;
}

ol > li {
    display: table;
    counter-increment: item;
    margin-bottom: 0.6em;
}

ol > li:before {
    content: counters(item, ".") ". ";
    display: table-cell;
    padding-right: 0.6em;
}

li ol > li {
    margin: 0;
}

li ol > li:before {
    content: counters(item, ".") " ";
}
.subtitle {
    text-transform: uppercase;
    font-family: D-DIN, 'PT Sans', sans-serif;
    font-weight: 600;
}


/* Decal underline */

p.subtitle.decal--underline {
    font-size: 16px;
    line-height: 16px;
    padding-bottom: 12px;
}

.decal--underline {
    border-bottom: 1px solid #FFFFFF;
}

.decal--underline span {
    border-bottom: 3px solid #004d72;
    padding-bottom: calc(0.5em - 2px);
}
p.decal--underline span {
    padding-bottom: 9px;
}
h1.decal--underline {
    border-bottom: none;
}
h1.decal--underline span {
    border-bottom: none;
}

/*Specific use cases */
/* BP small */
@media screen and (min-width: 48em) { /* 768px */
    .section--upcoming-events .subtitle.decal--underline {
        padding-bottom: 26px;
        margin-bottom: 48px;
    }
    .section--upcoming-events .decal--underline span {
        border-bottom: 3px solid #004d72;
        margin-bottom: 48px;
    }
    h1.decal--underline {
        border-bottom: 1px solid #FFFFFF;
        line-height: 1.5;
    }
    h1.decal--underline span {
        padding-bottom: calc(0.2em - 3px);
        border-bottom: 3px solid #004d72;
    }
}
/* BP medium */
@media only screen and (min-width: 62em) { /* 992px */
    .section--upcoming-events .subtitle.decal--underline {
        padding-bottom: 32px;
        margin-bottom: 56px;
    }
    .section--upcoming-events .decal--underline span {
        padding-bottom: 28px;
        margin-bottom: 56px;
    }
}

/*Use @ supports to override line height differences in IE / other browsers */
@supports(display:flex) {
    p.decal--underline span {
        padding-bottom: calc(0.5em - 2px);
    }
    p.subtitle.decal--underline {
        font-size: 1em;
        line-height: 1;
        padding-bottom: 0.5em;
    }
    /* BP small */
    @media screen and (min-width: 48em) { /* 768px */
        .section--upcoming-events .decal--underline span {
            padding-bottom: 24px;
        }
    }
    /* BP medium */
    @media only screen and (min-width: 62em) { /* 992px */
        .section--upcoming-events .decal--underline span {
            padding-bottom: calc(32px - 2px);
        }
    }
}

.content-type {
    color: #8D8C8D;
    text-transform: uppercase;
    font-family: D-DIN, 'PT Sans', sans-serif;
    margin-bottom: 0;
}
/* BP small */
@media screen and (min-width: 48em) { /* 768px */
    .content-type {
        color: #004d72;
    }
}
/* BP medium */
@media only screen and (min-width: 62em) { /* 992px */
    .subtitle {
        font-size: 1em;
    }
}

/* ---- Breadcrumbs ---- */
.breadcrumb {
    list-style: none;
    margin: 0;
    padding: 0;
    font-size: 1.4rem;
    color: #909090;
    text-transform: uppercase;
}
.breadcrumb > li {
    display: inline;
}
.breadcrumb > li:before {
    content: "";
    display: inline-block;
    height: 12px;
    width: 10px;
    background: url(../images/icon_arrow--right--grey.svg) no-repeat center center;
    margin-left: 8px;
    margin-right: 6px;
    margin-bottom: -1px;
}
.breadcrumb > li:first-child:before {
    content: none;
}
.breadcrumb a {
    color: #909090;
    text-decoration: none;
}
.breadcrumb a:hover {
    border-bottom: 1px solid #D7D7D7;
    color: #909090;
}

/* ---- Breadcrumb in banner---- */
.inner-banner__content .breadcrumb {
    color: #fff;
    margin-top: 1.6rem;
}
.inner-banner__content .breadcrumb > li:before {
    background: url(../images/icon_arrow--right.svg) no-repeat center center;
}
.inner-banner__content .breadcrumb a {
    color: #fff;
}
.inner-banner__content .breadcrumb a:hover {
    border-bottom: 1px solid #fff;
    color: #fff;
}

/* ---- Blockquotes ---- */
blockquote {
    margin: 3rem 0 3rem;
    padding: 30px;
    background: #f3f3f3;
    font-style: italic;
    position: relative;
    clear: both;
    border-bottom: 5px solid #007b92;
}

blockquote *:first-child {
    margin-top: 0;
}

blockquote *:last-child {
    margin-bottom: 0;
}

blockquote:before,
blockquote:after {
    position: absolute;
    font-size: 13rem;
    display: block;
    height: 25px;
    width: 50px;
    color: #007b92;
    font-style: italic;
    line-height: 10px;
    font-family: "Big Caslon","Book Antiqua","Palatino Linotype",Georgia,serif;
}

blockquote:before {
    content: '\201C';
    top: 38px;
    left: -8px;
}

blockquote:after {
    content: '\201D';
    bottom: -36px;
    right: 18px;
}

blockquote h3, blockquote .h3,
.mainbar blockquote h3, .mainbar blockquote .h3,
.highlight h3, .highlight .h3,
.mainbar .highlight h3, .mainbar .highlight .h3 {
     color: #404040;
}

/* BP medium */
@media only screen and (min-width: 62em) { /* 992px */
    .blockquote--left {
        float: left;
        width: 45%;
        margin-left: 0px;
        margin-right: 20px;
        clear: right;
    }

    .blockquote--right {
        float: right;
        width: 45%;
        margin-left: 20px;
        margin-right: 0px;
        clear: left;
    }
}


/* ---- HR ---- */
hr {
    -webkit-box-sizing: content-box;
            box-sizing: content-box;
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 2em 0;
    padding: 0;
}


/* ---- Text level elements ---- */
abbr[title] {
    border-bottom: 1px dotted #c6bfbf;
    cursor: help;
}

b, strong {
    font-weight: bold;
}

dfn {
    font-style: italic;
}

ins {
    background-color: #f3f3f3;
    color: #473f3f;
    text-decoration: none;
}

mark {
    background-color: #f3f3f3;
    color: #473f3f;
    font-style: italic;
    font-weight: bold;
}

pre,
code,
kbd,
samp {
    font-family: 'Monaco', 'Courier New', monospace;
    color: #484040;
    background: #efefef;
    background: rgba(0, 0, 0, .07);
    padding: 0 2px;
    margin: 0 -2px;
}

pre {
    white-space: pre;
    white-space: pre-wrap;
    word-wrap: break-word;
}

sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

sup {
    top: -.5em;
}

sub {
    bottom: -.25em;
}


/* ---- Links ---- */
a {
    color: #1b2243;
    word-break: break-word;
}

a:hover,
a:active,
a:focus {
    color: #732F14;
}

a:hover svg path,
a:active svg path,
a:focus svg path {
    stroke: #732F14;
}


/* Address `outline` inconsistency between Chrome and other browsers. */
a:focus {
    outline: thin dotted;
}

/* Improve readability when focused and also mouse hovered in all browsers. */
a:active,
a:hover {
    outline: 0;
}

/* Include file type and size in document links */
a.document::after {
    content: " [" attr(data-ext) " " attr(data-size) "]";
    text-transform: uppercase;
    font-size: 1.2rem;
    opacity: 0.75;
}

.text-link {
    text-transform: uppercase;
    -webkit-transition: color 250ms ease-in-out;
    -o-transition: color 250ms ease-in-out;
    transition: color 250ms ease-in-out;
    text-decoration: none;
    position: relative;
    padding-right: 12px;
}

.text-link svg {
    height: 12px;
    width: 8px;
    display: inline-block;
    position: absolute;
    right: 0;
    top: 2px;
}

.text-link svg path {
    stroke: #004d72;
    -webkit-transition: stroke 250ms ease-in-out;
    -o-transition: stroke 250ms ease-in-out;
    transition: stroke 250ms ease-in-out;
}

a.text-link:hover svg path,
a.text-link:active svg path,
a.text-link:focus svg path {
    stroke: #1b2243;
}

/* ------------------------------------------------------
**** Design Patterns
------------------------------------------------------ */

/* ---- Background colours ---- */

/* White */
.bg-white {
    background-color: #fff;
}

.bg-white .decal--underline {
    border-bottom: 1px solid #D7D7D7;
}

.bg-white h1.decal--underline {
    border-bottom: none;
}
/* BP small */
@media screen and (min-width: 48em) { /* 768px */
    .bg-white h1.decal--underline {
        border-bottom: 1px solid #D7D7D7;
    }
}

/* Light grey */
.bg-lightgrey {
    background-color: #F3F3F3;
}

.bg-lightgrey .field-element input[type="checkbox"] + label:before,
.bg-lightgrey .field-element input[type="radio"] + label:before,
.bg-lightgrey .field-element.field-element--small input[type="checkbox"] + label:before,
.bg-lightgrey .field-element.field-element--small input[type="radio"] + label:before {
    background-color: #fff;
    border: 1px solid #D7D7D7;
}

/* Navy blue */
.bg-navyblue {
    background-color: #2a333e;
    color: #fff;
}
.bg-navyblue a {
    color: inherit;
    opacity: .6;
}
.bg-navyblue a:hover,
.bg-navyblue a:focus,
.bg-navyblue a:active {
    opacity: 1;
}

/* Orange */
.bg-orange {
    background-color: #004d72;
    color: #fff;
}
.bg-orange a {
    color: inherit;
    opacity: 1;
}
.bg-orange .button {
    border: 1px solid #fff;
    color: #fff;
}
.bg-orange .button--inline {
    border: 1px solid transparent;
    color: #1b2243;
}

/* Dark Orange */
.bg-drk-orange {
    background-color: #103255;
    color: #fff;
}

/* Yellow */
.bg-yellow {
    background-color: #00a99b;
    color: #fff;
}
.bg-yellow .button {
    border: 1px solid #fff;
    color: #fff;
}

.bg-yellow .button.button-white:hover,
.bg-yellow .button.button-white:focus {
    background-color: #fff;
    color: #00a99b;
}

.bg-yellow .button.button-white:hover svg path,
.bg-yellow .button.button-white:focus svg path {
    stroke: #00a99b;
}

/* Purple */
.bg-purple {
    background-color: #007b92;
}

/* ---- Background images ---- */
.bg-image {
    background-color: #D7D7D7;
    background-image: url(../images/bg_img-horse.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: top right;
}
.bg-race-info {
    background-color: #A8E1DC;
    background-image: url(../images/bg_race-info.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: top right;
}

/* ---- Buttons ---- */
.button {
    display: inline-block;
    margin-bottom: 0;
    white-space: nowrap;
    vertical-align: middle;
    text-align: center;
    cursor: pointer;
    color: #004d72;
    background-color: transparent;
    text-decoration: none;
    border-radius: 0;
    border: 1px solid #D7D7D7;
    text-transform: uppercase;
    outline: none;
    opacity: 1;
    position: relative;
    font-weight: 600;
    font-family: D-DIN, 'PT Sans', sans-serif;
    line-height: 1.4;
    -webkit-transition: all 250ms ease-in-out;
    -o-transition: all 250ms ease-in-out;
    transition: all 250ms ease-in-out;
    padding: 8px 30px 8px;
}
.button svg {
    height: 12px;
    width: 10px;
}

.button svg path {
    stroke: #004d72;
    -webkit-transition: stroke 250ms ease-in-out;
    -o-transition: stroke 250ms ease-in-out;
    transition: stroke 250ms ease-in-out;
}

.button:hover {
    border: 1px solid #004d72;
    background: #004d72;
    color: #fff;
}
.button:hover svg path {
    stroke: #fff;
}

/* Small */
.button.button-small {
    font-size: 0.8em;
    padding: 8px 12px 8px;
}

.button.button-small svg {
    height: 9px;
    width: 8px;
}

/* BP xtra small */
@media screen and (min-width: 37.5em) { /* 600px */
    /* Small */
    .button.button-small {
        padding: 8px 24px 8px;
    }
}

/* BP small */
@media screen and (min-width: 48em) { /* 768px */
    /* Regular */
    .button {
        padding: 8px 24px 8px;
    }
}

/* BP medium */
@media only screen and (min-width: 62em) { /* 992px */
    .button {
        padding: 8px 24px 8px;
        font-size: 1em;
    }
    /* Large */
    .button.button-large {
        font-size: 1.9rem;
        padding: 14px 26px;
    }
}

/* White */
.button.button-white {
    background-color: transparent;
    color: #fff;
    border: 1px solid #fff;
}
.button.button-white:hover,
.button.button-white:focus,
.button.button-white:active {
    background-color: #fff;
    color: #202020;
}

.button.button-white svg path {
    stroke: #fff;
    -webkit-transition: stroke 250ms ease-in-out;
    -o-transition: stroke 250ms ease-in-out;
    transition: stroke 250ms ease-in-out;
}
.button.button-white:hover svg path,
.button.button-white:focus svg path,
.button.button-white:active svg path {
    stroke: #202020;
}

/* Grey */
.button.button-grey {
    background-color: #D0D3DA;
    color: #24292f;
}
.button.button-grey:hover,
.button.button-grey:focus,
.button.button-grey:active {
    background-color: #BCBFC5;
    color: #24292f;
    border-color: #BCBFC5;
}

/* Dark Grey */
.button.button--drk-grey {
    color: #505050;
    background-color: transparent;
    transition: all 250ms ease-in-out;
}
.button.button--drk-grey:hover {
    background-color: #505050;
    color: #fff;
    border-color: #505050;
}

/* Block */
.button-block {
    display: block;
    width: 100%;
}

/* Inline text button */
.button--inline {
    color: #1b2243;
    border: none;
    padding: 8px 8px;
}
.button--inline:hover,
.button--inline:focus,
.button--inline:active  {
    background: #fff;
    border: none;
    color: #004d72;
}

/* Submit */
button[type="submit"],
.submit-bar .button[type="submit"] {
    background-color: rgba(112, 114, 153, 0);
    color: #007b92;
    border: 1px solid #D7D7D7;
}

button[type="submit"]:focus,
button[type="submit"]:hover,
button[type="submit"]:active,
.submit-bar .button[type="submit"]:focus,
.submit-bar .button[type="submit"]:hover,
.submit-bar .button[type="submit"]:active  {
    background-color: rgba(112, 114, 153, 1);
    color: #fff;
    border: 1px solid #007b92;
}

/* Disabled/unavailable button style */
.button[disabled],
.button-disabled,
.button-disabled:hover,
.button-disabled:focus,
.button-disabled:active {
    border: none;
    opacity: 0.4;
    cursor: default;
    -webkit-box-shadow: none;
            box-shadow: none;
}

/* Firefox: Get rid of the inner focus border */
.button::-moz-focus-inner {
    padding: 0;
    border: 0;
}

/* - Inline buttons - */
.inline-buttons__item,
.inline-buttons__title {
    margin-bottom: 9px;
}

.inline-buttons__title {
    text-transform: uppercase;
    font-weight: bold;
}


/* Right */
.inline-buttons.inline-buttons--right {
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end;
}


/* Max BP Extra small */
@media screen and (max-width: 34.938em) { /* 559px */
    .inline-buttons__item {
        width: 100%;
        display: block;
    }
}

/* BP Smaller */
@media screen and (min-width: 35em) { /* 560px */
    .inline-buttons {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        margin-left: -0.5rem;
        margin-right: -0.5rem;
        -webkit-box-align: center;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-flex-wrap: wrap;
            -ms-flex-wrap: wrap;
                flex-wrap: wrap;
    }
    .inline-buttons__item {
        -webkit-box-flex: 0;
        -webkit-flex: 0 0 auto;
            -ms-flex: 0 0 auto;
                flex: 0 0 auto;
    }
    .inline-buttons__item,
    .inline-buttons__title {
        margin-left: 0.5rem;
        margin-right: 0.5rem;
    }
    .inline-buttons__title {
        -webkit-box-flex: 1;
        -webkit-flex: 1 1 100%;
            -ms-flex: 1 1 100%;
                flex: 1 1 100%;
    }
}

/* BP small */
@media screen and (min-width: 60em) { /* 960px */
    .inline-buttons__title {
        -webkit-box-flex: 0;
        -webkit-flex: 0 0 auto;
            -ms-flex: 0 0 auto;
                flex: 0 0 auto;
        padding-right: 2.5rem;
    }
}


/* ---- Animations ---- */
@-webkit-keyframes fadeInDown {
    from {
        opacity: 0;
        -webkit-transform: translateY(-30px);
                transform: translateY(-30px);
    }
}
@keyframes fadeInDown {
    from {
        opacity: 0;
        -webkit-transform: translateY(-30px);
                transform: translateY(-30px);
    }
}

@-webkit-keyframes arrows-slide {
  0% {
  -webkit-transform: translateX(0px);
          transform: translateX(0px);
    }
 50% {
  -webkit-transform: translateX(2px);
          transform: translateX(2px);
    }
100% {
    -webkit-transform: translateX(0px);
            transform: translateX(0px);
    }
}
@keyframes arrows-slide {
  0% {
  -webkit-transform: translateX(0px);
          transform: translateX(0px);
    }
 50% {
  -webkit-transform: translateX(2px);
          transform: translateX(2px);
    }
100% {
    -webkit-transform: translateX(0px);
            transform: translateX(0px);
    }
}

/* ---- Highlight ---- */
.highlight,
.highlight--right,
.highlight--left {
    margin: 0;
    padding: 30px;
    background: #F3F3F3;
    clear: both;
    border-bottom: 5px solid #00a99b;
}
.highlight {
    margin: 3rem 0 3rem;
}
/* BP medium */
@media only screen and (min-width: 62em) { /* 992px */
    .highlight--left {
        float: left;
        width: 45%;
        margin-right: 20px;
        clear: right;
    }

    .highlight--right {
        float: right;
        width: 45%;
        margin-left: 20px;
        clear: left;
    }
}

.highlight *:last-child,
.highlight--right *:last-child,
.highlight--left *:last-child {
    margin-bottom: 0;
}


/* ---- Site Messages ---- */
ul.messages {
    list-style: none;
    margin: 16px 0 25px;
    padding: 0;
}
ul.messages li {
    margin: 0 0 15px;
    padding: 10px 20px;
    vertical-align: bottom;
    text-align: left;
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.2em;
}
ul.messages .error {
    background: #E04D4D;
    border-left: 4px solid #B72323;
    color: #FFF !important;
}
ul.messages .confirm {
    color: #FFF !important;
    background: #6DBB5A;
    border-left: 4px solid #439230;
}
ul.messages a {
    color: #FFF;
}

/* ---- Icon sprite ---- */
.icon {
    display: inline-block;
    width: 1em;
    height: 1em;
    stroke-width: 0;
    stroke: currentColor;
    fill: currentColor;
}

/* ---- Social list ---- */
.social-list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.social-list .icon {
    font-size: 3.5rem;
}
.social-list__item span {
    float: left;
	display: inline-block;
	margin-right: 8px;
    width: 48px;
    height: 48px;
    background: #fff;
    border-radius: 24px;
    border: 1px #d7d7d7 solid;
    padding: 7px;
}
.social-list__item svg {
    width: 32px;
    height: 32px;
}
.social-list__item svg path {
    fill: #505050;
}
.social-list__item a {
    color: inherit;
    display: block;
}
.social-list__item a:hover svg path,
.social-list__item a:focus svg path,
.social-list__item a:active svg path {
    stroke: transparent;
}
.social-list__item a:hover span,
.social-list__item a:focus span,
.social-list__item a:active span {
    background: rgba(215, 215, 215, 0.5);
}

/* Inline */
.social-list.social-list--inline .social-list__item {
    display: inline-block;
}

/* ---- Block list ---- */
.block-list {
    list-style: none;
    padding: 0;
    margin: 0 0 20px;
}
.block-list li {
    width: 100%;
    position: relative;
    opacity: 0.9;
    padding-right: 16px;
}
.block-list li a:hover,
.block-list li a:focus,
.block-list li a:active  {
    opacity: 1;
}
.block-list li a:after {
    content: "";
    height: 12px;
    width: 10px;
    background: url(../images/icon_arrow--right.svg) no-repeat center center;
    margin-left: 8px;
    margin-right: 4px;
    position: absolute;
    right: 0;
    top: calc(50% - 6px);
    opacity: 0.5;
}
.block-list li a:hover:after,
.block-list li a:focus:after,
.block-list li a:active:after {
    opacity: 1;
    -webkit-animation: arrows-slide .300s cubic-bezier(0.400, -0.105, 0.590, 1.140) normal;
            animation: arrows-slide .300s cubic-bezier(0.400, -0.105, 0.590, 1.140) normal;
    -webkit-animation-fill-mode: both;
            animation-fill-mode: both;
            -webkit-animation-iteration-count: 1;
            animation-iteration-count: 1;
}
.block-list a {
    display: block;
    text-decoration: none;
    line-height: 2;
    padding: 0.25em 0;
}

/* ------------------------------------------------------
**** Images
------------------------------------------------------ */

img {
    vertical-align: middle;
    max-width: 100%;
    height: auto;
}

/* ------------------------------------------------------
**** Forms
------------------------------------------------------ */

/* ---- Base styles ---- */
.field-element {
    margin-bottom: 13px;
}
/* BP small */
@media screen and (min-width: 48em) { /* 768px */
    .field-element {
        margin-bottom: 21px;
    }
}

.field-element:before,
.field-element:after {
    content: " ";
    display: table;
}

.field-element:after {
    clear: both;
}

.field-input .textbox,
.field-input select {
    display: block;
    width: 100%;
    outline: none;
    line-height: normal;
    padding: 11px 20px 10px;
    -webkit-appearance: none;
}
.field-input .textbox,
.field-input select,
.field-element--fileselector .fs-preview-wrapper {
    line-height: 1.4;
    border: 1px solid #D7D7D7;
    border-radius: 0;
    background-color: #fff;
}

.field-element--transparent .field-input .textbox,
.field-element--transparent .field-input select,
.field-element--transparent .field-element--fileselector .fs-preview-wrapper {
    background-color: transparent;
    border: 1px solid #fff;
    color: #fff;
}

.field-element.field-element--transparent .field-input input[placeholder],
.field-element.field-element--transparent ::-webkit-input-placeholder { /* Chrome/Opera/Safari */
    color: #fff;
}

/* ---- Inline ---- */
.field-elements-inline:before,
.field-elements-inline:after {
    content: " ";
    display: table;
}

.field-elements-inline:after {
    clear: both;
}
.field-elements-inline .field-element {
    float: left;
    margin-right: 1%;
}
.field-elements-inline .field-element:last-child {
    margin-right: 0;
}
/* Button */
.field-elements-inline .field-element--button {
    margin-top: 29px;
}
.field-elements-inline .field-element--button.field-element--inline-no-label {
    margin-top: 0;
}

/* Add top margin to make empty space for margins */
.field-element--inline-with-label {
    margin-top: 29px;
}

/* ---- White ---- */
.field-element.field-element--white .field-input .textbox,
.field-element.field-element--white .field-input select,
.field-element--white.field-element--fileselector .fs-preview-wrapper {
    background-color: #fff;
}

/* ---- Sizes ---- */

/* Small */
.field-element .field-input .textbox,
.field-element .field-input select,
.field-element--fileselector .fs-preview-wrapper {
    padding: 8px 16px;
}
.field-element.field-element--small .field-input .textbox,
.field-element.field-element--small .field-input select,
.field-element.field-element--small.field-element--fileselector .fs-preview-wrapper {
    font-size: 1.6rem;
    padding: 5px 15px 3px;
}


/* BP small */
@media screen and (min-width: 48em) { /* 768px */
    /* Regular */
    .field-element .field-input .textbox,
    .field-element .field-input select,
    .field-element.field-element--fileselector .fs-preview-wrapper {
        padding: 8px 16px 8px;
        font-size: 1.6rem;
    }
}

/* BP medium */
@media only screen and (min-width: 62em) { /* 992px */
    /* Large */
    .field-element.field-element--large .field-input .textbox,
    .field-element.field-element--large .field-input select,
    .field-element.field-element--large.field-element--fileselector .fs-preview-wrapper {
        font-size: 1.8rem;
        padding: 12px 25px 11px;
    }
}

/* ---- Disabled ---- */
.field-element.field-element--disabled,
.field-element .fieldset-input.fieldset-input--disabled {
    opacity: 0.6;
    cursor: not-allowed;
}
.field-element.field-element--disabled .textbox[disabled],
.field-element.field-element--disabled select[disabled],
.field-element.field-element--disabled button[disabled],
.field-element.field-element--disabled input[type="checkbox"] + label,
.field-element .fieldset-input.fieldset-input--disabled input[type="checkbox"] + label,
.field-element.field-element--disabled input[type="radio"] + label,
.field-element .fieldset-input.fieldset-input--disabled input[type="radio"] + label {
    cursor: not-allowed;
}

/* ---- Caps ---- */
.field-element--caps .textbox,
.field-element--caps select {
    text-transform: uppercase;
}


/* ---- Placeholders ---- */
::-webkit-input-placeholder { /* Chrome/Opera/Safari */
    color: #8D8C8D;
}
::-moz-placeholder { /* Firefox 19+ */
    color: #8D8C8D;
}
:-ms-input-placeholder { /* IE 10+ */
    color: #8D8C8D;
}
:-moz-placeholder { /* Firefox 18- */
    color: #8D8C8D;
}
.field-element--dropdown--placeholder .field-input select {
    color: #8D8C8D;
}

/* ---- Fieldset ---- */
.field-element fieldset {
    border: none;
    padding: 0;
    margin: 0;
}


/* ---- Labels and legends ---- */
.field-label,
.fieldset__legend {
    font-weight: 600;
    font-size: 1.6rem;
    margin-bottom: 10px;
    line-height: 1.2;
    font-family: Helvetica Neue, Helvetica, Arial, sans-serif;
}

/* Instead of h3s */
.label.heading {
    margin: 30px 0px 20px;
    padding: 8px 8px 8px 0px;
    border-bottom: 1px solid #E2E2E2;
}

/* Hidden labels */
.field-element--hidden-label .field-label,
.field-element--hidden-label .fieldset__legend {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}


/* ---- Required ---- */
.field-label__required {
    text-indent: -9999px;
    line-height: 0;
    display: inline-block;
}

.field-label__required:after {
    content: "*";
    text-indent: 0;
    display: block;
    line-height: inherit;
}


/* ---- Field helpers ---- */
.field-helper {
    font-weight: 400;
    font-size: 1.3rem;
    margin-bottom: 1em;
}

.field-label .field-helper {
    margin-top: 0.3em;
    margin-bottom: 0;
}

/* ---- Attach wrapper ---- */
.field-element-attach-wrapper {
    position: relative;
}
.field-element-attach-wrapper__button {
    position: absolute;
    top: 1px;
    right: 1px;
    bottom: 1px;
    border-radius: 0 5px 5px 0;
    background: #d7dce0;
    border: none;
    outline: none;
    padding: 0 7px;
    z-index: 1;
    cursor: pointer;
}
.field-element-attach-wrapper__button .icon {
    color: #58595b;
}
.field-element-attach-wrapper__button:hover,
.field-element-attach-wrapper__button:active,
.field-element-attach-wrapper__button:focus {
    background-color: #c8cdd2;
}
.field-element-attach-wrapper .field-element .field-input .textbox,
.field-element-attach-wrapper .field-element .field-input select {
    padding-right: 55px;
}

.field-element-attach-wrapper--small .field-element-attach-wrapper__button .icon,
.field-element-attach-wrapper__button .icon {
    font-size: 2.7rem;
    margin-top: 2px;
}

/* White */
.field-element-attach-wrapper.field-element-attach-wrapper--white .field-element-attach-wrapper__button {
    background-color: #eaecf1;
}
.field-element-attach-wrapper.field-element-attach-wrapper--white .field-element-attach-wrapper__button:hover,
.field-element-attach-wrapper.field-element-attach-wrapper--white .field-element-attach-wrapper__button:active,
.field-element-attach-wrapper.field-element-attach-wrapper--white .field-element-attach-wrapper__button:focus {
    background-color: #e1e3e8;
}

/* Responsive */
/* BP small */
@media screen and (min-width: 48em) { /* 768px */
    .field-element-attach-wrapper__button .icon {
        font-size: 3.1rem;
        margin-top: 3px;
    }
}

/* BP medium */
@media only screen and (min-width: 62em) { /* 992px */
    .field-element-attach-wrapper--large .field-element-attach-wrapper__button .icon {
        font-size: 3.4rem;
        margin-top: 4px;
    }
}


/* ---- Field errors ---- */
.field-element.field-element--error  .field-input .textbox,
.field-element.field-element--error  .field-input select {
    background-color: #f7eaec;
}
.field-error__list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.field-error__list__item {
    color: #fff;
    background: #E04D4D;
    padding: 10px 20px;
    margin: 11px 0;
    border-left: 6px solid #b72323;
}

/* ---- Text area ---- */
textarea {
    resize: vertical;
}

/* ---- Range ---- */
.field-element.field-element--range .field-input .textbox {
    -webkit-appearance: slider-horizontal;
    background: none;
    padding: 0;
    border-radius: 0;
    border: none;
    background: none !important;
}
input[type=range]::-moz-focus-outer {
    border: 0;
}


/* ---- Selects ---- */
.field-element .field-input select {
    -moz-appearance: none;
    background-image: url(../images/form-icons.svg);
    background-repeat: no-repeat, no-repeat;
    padding-right: 55px;
}
.field-element .field-input select[multiple] {
    background-image: none;
    padding-right: 20px;
}

.field-element select::-ms-expand,
.daterangepicker select.monthselect::-ms-expand,
.daterangepicker select.yearselect::-ms-expand,
.simpledaterangepicker select.monthselect::-ms-expand,
.simpledaterangepicker select.yearselect::-ms-expand {
    display: none;
}

/* Multiple selects */
.field-element.field-element--select.field-element--select--multiple select {
    padding: 8px 8px;
    background-image: none;
}

.field-element.field-element--select.field-element--select--multiple option {
    padding: 6px 10px;
}

/* Small */
.field-element .field-input select,
.field-element.field-element--small .field-input select {
    background-position: top -262px right -104px;
}
.field-element .field-input select,
.field-element.field-element--small .field-input select,
.field-element.field-element--large .field-input select {
    padding-right: 55px;
}


/* White + Small */
.field-element.field-element--white .field-input select,
.field-element.field-element--small.field-element--white .field-input select {
    background-position: top -262px right -104px;
    background-color: #fff;
}

/* Responsive */
/* BP small */
@media screen and (min-width: 48em) { /* 768px */
    .field-element .field-input select {
        background-position: top -257px right -104px;
    }
    /* White */
    .field-element.field-element--white .field-input select {
        background-position: top -257px right -104px;
        background-color: #fff;
    }
}

/* BP medium */
@media only screen and (min-width: 62em) { /* 992px */
    /* Large */
    .field-element.field-element--large .field-input select {
        background-position: top -253px right -104px;
    }
    /* White + Large */
    .field-element.field-element--large.field-element--white .field-input select {
        background-position: top -253px right -104px;
        background-color: #fff;
    }
}


/* ---- Checkboxes and radio buttons ---- */
.field-element.field-element--checkbox,
.field-element.field-element--radio {
    font-size: 1.6rem;
}

.field-element input[type="checkbox"],
.field-element input[type="radio"] {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

.field-element input[type="checkbox"] + label,
.field-element input[type="radio"] + label,
.field-element.field-element--small input[type="checkbox"] + label,
.field-element.field-element--small input[type="radio"] + label {
    padding-left: 34px;
    position: relative;
    cursor: pointer;
    display: inline-block;
}

.field-element input[type="checkbox"] + label:before,
.field-element input[type="radio"] + label:before,
.field-element.field-element--small input[type="checkbox"] + label:before,
.field-element.field-element--small input[type="radio"] + label:before {
    content: " ";
    display: inline-block;
    width: 18px;
    height: 18px;
    margin-right: 13px;
    position: relative;
    top: 3px;
    background-color: #EEF0F3;
    border: 1px solid #D7D7D7;
    margin-left: -34px;
}

/* Check and dot */
.field-element input[type="checkbox"]:checked + label:after,
.field-element input[type="radio"]:checked + label:after,
.field-element.field-element--small input[type="checkbox"]:checked + label:after,
.field-element.field-element--small input[type="radio"]:checked + label:after {
    content: " ";
    position: absolute;
    left: 1px;
    top: 6px;
}


/* Without labels */
.field-element.field-element--checkbox--no-label input[type="checkbox"] + label,
.field-element.field-element--radio--no-label input[type="radio"] + label {
    padding-left: 0;
}

.field-element.field-element--checkbox--no-label input[type="checkbox"] + label:before,
.field-element.field-element--radio--no-label input[type="radio"] + label:before {
    margin-left: 0;
    margin-right: 0;
}

.field-element.field-element--checkbox--no-label input[type="checkbox"]:checked + label:after,
.field-element.field-element--radio--no-label input[type="radio"]:checked + label:after {
    left: 1px;
}

.field-element.field-element.field-element--radio--no-label input[type="radio"]:checked + label:after {
    margin-left: 4px;
}


/* -- Checkboxes -- */

/* Box */
.field-element input[type="checkbox"]:checked + label:before {
    border-radius: 1px;
}

/* Check (pseudo element) */
.field-element input[type="checkbox"]:checked + label:after,
.field-element.field-element--small input[type="checkbox"]:checked + label:after {
    content: " ";
    background-image: url(../images/form_icon--tick.svg);
    background-repeat: no-repeat, no-repeat;
    background-position: center center;
    background-size: contain;
    width: 17px;
    height: 17px;
    margin: -2px 0 0 -1px;
}

.field-element.field-element--checkboxlist--columns .field-element__input-set {
    -webkit-columns: 3;
    -moz-columns: 3;
    columns: 3;
}

/* -- Radio Buttons -- */

/* Radio button (pseudo element) */
.field-element input[type="radio"] + label:before,
.field-element.field-element--small input[type="radio"] + label:before {
    border-radius: 12px;
}

/* Radio dot (pseudo element) */
.field-element input[type="radio"]:checked + label:after,
.field-element.field-element--small input[type="radio"]:checked + label:after {
    left: 6px;
    top: 9px;
    width: 6px;
    height: 6px;
    border-radius: 3px;
    background: #007b92;
}

/* White */
.field-element.field-element--white input[type="checkbox"] + label:before,
.field-element.field-element--white input[type="radio"] + label:before {
    background-color: #FFF;
}


/* Responsive */
/* BP small */
@media screen and (min-width: 48em) { /* 768px */
    .field-element input[type="checkbox"] + label:before,
    .field-element input[type="radio"] + label:before {
        width: 24px;
        height: 24px;
        margin-right: 13px;
        top: 4px;
    }

    .field-element input[type="checkbox"]:checked + label:after {
        width: 23px;
        height: 23px;
        margin: 0;
    }

    /* Radio outer */
    .field-element input[type="radio"] + label:before {
        border-radius: 12px;
    }

    /* Radio dot (pseudo element) */
    .field-element input[type="radio"]:checked + label:after {
        left: 7px;
        top: 11px;
        width: 10px;
        height: 10px;
        border-radius: 5px;
    }
}

/* BP medium */
@media only screen and (min-width: 62em) { /* 992px */
    /* Large */
    .field-element.field-element--large input[type="checkbox"] + label:before,
    .field-element.field-element--large input[type="radio"] + label:before {
        width: 30px;
        height: 30px;
        margin-right: 16px;
        top: 9px;
    }

    .field-element.field-element--large input[type="checkbox"]:checked + label:after {
        width: 29px;
        height: 29px;
        margin: 4px 0 0 -1px;
    }

    /* Radio outer */
    .field-element input[type="radio"] + label:before {
        border-radius: 15px;
    }
    .field-element.field-element--large input[type="radio"]:checked + label:after {
        left: 9px;
        top: 18px;
        width: 12px;
        height: 12px;
        border-radius: 6px;
    }
}

/* ---- Color picker ---- */

/* Small */
.field-element.field-element--colorpicker .textbox.colorpicker,
.field-element.field-element--colorpicker.field-element--small .textbox.colorpicker {
    padding: 2px 7px;
    height: 32px;
    width: 38px;
}

/* Responsive */
/* BP small */
@media screen and (min-width: 48em) { /* 768px */
    .field-element.field-element--colorpicker .textbox.colorpicker {
        padding: 3px 8px;
        height: 42px;
        width: 49px;
    }
}

/* BP medium */
@media only screen and (min-width: 62em) { /* 992px */
    .field-element.field-element--colorpicker.field-element--large .textbox.colorpicker {
        padding: 4px 10px;
        height: 50px;
        width: 60px;
    }
}

/* ---- Money ---- */
.field-element.field-element--money .field-input .textbox {
    padding-left: 55px;
}

.field-element.field-element--money .field-input {
    position: relative;
}
.field-element.field-element--money .field-input .money-symbol:before {
    content: "\00a4";       /* Generic currency sign */
    position: absolute;
    display: block;
    left: 0;
    color: #58595B;
    font-weight: bold;
    font-size: 19px;
    width: 41px;
    text-align: center;
    border-right: 1px solid #d7d7d7;
}
.field-element.field-element--money .field-input .money-symbol--dollar:before {
    content: "$";    /* Dollars */
}
.field-element.field-element--money .field-input .money-symbol--pound:before {
    content: "\00a3";    /* Pounds */
}
.field-element.field-element--money .field-input .money-symbol--yen:before {
    content: "\00a5";    /* Yen */
}
.field-element.field-element--money .field-input .money-symbol--indian_rupee:before {
    content: "\20B9";   /* Indian rupee */
}


/* Small */
.field-element.field-element--money .field-input .textbox,
.field-element.field-element--money.field-element--small .field-input .textbox {
    background-position: top -447px left 0;
}
.field-element.field-element--money .field-input .money-symbol:before,
.field-element.field-element--money.field-element--small .field-input .money-symbol:before {
    top: 7px;
}

/* White */
.field-element--money.field-element--white .field-input .textbox,
.field-element--money.field-element--white.field-element--small .field-input .textbox,
.field-element--money.field-element--white.field-element--large .field-input .textbox {
    background-position: top -607px left 0;
}


/* Responsive */
/* BP small */
@media screen and (min-width: 48em) { /* 768px */
    .field-element.field-element--money .field-input .money-symbol:before {
        top: 7px;
    }
}

/* BP medium */
@media only screen and (min-width: 62em) { /* 992px */
    .field-element.field-element--money.field-element--large .field-input .money-symbol:before {
        top: 14px;
    }
}


/* ---- Time pickers ---- */

.field-element.field-element--timepicker .field-input .textbox {
    padding-left: 55px;
    background-image: url(../images/form-icons.svg),
    url(../images/form_icon--line-divider.svg);
    background-repeat: no-repeat, no-repeat;
    background-position: top -170px left 12px, top 0 left 0;
}

/* Timepicker modal */
.ui-timepicker {
    display: block;
    position: absolute;
    height: 200px;
    overflow: auto;
    z-index: 9999 !important;
}

.ui-timepicker-standard {
    background-color: #FFF;
    border: 1px solid #D7D7D7;
    display: block;
    margin: 3px 0 0;
    padding: 5px;
    list-style: none outside none;
    border-radius: 4px;
}

.ui-timepicker-standard a {
    color: #24292f;
}

.ui-timepicker-standard .ui-state-hover {
    background-color: #EAECF1;
}

.ui-timepicker-standard .ui-menu-item {
    clear: left;
    float: left;
    margin: 0;
    padding: 0;
    width: 100%;
}

.ui-timepicker-standard .ui-menu-item a {
    display: block;
    padding: 5px 10px;
    line-height: 1.5;
    text-decoration: none;
    border-radius: 3px;
}

.ui-timepicker-hidden {
    display: none;
}


/* Small */
.field-element.field-element--timepicker .field-input .textbox,
.field-element.field-element--timepicker.field-element--small .field-input .textbox {
    background-position: top -175px left 12px, top 0 left 40px;
}

/* White + Small */
.field-element.field-element--timepicker.field-element--white .field-input .textbox,
.field-element.field-element--timepicker.field-element--white.field-element--small .field-input .textbox {
    background-position: top -171px left 12px, top 0 left 40px;
}

/* Responsive */
/* BP small */
@media screen and (min-width: 48em) { /* 768px */
    .field-element.field-element--timepicker .field-input .textbox {
        background-position: top -170px left 12px, top 0 left 40px;
    }
    /* White */
    .field-element.field-element--timepicker.field-element--white .field-input .textbox {
        background-position: top -170px left 12px, top 0 left 40px;
    }
}

/* BP medium */
@media only screen and (min-width: 62em) { /* 992px */
    /* Large */
    .field-element.field-element--timepicker.field-element--large .field-input .textbox {
        background-position: top -166px left 12px, top 0 left 40px;
    }
    /* White + Large */
    .field-element.field-element--timepicker.field-element--white.field-element--large .field-input .textbox {
        background-position: top -166px left 12px, top 0 left 40px;
    }
}



/* ---- Date pickers ---- */

/* - Date picker and Date-range picker - */
.field-element.field-element--datepicker .field-input .textbox,
.field-element.field-element--daterangepicker .field-input .textbox,
.field-element.field-element--simpledaterangepicker .field-input .textbox {
    padding-left: 55px;
    background-image: url(../images/form-icons.svg),
    url(../images/form_icon--line-divider.svg);
    background-repeat: no-repeat, no-repeat;
    background-size: unset, 100% 50%;
    background-position: top 11px left 12px, top 0 left 40px;
}

/* Small */
.field-element.field-element--datepicker .field-input .textbox,
.field-element.field-element--datepicker.field-element--small .field-input .textbox,
.field-element.field-element--daterangepicker .field-input .textbox,
.field-element.field-element--daterangepicker.field-element--small .field-input .textbox,
.field-element.field-element--simpledaterangepicker .field-input .textbox,
.field-element.field-element--simpledaterangepicker.field-element--small .field-input .textbox {
    background-position: top 6px left 12px, top 0 left 40px;
}

/* White + Small */
.field-element.field-element--datepicker.field-element--white .field-input .textbox,
.field-element.field-element--datepicker.field-element--white.field-element--small .field-input .textbox,
.field-element.field-element--daterangepicker.field-element--white .field-input .textbox,
.field-element.field-element--daterangepicker.field-element--white.field-element--small .field-input .textbox,
.field-element.field-element--simpledaterangepicker.field-element--white .field-input .textbox,
.field-element.field-element--simpledaterangepicker.field-element--white.field-element--small .field-input .textbox {
    background-position: top 10px left 12px, top 0 left 40px;
}


/* Responsive */
/* BP small */
@media screen and (min-width: 48em) { /* 768px */
    .field-element.field-element--datepicker .field-input .textbox,
    .field-element.field-element--daterangepicker .field-input .textbox,
    .field-element.field-element--simpledaterangepicker .field-input .textbox {
        background-position: top 11px left 12px, top 0 left 40px;
    }
    /* White */
    .field-element.field-element--datepicker.field-element--white .field-input .textbox,
    .field-element.field-element--daterangepicker.field-element--white .field-input .textbox,
    .field-element.field-element--simpledaterangepicker.field-element--white .field-input .textbox {
        background-position: top 11px left 12px, top 0 left 40px;
    }
}

/* BP medium */
@media only screen and (min-width: 62em) { /* 992px */
    /* Large */
    .field-element.field-element--datepicker.field-element--large .field-input .textbox,
    .field-element.field-element--daterangepicker.field-element--large .field-input .textbox,
    .field-element.field-element--simpledaterangepicker.field-element--large .field-input .textbox {
        background-position: top 15px left 12px, top 0 left 40px
    }
    /* White + Large */
    .field-element.field-element--datepicker.field-element--white.field-element--large .field-input .textbox,
    .field-element.field-element--daterangepicker.field-element--white.field-element--large .field-input .textbox,
    .field-element.field-element--simpledaterangepicker.field-element--white.field-element--large .field-input .textbox {
        background-position: top 15px left 12px, top 0 left 40px;
    }
}


/* - Date/time picker - */
.field-element.field-element--datetimepicker .field-input .textbox,
.field-element.field-element--datetimerangepicker .field-input .textbox,
.field-element.field-element--simpledaterangepicker .field-input .textbox {
    padding-left: 55px;
    background-image: url(../images/form-icons.svg),
    url(../images/form_icon--line-divider.svg);
    background-repeat: no-repeat, no-repeat;
}

/* Small */
.field-element.field-element--datetimepicker .field-input .textbox,
.field-element.field-element--datetimepicker.field-element--small .field-input .textbox,
.field-element.field-element--datetimerangepicker .field-input .textbox,
.field-element.field-element--datetimerangepicker.field-element--small .field-input .textbox {
    background-position: top -90px left 12px, top 0 left 40px;
}

/* White + Small */
.field-element.field-element--datetimepicker.field-element--white .field-input .textbox,
.field-element.field-element--datetimepicker.field-element--small.field-element--white .field-input .textbox,
.field-element.field-element--datetimerangepicker.field-element--white .field-input .textbox,
.field-element.field-element--datetimerangepicker.field-element--small.field-element--white .field-input .textbox {
    background-position: top -90px left 12px, top 0px left 40px;
}


/* Responsive */
/* BP small */
@media screen and (min-width: 48em) { /* 768px */
    .field-element.field-element--datetimepicker .field-input .textbox,
    .field-element.field-element--datetimerangepicker .field-input .textbox {
        background-position: top -88px left 12px, top 0px left 40px;
    }

    /* White */
    .field-element.field-element--datetimepicker.field-element--white .field-input .textbox,
    .field-element.field-element--datetimerangepicker.field-element--white .field-input .textbox {
        background-position: top -88px left 12px, top 0 left 40px;
    }
}

/* BP medium */
@media only screen and (min-width: 62em) { /* 992px */
    /* Large */
    .field-element.field-element--datetimepicker.field-element--large .field-input .textbox,
    .field-element.field-element--datetimerangepicker.field-element--large .field-input .textbox {
        background-position: top -85px left 12px, top 0 left 40px;
    }
    /* White + Large */
    .field-element.field-element--datetimepicker.field-element--white.field-element--large .field-input .textbox,
    .field-element.field-element--datetimerangepicker.field-element--white.field-element--large .field-input .textbox {
        background-position: top -85px left 12px, top 0 left 40px;
    }
}


/* Container Appearance */
.daterangepicker,
.simpledaterangepicker {
    position: absolute;
    background: #fff;
    top: 100px;
    left: 20px;
    padding: 4px;
    margin-top: 2px;
    border-radius: 4px;
    width: 278px;
}

.daterangepicker.opensleft:before,
.simpledaterangepicker.opensleft:before {
    position: absolute;
    top: -7px;
    right: 9px;
    display: inline-block;
    border-right: 7px solid transparent;
    border-bottom: 7px solid #ccc;
    border-left: 7px solid transparent;
    border-bottom-color: rgba(0, 0, 0, 0.2);
    content: '';
}

.daterangepicker.opensleft:after,
.simpledaterangepicker.opensleft:after {
    position: absolute;
    top: -6px;
    right: 10px;
    display: inline-block;
    border-right: 6px solid transparent;
    border-bottom: 6px solid #fff;
    border-left: 6px solid transparent;
    content: '';
}

.daterangepicker.openscenter:before,
.simpledaterangepicker.openscenter:before {
    position: absolute;
    top: -7px;
    left: 0;
    right: 0;
    width: 0;
    margin-left: auto;
    margin-right: auto;
    display: inline-block;
    border-right: 7px solid transparent;
    border-bottom: 7px solid #ccc;
    border-left: 7px solid transparent;
    border-bottom-color: rgba(0, 0, 0, 0.2);
    content: '';
}

.daterangepicker.openscenter:after,
.simpledaterangepicker.openscenter:after {
    position: absolute;
    top: -6px;
    left: 0;
    right: 0;
    width: 0;
    margin-left: auto;
    margin-right: auto;
    display: inline-block;
    border-right: 6px solid transparent;
    border-bottom: 6px solid #fff;
    border-left: 6px solid transparent;
    content: '';
}

.daterangepicker.opensright:before,
.simpledaterangepicker.opensright:before {
    position: absolute;
    top: -7px;
    left: 9px;
    display: inline-block;
    border-right: 7px solid transparent;
    border-bottom: 7px solid #ccc;
    border-left: 7px solid transparent;
    border-bottom-color: rgba(0, 0, 0, 0.2);
    content: '';
}

.daterangepicker.opensright:after,
.simpledaterangepicker.opensright:after {
    position: absolute;
    top: -6px;
    left: 10px;
    display: inline-block;
    border-right: 6px solid transparent;
    border-bottom: 6px solid #fff;
    border-left: 6px solid transparent;
    content: '';
}

.daterangepicker.dropup,
.simpledaterangepicker.dropup {
    margin-top: -5px;
}

.daterangepicker.dropup:before,
.simpledaterangepicker.dropup:before {
    top: initial;
    bottom:-7px;
    border-bottom: initial;
    border-top: 7px solid #D7D7D7;
}

.daterangepicker.dropup:after,
.simpledaterangepicker.dropup:after {
    top: initial;
    bottom:-6px;
    border-bottom: initial;
    border-top: 6px solid #fff;
}

.daterangepicker.dropdown-menu,
.simpledaterangepicker.dropdown-menu {
    max-width: none;
    z-index: 3000;
    display: none;
    border: 1px solid #D7D7D7;
}

.daterangepicker.single .ranges,
.daterangepicker.single .calendar,
.simpledaterangepicker.single .ranges,
.simpledaterangepicker.single .calendar {
    float: none;
}

.daterangepicker .calendar,
.simpledaterangepicker .calendar {
    display: none;
    max-width: 270px;
    margin: 4px;
}

.daterangepicker.show-calendar .calendar,
.simpledaterangepicker.show-calendar .calendar {
    display: block;
}

.daterangepicker .calendar.single .calendar-table,
.simpledaterangepicker .calendar.single .calendar-table {
    border: none;
}

/* Calendars */
.daterangepicker .calendar th,
.daterangepicker .calendar td,
.simpledaterangepicker .calendar th,
.simpledaterangepicker .calendar td {
    white-space: nowrap;
    text-align: center;
    min-width: 32px;
    border: 1px solid #E8E8E8;
}

.daterangepicker .calendar-table,
.simpledaterangepicker .calendar-table {
    border: 1px solid #ddd;
    padding: 4px;
    border-radius: 4px;
    background: #fff;
}

.daterangepicker table,
.simpledaterangepicker table {
    width: 100%;
    margin: 0;
    border: none;
}

.daterangepicker td,
.daterangepicker th,
.simpledaterangepicker td,
.simpledaterangepicker th  {
    text-align: center;
    width: 20px;
    height: 20px;
    white-space: nowrap;
    padding: 2px;
}
.daterangepicker td,
.daterangepicker th.available,
.simpledaterangepicker td,
.simpledaterangepicker th.available {
    cursor: pointer;
}
.daterangepicker td.off,
.daterangepicker td.off.in-range,
.daterangepicker td.off.start-date,
.daterangepicker td.off.end-date,
.simpledaterangepicker td.off,
.simpledaterangepicker td.off.in-range,
.simpledaterangepicker td.off.start-date,
.simpledaterangepicker td.off.end-date {
    color: #999;
    background: #fff;
    border-color: #E8E8E8;
}
.daterangepicker td.off.in-range,
.simpledaterangepicker td.off.in-range {
    background-color: #F4FAFC;
}
.daterangepicker td.off.active,
.simpledaterangepicker td.off.active {
    background-color: #AAD8EA;
    color: #FFF;
}

.daterangepicker td.disabled,
.daterangepicker option.disabled,
.simpledaterangepicker td.disabled,
.simpledaterangepicker option.disabled {
    color: #999;
    cursor: not-allowed;
    text-decoration: line-through;
}

.daterangepicker td.available:hover,
.daterangepicker th.available:hover,
.simpledaterangepicker td.available:hover,
.simpledaterangepicker th.available:hover {
    background: #EAECF1;
}

.daterangepicker td.in-range,
.simpledaterangepicker td.in-range {
    background: #ebf4f8;
}

.daterangepicker td.active,
.daterangepicker td.active:hover,
.simpledaterangepicker td.active,
.simpledaterangepicker td.active:hover {
    background-color: #358AAB;
    border-color: #358AAB;
    color: #fff;
}

.daterangepicker td.week,
.daterangepicker th.week,
.simpledaterangepicker td.week,
.simpledaterangepicker th.week {
    font-size: 80%;
    color: #ccc;
}

.daterangepicker select.monthselect,
.daterangepicker select.yearselect,
.simpledaterangepicker select.monthselect,
.simpledaterangepicker select.yearselect {
    font-size: 12px;
    padding: 1px;
    height: auto;
    margin: 0;
    cursor: default;
}

.daterangepicker select.yearselect,
.daterangepicker select.monthselect,
.daterangepicker select.hourselect,
.daterangepicker select.minuteselect,
.daterangepicker select.secondselect,
.daterangepicker select.ampmselect,
.simpledaterangepicker select.yearselect,
.simpledaterangepicker select.monthselect,
.simpledaterangepicker select.hourselect,
.simpledaterangepicker select.minuteselect,
.simpledaterangepicker select.secondselect,
.simpledaterangepicker select.ampmselect {
    margin-bottom: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    width: 62px;
    background-color: #FFF;
    outline: none;
    border-radius: 5px;
    font-size: 1.4rem;
    line-height: 1.2;
    padding: 5px 23px 5px 8px;
    border: 1px solid #D7D7D7;
    background-image: url(../images/form-icons.svg),
    url(../images/form_icon--line-divider.svg);
    background-repeat: no-repeat, no-repeat;
    background-position: top -355px right -119px, top -607px right -115px;
}

.daterangepicker select.monthselect,
.simpledaterangepicker select.monthselect {
    margin-right: 2%;
    width: 40%;
}

.daterangepicker select.yearselect,
.simpledaterangepicker select.yearselect {
    width: 44%;
}

.daterangepicker th.month,
.simpledaterangepicker th.month {
    width: auto;
}

/* Previous/Next buttons */
.daterangepicker th.prev .daterangepicker-prev-icon,
.daterangepicker th.next .daterangepicker-next-icon,
.simpledaterangepicker th.prev .daterangepicker-prev-icon,
.simpledaterangepicker th.next .daterangepicker-next-icon {
    width: 11px;
    height: 17px;
    background-image: url(../images/form-icons.svg);
    background-repeat: no-repeat;
    display: block;
    margin: 0 auto;
}
.daterangepicker th.prev:hover,
.daterangepicker th.next:hover,
.simpledaterangepicker th.prev:hover,
.simpledaterangepicker th.next:hover {
    background: none;
    opacity: 0.8;
}
.daterangepicker th.prev .daterangepicker-prev-icon,
.simpledaterangepicker th.prev .daterangepicker-prev-icon {
    background-position: top -820px left 0px;
}
.daterangepicker th.next .daterangepicker-next-icon,
.simpledaterangepicker th.next .daterangepicker-next-icon {
    background-position: top -880px left 1px;
}

.daterangepicker th.prev,
.daterangepicker th.next,
.daterangepicker th.month,
.daterangepicker .calendar-table thead tr:first-child th,
.simpledaterangepicker th.prev,
.simpledaterangepicker th.next,
.simpledaterangepicker th.month,
.simpledaterangepicker .calendar-table thead tr:first-child th {
    border: none;
    background: none;
}

.daterangepicker .calendar-table thead tr:nth-child(2) th,
.simpledaterangepicker .calendar-table thead tr:nth-child(2) th {
    background-color: #F2F2F5;
}

/* Text Input Above Each Calendar */
.daterangepicker .input-mini,
.simpledaterangepicker .input-mini {
    border: 1px solid #ccc;
    border-radius: 4px;
    color: #555;
    display: block;
    height: 30px;
    line-height: 30px;
    vertical-align: middle;
    margin: 0 0 5px 0;
    padding: 0 6px 0 28px;
    width: 100%;
}

.daterangepicker .input-mini.active,
.simpledaterangepicker .input-mini.active {
    border: 1px solid #358AAB;
    background-color: rgb(255, 255, 238);
}

.daterangepicker .daterangepicker_input i,
.simpledaterangepicker .daterangepicker_input i {
    position: absolute;
    left: 8px;
    top: 7px;
    color: #596474;
}

.daterangepicker .daterangepicker_input,
.simpledaterangepicker .daterangepicker_input {
    position: relative;
}

/* Time Picker */
.daterangepicker .calendar-time,
.simpledaterangepicker .calendar-time {
    text-align: center;
    margin: 5px auto;
    line-height: 30px;
    position: relative;
}

.daterangepicker .calendar-time select.disabled,
.simpledaterangepicker .calendar-time select.disabled {
    color: #ccc;
    cursor: not-allowed;
}

/* Predefined Ranges */
.daterangepicker .ranges,
.simpledaterangepicker .ranges {
    font-size: 11px;
    float: none;
    margin: 4px;
    text-align: left;
}

.daterangepicker .applyBtn,
.simpledaterangepicker .applyBtn {
    background-color: #1b2243;
    color: #FFF;
}
.daterangepicker .applyBtn:hover,
.daterangepicker .applyBtn:focus,
.simpledaterangepicker .applyBtn:hover,
.simpledaterangepicker .applyBtn:focus {
    background-color: #2C9867;
    color: #FFF;
}

.daterangepicker .cancelBtn,
.simpledaterangepicker .cancelBtn {
    background-color: #D0D3DA;
    color: #24292F;
}
.daterangepicker .cancelBtn:hover,
.daterangepicker .cancelBtn:focus,
.simpledaterangepicker .cancelBtn:hover,
.simpledaterangepicker .cancelBtn:focus {
    background-color: #BCBFC5;
    color: #24292f;
}

.daterangepicker .ranges ul,
.simpledaterangepicker .ranges ul {
    list-style: none;
    margin: 0 auto 12px;
    padding: 0;
    width: 100%;
}

.daterangepicker .ranges li,
.simpledaterangepicker .ranges li {
    font-size: 1.3rem;
    background: #EAECF1;
    border: 1px solid #f5f5f5;
    color: #24292F;
    padding: 4px 12px 3px;
    margin-bottom: 7px;
    border-radius: 5px;
    cursor: pointer;
    line-height: 1.2;
}

.daterangepicker .ranges li.active,
.daterangepicker .ranges li:hover,
.simpledaterangepicker .ranges li.active,
.simpledaterangepicker .ranges li:hover {
    background: #358AAB;
    border: 1px solid #358AAB;
    color: #fff;
}

/* BP Smaller */
@media screen and (min-width: 35em) { /* 560px */
    .daterangepicker,
    .simpledaterangepicker {
        width: auto;
    }

    .daterangepicker .ranges ul,
    .simpledaterangepicker .ranges ul {
        width: 160px;
    }

    .daterangepicker.single .ranges ul,
    .simpledaterangepicker.single .ranges ul {
        width: 100%;
    }

    .daterangepicker .calendar.left .calendar-table {
        border-right: none;
        border-top-right-radius: 0;
        border-bottom-right-radius: 0;
    }
    .simpledaterangepicker .calendar.left .calendar-table {
        border: none;
    }

    .daterangepicker .calendar.right .calendar-table {
        border-left: none;
        border-top-left-radius: 0;
        border-bottom-left-radius: 0;
    }
    .simpledaterangepicker .calendar.right .calendar-table {
        border: none;
    }

    .daterangepicker .calendar.left,
    .simpledaterangepicker .calendar.left {
        clear: left;
        margin-right: 0;
    }

    .daterangepicker.single .calendar.left,
    .simpledaterangepicker.single .calendar.left {
        clear: none;
    }

    .daterangepicker.single .ranges,
    .daterangepicker.single .calendar,
    .simpledaterangepicker.single .ranges,
    .simpledaterangepicker.single .calendar {
        float:left;
    }

    .daterangepicker .calendar.right,
    .simpledaterangepicker .calendar.right {
        margin-left: 0;
    }

    .daterangepicker .left .daterangepicker_input {
        padding-right: 12px;
    }

    .daterangepicker .calendar.left .calendar-table
        padding-right: 12px;
    }

    .daterangepicker .ranges,
    .daterangepicker .calendar,
    .simpledaterangepicker .ranges,
    .simpledaterangepicker .calendar {
        float: left;
    }

}

/* BP small */
@media screen and (min-width: 48em) { /* 768px */
    .daterangepicker .ranges,
    .simpledaterangepicker .ranges {
        width: auto;
        float: left;
    }

    .daterangepicker .calendar.left,
    .simpledaterangepicker .calendar.left {
        clear: none;
    }
}


/* ---- Total selector ---- */
.field-element.field-element--totalselector {
    position: relative;
}
.field-element--totalselector .field-input .total-selector__output {
    cursor: pointer;
    background-image: url(../images/form-icons.svg), url(../images/form_icon--line-divider.svg);
    background-repeat: no-repeat, no-repeat;
}

/* Small */
.field-element.field-element--totalselector .field-input .total-selector__output,
.field-element.field-element--totalselector.field-element--small .field-input .total-selector__output {
    background-position: top -262px right -104px, top -447px right -92px;
}
.field-element.field-element--totalselector .field-input .total-selector__output,
.field-element.field-element--totalselector.field-element--small .field-input .total-selector__output,
.field-element.field-element--totalselector.field-element--large .field-input .total-selector__output {
    padding-right: 55px;
}


/* White + Small */
.field-element.field-element--totalselector.field-element--white .field-input .total-selector__output,
.field-element.field-element--totalselector.field-element--small.field-element--white .field-input .total-selector__output {
    background-position: top -262px right -104px, top -607px right -92px;
}

/* Responsive */
/* BP small */
@media screen and (min-width: 48em) { /* 768px */
    .field-element.field-element--totalselector .field-input .total-selector__output {
        background-position: top -257px right -104px, top -447px right -92px;
    }
    /* White */
    .field-element.field-element--totalselector.field-element--white .field-input .total-selector__output {
        background-position: top -257px right -104px, top -607px right -92px;
    }
}

/* BP medium */
@media only screen and (min-width: 62em) { /* 992px */
    /* Large */
    .field-element.field-element--totalselector.field-element--large .field-input .total-selector__output {
        background-position: top -253px right -104px, top -447px right -92px;
    }
    /* White + Large */
    .field-element.field-element--totalselector.field-element--large.field-element--white .field-input .total-selector__output {
        background-position: top -253px right -104px, top -607px right -92px;
    }
}



.field-element--totalselector__dropdown {
    position: absolute;
    background: #fff;
    top: 100%;
    left: 0;
    right: 0;
    padding: 20px 25px;
    margin-top: 2px;
    border-radius: 4px;
    z-index: 800;
    border: 1px solid #d1cfc9;
    display: none;
    white-space: nowrap;
}
.field-element--totalselector.field-element--totalselector--active .field-element--totalselector__dropdown {
    display: block;
}
.field-element--totalselector__dropdown:before {
    position: absolute;
    top: -7px;
    left: 14px;
    display: inline-block;
    border-right: 7px solid transparent;
    border-bottom: 7px solid #d1cfc9;
    border-left: 7px solid transparent;
    border-bottom-color: rgba(0, 0, 0, 0.2);
    content: '';
}
.field-element--totalselector__dropdown:after {
    position: absolute;
    top: -6px;
    left: 15px;
    display: inline-block;
    border-right: 6px solid transparent;
    border-bottom: 6px solid #fff;
    border-left: 6px solid transparent;
    content: '';
}

.total-selector__dropdown__field {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin: 0 0 11px;
}
.total-selector__dropdown__field:last-child {
    margin-bottom: 0;
}
.total-selector__dropdown__field__labels {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
}
.total-selector__dropdown__field__buttons {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
}
.total-selector__dropdown__field__button {
    -webkit-appearance: none;
    border: 1px solid #dcd9d1;
    border-radius: 4px;
    outline: none;
    background: none;
    padding: 0;
    height: 29px;
    width: 32px;
    color: #908b7e;
    cursor: pointer;
    font-size: 1.4rem;
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 auto;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    background-image: url(../images/form-icons.svg);
    background-repeat: no-repeat;
    background-position: top -1618px left 1px;
}
.total-selector__dropdown__field__button.total-selector__dropdown__field__button--decrease {
    background-position: top -1559px left 9px;
}
.total-selector__dropdown__field__button.total-selector__dropdown__field__button--increase {
    background-position: top -1534px left 9px;
}

.total-selector__dropdown__field__button:focus {
    color: #a29e94;
    border-color: #a29e94;
}
.total-selector__dropdown__field__button:hover {
    color: #908b7e;
    border-color: #908b7e;
}

/* Min / max */
.total-selector__dropdown__field__button.total-selector__dropdown__field__button--min,
.total-selector__dropdown__field__button.total-selector__dropdown__field__button--max {
    opacity: 0.5;
    pointer-events: none;
    color: #908b7e;
    border-color: #dcd9d1;
}

.total-selector__dropdown__field__total {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    padding: 3px 5px;
    width: 50px;
    text-align: center;
    font-size: 1.8rem;
}
.total-selector__dropdown__field__labels p {
    display: inline-block;
    margin-right: 8px;
}
.total-selector__dropdown__field__labels__title {
    margin: 0;
    font-size: 1.6rem;
}
.total-selector__dropdown__field__labels__helper {
    margin: 0;
    font-size: 1.6rem;
}
.field-element--totalselector__fields {
    display: none;
}

/* Done button */
.total-selector__dropdown__close__button-wrap {
    text-align: right;
    padding-top: 10px;
}

/* BP Extra small */
@media only screen and (min-width: 37.5em) { /* 600px */
    .field-element--totalselector__dropdown {
        right: auto;
    }
    .total-selector__dropdown__field__labels p {
        display: block;
        margin-right: 28px;
    }
    .total-selector__dropdown__field {
        margin: 0 0 23px;
    }
}

/* BP Small */
@media only screen and (min-width: 48.063em) { /* 769px */
    /* Don't really need this close button above tablet */
    .total-selector__dropdown__close__button-wrap {
        display: none;
    }
}


/* ---- File upload area ---- */
.file-upload__input {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}
.file-upload__helptext {
    padding-top: 14px;
}
.file-upload__helptext--hidden {
    display: none;
}
.file-upload__helptext__line2 {
    display: block;
    font-size: 1.3rem;
}
.file-upload__helptext p {
    margin: 0;
}
.file-upload__helptext:before {
    content: " ";
    display: block;
    width: 27px;
    height: 32px;
    background-image: url(../images/form-icons.svg);
    background-repeat: no-repeat;
    background-position: 0 -1317px;
    margin: 0 auto 10px;
}

.file-upload__area {
    cursor: pointer;
    text-align: center;
}
.field-input .textbox.file-upload__area--dragenter {
    border-color: #1b2243;
}

.file-upload__uploads:before,
.file-upload__uploads:after {
    content: " ";
    display: table;
}

.file-upload__uploads:after {
    clear: both;
}
.file-upload__item,
.file-upload__helptext {
    height: 110px;
    margin-top: 8px;
    margin-bottom: 8px;
}
.file-upload__item {
    background-color: #FFF;
    border: 1px solid #D7D7D7;
    width: 110px;
    display: inline-block;
    margin-left: 6px;
    margin-right: 6px;
    position: relative;
    cursor: default;
    vertical-align: top;
}

.file-upload__item__remove {
    -webkit-appearance: none;
    padding: 0;
    outline: none;
    border: none;
    background: none;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 1;
    background: rgba(0, 0, 0, 0.3);
}
.file-upload__item__remove:hover,
.file-upload__item__remove:focus {
    background: rgba(0, 0, 0, 0.7);
}

.file-upload__item__remove:after {
    content: " ";
    display: block;
    width: 17px;
    height: 17px;
    background-image: url(../images/form-icons.svg);
    background-repeat: no-repeat;
    background-position: 3px -938px;
}
.file-upload__item__remove__text {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

/* Feedback */
.file-upload__item__feedback__response {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}

.file-upload__item__feedback__response p {
    white-space: nowrap;
    -o-text-overflow: ellipsis;
       text-overflow: ellipsis;
    overflow: hidden;
    margin: 0;
}

/* Not image response */
.file-upload__item__feedback__response .file-upload__item__feedback__name {
    font-size: 1.2rem;
    margin: 0 0 5px;
}
.file-upload__item__feedback__size {
    font-size: 1.1rem;
    margin: 0;
}
.file-upload__item__feedback__response--success--not-image {
    padding: 26px 15px 20px;
}
.file-upload__item__feedback__response--success--not-image:before {
    content: " ";
    display: block;
    width: 28px;
    height: 24px;
    background-image: url(../images/form-icons.svg);
    background-repeat: no-repeat;
    background-position: 0px -1396px;
    margin: 0 auto 10px;
}

/* Image response */
.file-upload__item__feedback__image {
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center center;
}

/* Error */
.file-upload__item__feedback__response--error {
    padding: 25px 15px 20px;
}
.file-upload__item__feedback__response .file-upload__item__feedback__error__text {
    font-size: 1.2rem;
    white-space: normal;
    overflow: visible;
}
.file-upload__item__feedback__response--error:before {
    content: " ";
    display: block;
    width: 23px;
    height: 24px;
    background-image: url(../images/form-icons.svg);
    background-repeat: no-repeat;
    background-position: 0px -1473px;
    margin: 0 auto 10px;
}

/* Hover */
.file-upload__item__feedback__hover {
    opacity: 0;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0,0,0,0.5);
    color: #FFF;
    padding: 33px 15px 20px;
    overflow: hidden;
}
.file-upload__item:hover .file-upload__item__feedback__hover {
    opacity: 1;
}
.file-upload__item__feedback__hover__size {
    font-size: 1.1rem;
}
.file-upload__item__feedback__hover__dimensions {
    font-size: 1.1rem;
}
.file-upload__item__feedback__hover .file-upload__item__feedback__hover__name {
    font-size: 1.1rem;
    margin-bottom: 6px;
}

/* Progress circles */
.file-upload__progress-circle {
    position: relative;
    font-size: 1.3rem;
    line-height: 1.1;
    display: block;
    width: 56px;
    height: 56px;
    padding: 21px 0 0 0;
    margin: 26px auto 0;
    text-align: center;
}
.file-upload__progress-circle__amount {
    z-index: 1;
    position: relative;
}
.file-upload__progress-circle__pie {
    -webkit-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    transform: rotate(-90deg);
    border-radius: 50%;
    position: absolute;
    top: 0;
    left: 0;
}
.file-upload__progress-circle__pie__piece {
    -webkit-transition: all 100ms ease-in-out;
    -o-transition: all 100ms ease-in-out;
    transition: all 100ms ease-in-out;
}



/* ---- File selector ---- */
.field-element--fileselector .fs-select-button {
    float: left;
    margin-right: 9px;
}

.field-element--fileselector .fs-preview-wrapper {
    background-color: #EEF0F3;
    position: relative;
    overflow: hidden;
    display: block;
}

.field-element--fileselector .fs-filename {
    padding: 10px 15px;
    word-break: break-all;
    overflow: hidden;
    display: block;
}
.field-element--fileselector .fs-file-selected .fs-filename {
    padding-left: 10px;
    padding-right: 38px;
}

.field-element--fileselector .fs-preview {
    width: 39px;
    display: none;
    float: left;
}
.field-element--fileselector .fs-file-selected .fs-preview {
    display: block;
}

.field-element--fileselector .fs-remove {
    display: none;
    -webkit-appearance: none;
    outline: none;
    border: none;
    background: none;
    padding: 0;
    color: #D4D7DE;
    position: absolute;
    right: 6px;
    top: 9px;
    background-image: url(../images/form-icons.svg);
    background-repeat: no-repeat;
    background-position: top -1075px left 3px;
    width: 22px;
    height: 22px;
}
.field-element--fileselector .fs-remove:hover,
.field-element--fileselector .fs-remove:focus {background-position: top -1135px left 3px;}
.field-element--fileselector .fs-file-selected .fs-remove {
    display: block;
}


/* Small */
.field-element--fileselector.field-element--small .fs-preview {
    width: 30px;
}
.field-element--fileselector.field-element--small .fs-filename {
    padding-top: 8px;
    padding-bottom: 6px;
    font-size: 1.4rem;
}
.field-element--fileselector.field-element--small .fs-remove {
    top: 6px;
    background-position: top -964px left 3px;
    width: 20px;
    height: 20px;
}
.field-element--fileselector.field-element--small .fs-remove:hover,
.field-element--fileselector.field-element--small .fs-remove:focus {
    background-position: top -1023px left 3px;
}
.field-element--fileselector.field-element--small .fs-file-selected .fs-filename {
    padding-right: 31px;
}

/* Large */
.field-element--fileselector.field-element--large .fs-preview {
    width: 48px;
}
.field-element--fileselector.field-element--large .fs-filename {
    padding-top: 13px;
    padding-bottom: 13px;
    padding-left: 25px;
    padding-right: 25px;
    font-size: 1.8rem;
}
.field-element--fileselector.field-element--large .fs-remove {
    top: 14px;
    right: 9px;
}
.field-element--fileselector.field-element--large .fs-file-selected .fs-filename {
    padding-right: 41px;
    padding-left: 20px;
}

/* Popup */
.file-selector-search-wrapper  {
    display: none;
}
.file-selector-search-wrapper.searched  {
    display: block;
}
#file-selector-preview {
    display: block;
    background: #f9f9fb;
    border: 1px solid #E0E3EA;
    margin: 0 0 20px;
    position: relative;
    padding: 20px 25px;
}
.no-results #file-selector-preview {
    display: none;
}
#file-selector-preview .preview-title {
    margin: 0 0 12px;
}
#file-selector-preview .preview-box {
    position: relative;
    height: 150px;
}
#file-selector-preview img {
    position: absolute;
    top: 50%;
    left: 50%;
    margin-right: -50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    margin: 0 auto;
    display: block;
}

#file-selector-upload .field-element--new-category,
#file-selector-upload.new-category .field-element--select-category {
    display: none;
}
#file-selector-upload.new-category .field-element--new-category,
#file-selector-upload .field-element--select-category {
    display: block;
}

#file-selector-result-wrap {
    max-height: 450px;
    overflow: auto;
    border-top: 1px solid #D7D7D7;
    border-bottom: 1px solid #D7D7D7;
}
#file-selector-upload .field-elements-inline,
#file-selector-search .field-elements-inline {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
}
#file-selector-upload .field-elements-inline .field-element--dropdown,
#file-selector-search .field-elements-inline .field-element--dropdown {
    -webkit-flex-grow: 1;
    -ms-flex-positive: 1;
    -webkit-box-flex: 1;
            flex-grow: 1;
}
#file-selector-upload .field-elements-inline .field-element--text,
#file-selector-search .field-elements-inline .field-element--text {
    -webkit-flex-grow: 1;
    -ms-flex-positive: 1;
    -webkit-box-flex: 1;
            flex-grow: 1;
}

#file-selector-stats {
    font-size: 1.6rem;
    margin-bottom: 14px;
}
#file-selector-results .file-select-table {
    margin: 0;
    width: 100%;
    border-left: 1px solid #E0E3EA;
    border-right: 1px solid #E0E3EA;
}
#file-selector-results .file-select-table tr {
    border-bottom: 1px solid #D7D7D7;
    cursor: pointer;
}
#file-selector-results .file-select-table tr:last-child {
    border-bottom: 0;
}
#file-selector-results .file-select-table tr:nth-child(odd) {
    background-color: #f9f9fb;
}

/* Hover */
#file-selector-results .file-select-table tr:hover {
    background-color: #ECE9E9;
}

#file-selector-paginate {
    margin-top: 16px;
}
#file-selector-prev {
    float: left;
}
#file-selector-next {
    float: right;
}
#file-selector-results a {
    text-decoration: none;
    color: inherit;
    display: block;
}
#file-selector-results .file-select-table-thumbnail {
    width: 100px;
    padding: 5px 20px;
}
#file-selector-results .file-select-table-text a {
    padding: 27px 25px 27px 0;
}
#file-selector-results .table--content-standard tr:hover td {
    background-color: red;
}

/* ---- Autocomplete ---- */
.ui-autocomplete {
    list-style: none;
    background: #FFFFFF;
    max-height: 400px;
    overflow-y: auto;
    border: 1px solid #D7D7D7;
    border-radius: 4px;
    padding: 3px 0;
    margin: 0;
}
.ui-autocomplete .ui-menu-item {
    padding: 5px 11px;
    cursor: pointer;
}
.ui-autocomplete .ui-menu-item.ui-state-focus {
    padding: 5px 11px;
    background: #358AAB;
    color: #FFF;
}


/* ---- Lightweight elements ---- */
.field-element--lightweight {
    margin: 0;
}


/* ---- TinyMCE tweaks ---- */
.mce-panel {
    border-color: #D7D7D7 !important;
}
.mce-toolbar-grp,
.mce-flow-layout {
    background-color: #EAECF1 !important;
}
.mce-tinymce{
    border-radius: 5px !important;
    overflow: hidden !important;
}
.mce-btn {
    border: 1px solid #EAECF1 !important;
    background-color: #EAECF1 !important;
}
.mce-btn:hover,
.mce-btn:focus{
    color: #333;
    background-color: #DDE0E6 !important;
    border-color: #C6CAD2 !important;
}
.mce-btn.mce-active,
.mce-btn.mce-active:hover{
    background-color: #D7D7D7 !important;
    border-color: #B5B8C1 !important;
}
.mce-btn:active{
    background-color:#D7D7D7 !important;
    border-color: #ccc !important;
}
.mce-menu-item:hover, .mce-menu-item.mce-selected, .mce-menu-item:focus {
    background-color: #358AAB !important;
    color: #FFF !important;
}


/* ---- Submit Bar ---- */
.submit-bar {
    text-align: right;
    background: #f3f3f3;
    padding: 15px;
    margin: 15px 0;
}
.sidebar__bg {
    margin-top: 32px;
    padding-top: 32px;
}
.sidebar .submit-bar {
    padding: 10px 0;
}

.submit-bar a {
    margin-right: 20px;
}
/* BP medium */
@media only screen and (min-width: 62em) { /* 992px */
    .sidebar__bg {
        margin-top: 0;
        padding-top: 0;
    }
}

/* ---- Search Form ---- */
.site-search-form {
    margin: 0 0 40px;
}
.search-result {
    border-top: 1px solid #D7D7D7;
    margin: 20px 0;
    padding: 20px 0;
}
.search-result p:last-child {
    margin-bottom: 0;
}


/* ---- Search pagination ---- */
.search-paginate {
    padding: 10px 0;
    text-align: center;
}
.search-paginate .page-prev {
    margin: 0 8px 0 0;
}
.search-paginate .page {
    padding: 2px 9px;
    margin: 0 3px;
    background: #D7D7D7;
    border: 1px #e85505 solid;
    text-decoration: none;
}
.search-paginate .page.on {
    color: #000;
    border-color: #000;
}
.search-paginate .page-next {
    margin: 0 0 0 8px;
}


/* ---- Captcha ---- */
.captcha {
    background-color: #f3f3f3;
    padding: 10px;
    width: 100%;
    border: 1px solid #D7D7D7;
}

.captcha .captcha-info, .captcha .info {
    float: right;
    padding-bottom: 8px;
}
.captcha .captcha-info, .captcha .info a {
    text-decoration: none;
}
.captcha .captcha-info .captcha-icon {
    width: 16px;
    height: 16px;
    margin-bottom: 16px;
}

.captcha .captcha-img {
    width: 200px;
    margin-bottom: 10px;
}

.captcha .captcha-input {
    width: 200px;
}


/* ------------------------------------------------------
**** Tables
------------------------------------------------------ */

table {
    border-collapse: collapse;
    border: 1px solid #d7d7d7;
}

th,
td {
    padding: 5px 10px;
    border: 1px solid #d7d7d7;
}

th,
thead td {
    background: #f3f3f3;
}

/* ---- Content tables ---- */
.table--content-standard {
    width: 100%;
    margin: 2rem 0;
}
.table--content-standard caption {
    text-align: left;
    padding-bottom: 13px;
}
.table--content-standard th,
.table--content-standard thead td {
    font-weight: bold;
    background-color: #F0F0F0;
    font-size: 1.7rem;
}
.table--content-standard.race-data th,
.table--content-standard.race-data thead td {
    background-color: #007b92;
    color: #fff;
}
.table--content-standard.race-data tfoot td {
    background-color: #00a99b;
    font-weight: bold;
}
.table--content-standard td {
    background-color: #FFF;
}
.table--content-standard.race-data tr:nth-child(even) td {
    background-color: #F0F0F0;
}
.table--content-standard th,
.table--content-standard td {
    border: 1px solid #d7d7d7;
    padding: 12px 15px;
    text-align: left;
}


/* Small */
.table--content-standard.table--content-small {
    font-size: 1.3rem;
}
.table--content-standard.table--content-small th,
.table--content-standard.table--content-small td {
    padding: 5px 10px;
}
.table--content-standard.table--content-small th,
.table--content-standard.table--content-small thead td {
    font-size: 1.4rem;
}

/* ---- Responsive tables ---- */
@media only screen and (max-width: 600px) {
    .table--responsive {
        font-size: 1.4rem;
    }
    .table--responsive,
    .table--responsive tbody,
    .table--responsive tr {
        display: block;
        border: none;
    }
    .table--responsive thead,
    .table--responsive th {
        display: none;
    }
    .table--responsive tr {
        display: table;
        width: 100%;
    }
    .table--responsive tr.table--responsive__first-row {
        display: none;
    }
    .table--responsive td {
        display: table-row;
        padding: 0;
    }
    .table--responsive td[data-title]:before {
        content: attr(data-title);
        font-weight: bold;
        background-color: #F0F0F0;
        border-right: 1px solid #d7d7d7;
    }
    .table--responsive td[data-title] {
        border-left: 1px solid #d7d7d7;
        border-right: 1px solid #d7d7d7;
        border-top: 1px solid #d7d7d7;
    }
    .table--responsive tbody tr {
        margin-bottom: 20px;
        border-bottom: 1px solid #d7d7d7;
    }
    .table--responsive td[data-title]:before,
    .table--responsive__content {
        padding: 5px 15px;
        display: table-cell;
    }

}

/* ---- No Styles Table ---- */
.table__no-styles {
    border-collapse: separate !important;
    border: none !important;
    background: none !important;
    min-width: 0 !important;
}

.table__no-styles th,
.table__no-styles thead td,
.table__no-styles td {
    padding: 0 !important;
    border: 0 !important;
    background: none !important;
}




/* ------------------------------------------------------
**** Helper classes
------------------------------------------------------ */

/* ---- Clearfix ---- */
.clear {
    height: 0;
    clear: both;
    display: block;
}

.-clearfix:before,
.-clearfix:after {
    content: " ";
    display: table;
}

.-clearfix:after {
    clear: both;
}


/* ---- Hiding classes ---- */
.-ir {
    background-color: transparent;
    border: 0;
    overflow: hidden;
}

.-ir:before {
    content: "";
    display: block;
    width: 0;
    height: 150%;
}

.-hidden {
    display: none !important;
    visibility: hidden;
}

.-vis-hidden {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

.-vis-hidden.focusable:active,
.-vis-hidden.focusable:focus {
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    width: auto;
}

.-invisible {
    visibility: hidden;
}

/* ---- Pseudo elements ---- */

/* Angle Brackets */
.-r-arrow-after:after {
    content: "\00a0\003e";
}
.-r-arrow-before:before {
    content: "\003e\00a0";
}
.-l-arrow-after:after {
    content: "\00a0\003c";
}
.-l-arrow-before:before {
    content: "\003c\00a0";
}

/* Ellipsis */
.ellipsis-2:after {
    content: "..";
}
.ellipsis-3:after {
    content: "...";
}

/* ---- Floats and positioning ---- */

.left,
.center,
.right {
    margin: 30px auto;
    display: block;
}


/* BP Smaller */
@media screen and (min-width: 35em) { /* 560px */
    .left {
        margin: 0 30px 30px 0;
        float: left;
    }

    .right {
        margin: 0 0 30px 30px;
        float: right;
    }
}

/* ------------------------------------------------------
**** Template Layout
------------------------------------------------------ */

* {
    margin: 0;
}

html,
body {
    background: #FFF;
    height: 100%;
}

#wrap {
    margin: 0 auto;
    position: relative;
    overflow: hidden;
    min-height: 100%;
}


/* ---- Container ---- */
.container {
    width: 88%;
    max-width: 1140px;
    margin: 0 auto;
}

.container--large {
    width: 91%;
    max-width: 1324px;
    margin: 0 auto;
}

/* BP small */
@media screen and (min-width: 48em) { /* 768px */
    .container {
        width: 92%;
    }
    .container--large {
        width: 94%;
    }
}

/* ---- Simple content alignment classes ---- */

/*

For use fix flexgrid or when you don't need anything else
The breakpoints align with flexgrid breakpoints

*/

/* - Right - */

.col--right-align {
    text-align: right;
}

/* BP small */
@media screen and (min-width: 48em) { /* 768px */
    .col-sm--right-align {
        text-align: right;
    }
}

/* BP medium */
@media only screen and (min-width: 62em) { /* 992px */
    .col-md--right-align {
        text-align: right;
    }
}

/* BP large */
@media only screen and (min-width: 75em) { /* 1200px */
    .col-lg--right-align {
        text-align: right;
    }
}

/* - Left - */

.col--left-align {
    text-align: left;
}

/* BP small */
@media screen and (min-width: 48em) { /* 768px */
    .col-sm--left-align {
        text-align: left;
    }
}

/* BP medium */
@media only screen and (min-width: 62em) { /* 992px */
    .col-md--left-align {
        text-align: left;
    }
}

/* BP large */
@media only screen and (min-width: 75em) { /* 1200px */
    .col-lg--left-align {
        text-align: left;
    }
}


/* ---- Sections ---- */
.section {
    padding-top: 24px;
    padding-bottom: 24px;
}

/* Small */
.section--small {
    padding-top: 16px;
    padding-bottom: 16px;
}

/* Large */
.section--large {
    padding-top: 40px;
    padding-bottom: 40px;
}

@media screen and (min-width: 23.75em) { /* 380px */
    .section {
        padding-top: 32px;
        padding-bottom: 32px;
    }
    .section--small {
        padding-top: 24px;
        padding-bottom: 24px;
    }
    .section--large {
        padding-top: 48px;
        padding-bottom: 48px;
    }
}
/* BP small */
@media screen and (min-width: 48em) { /* 768px */
    .section {
        padding-top: 64px;
        padding-bottom: 64px;
    }
    .section--small {
        padding-top: 32px;
        padding-bottom: 32px;
    }
    .section--large {
        padding-top: 80px;
        padding-bottom: 80px;
    }
}

/* ---- Blocks ---- */

/* like sections, but using margin instead of padding */

.block {
    margin-top: 20px;
    margin-bottom: 20px;
}

.block-mb {
    margin-bottom: 20px;
}

.block-large {
    margin-top: 20px;
    margin-bottom: 20px;
}

.block-mb-large {
    margin-bottom: 20px;
}

@media screen and (min-width: 23.75em) { /* 380px */
    .block-large {
        margin-top: 25px;
        margin-bottom: 25px;
    }

    .block-mb-large {
        margin-bottom: 25px;
    }
}
/* BP small */
@media screen and (min-width: 48em) { /* 768px */
    .block-large {
        margin-top: 30px;
        margin-bottom: 30px;
    }

    .block-mb-large {
        margin-bottom: 30px;
    }
}


/* ---- Content Box ---- */

.box {
    padding: 20px 15px;
}

@media screen and (min-width: 23.75em) { /* 380px */
    .box {
        padding: 20px;
    }
}
/* BP small */
@media screen and (min-width: 48em) { /* 768px */
    .box {
        padding: 30px;
    }
}

.box > *:last-child {
    margin-bottom: 0;
}

/* ---- Header ---- */
:root {
    --header-transition: 300ms ease;
}
.section--header {
    padding: 20px 0;
    transition: all var(--header-transition);
    border-bottom: 1px solid rgba(215, 215, 215, 1);
    position: relative;
    z-index: 99;
}
.header__logo {
    width: 140px;
    margin-left: auto;
    margin-right: auto;
    transition: width var(--header-transition);
}
.header__logo a {
    display: block;
    transition: all var(--header-transition);
}
.header__logo img {
    height: 72px;
    width: calc(72px * 1.9185520362);
    transition:
        height var(--header-transition),
        width var(--header-transition);
}
.header__social-media {
    display: none;
    padding-left: 10px;
}
.header__social-media__link {
    float: right;
    display: inline-block;
    padding-left: 4px;
}
.header__social-media__link:last-child {
    padding-right: 0;
}
.header__social-media__item {
    display: inline-block;
    width: 36px;
    height: 36px;
    border-radius: 18px;
    border: 1px solid #D7D7D7;
    -webkit-transition: all 250ms ease-in-out;
    -o-transition: all 250ms ease-in-out;
    transition: all 250ms ease-in-out;
}
.header__social-media__item:hover {
    background-color: rgba(215, 215, 215, 0.5);
}
.header__social-media__item__img--twitter {
    width: 24px;
    margin: 9px 5px;
}

.header__social-media__item__img--youtube {
    width: 20px;
    margin: 10px 7px;
}

.section--pre-header {
    display: none;
    position: relative;
    padding: 20px 0 10px;
    border-bottom: 1px solid #D7D7D7;
}

.header__pre-header p {
    margin-bottom: 0;
    position: relative;
    top: -12px;
}

.header__pre-header__title {
    font-family: D-DIN, 'PT Sans', sans-serif;
    text-transform: uppercase;
    font-size: 0.9em;
    font-weight: 600;
    color: #8D8C8D;
    display: none;
}
.header__pre-header a {
    display: block;
    color: #8D8C8D;
    text-decoration: none;
    font-size: 1.6rem;
    margin: 10px;
}

.header__pre-header a:hover span,
.header__pre-header a:focus span {
    border-bottom: 1px solid #D7D7D7;
}

/* BP small */
@media screen and (min-width: 48em) { /* 768px */
    .pageHasScrolled .section--header {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        z-index: 99;
        padding: 0;
    }
    .pageHasScrolled .header__logo {
        width: auto;
        height: 60px;
        padding: 4px 0;
    }
    .pageHasScrolled .header__logo a {
        display: unset;
    }
    .pageHasScrolled .header__logo img {
        height: 56px;
        width: calc(56px * 1.9185520362);
    }
    .header__logo {
        margin-left: 0;
        margin-right: 0;
        width: auto;
    }
    .section--pre-header {
        display: block;
    }
    .header__pre-header {
        display: inline-block;
    }
    .header__social-media {
        display: inline-block;
    }
    .header__pre-header a {
        display: inline-block;
        margin: 0;
    }
    .header__pre-header a:after {
        content: " |";
        padding: 0 2px;
    }
    .header__pre-header a:last-child::after {
        content: none;
    }
    .header__pre-header a .invisble-sm {
        display: none;
    }
    .header__pre-header a:hover span.invisble-sm,
    .header__pre-header a:focus span.invisble-sm {
        border-bottom: none;
    }
    .header__pre-header__title {
        display: inline-block;
    }
}

@media only screen and (min-width: 62em) { /* 992px */
    .header__logo img {
        height: 110px;
        width: calc(110px * 1.9185520362);
    }
    .header__pre-header a .invisble-sm {
        display: inline-block;
    }
    .header__pre-header__title {
        display: none;
    }
    .section--pre-header {
        padding-bottom: 12px;
    }
    .header__pre-header p {
        top: 0;
    }
    .header__social-media {
        display: inline-block;
        padding: 14px 0;
    }
}

@media only screen and (min-width: 75em) { /* 1200px */
    .header__logo {
        width: 211px;
    }
    .header__social-media__item {
        width: 56px;
        height: 56px;
        border-radius: 28px;
    }
    .header__social-media__item__img--twitter {
        width: 34px;
        margin: 16px 11px;
    }

    .header__social-media__item__img--youtube {
        width: 30px;
        margin: 16px 13px;
    }
    .header__social-media {
        padding-top: 26px;
    }
}
/* ---- Nav ---- */
.section--nav {
    padding-top: 0;
    padding-bottom: 0;
}

/* ---- Next Meet ---- */
.section--next-meet {
    padding: 20px 0;
    font-family: D-DIN, 'PT Sans', sans-serif;
    position: relative;
}

.next-meet__info {
    display: block;
    width: 100%;
}

.next-meet__info p {
    margin-bottom: 0;
    font-size: 1.6rem;
    line-height: 25px;
    font-weight: bold;
}
.next-meet__info span:after {
    content: "";
    display: inline-block;
    height: 12px;
    width: 10px;
    background: url(../images/icon_arrow--right.svg) no-repeat center center;
    margin-left: 8px;
    margin-right: 4px;
}
.next-meet__info span:last-child::after {
    content: none;
}
.next-meet__info__title {
    text-transform: uppercase;
}

.next-meet__conditions {
    display: none;
    float: right;
    font-weight: 600;
    text-align: center;
    width: 100%;
}

.next-meet__conditions__item {
    position: relative;
    margin: 0 8px;
}
.next-meet__conditions__item .icon-weather {
    position: absolute;
    left: -42px;
    top: -10px;
}

.next-meet__conditions__item:after {
    content: " ";
    width: 2px;
    height: 36px;
    background-color: #fff;
    position: absolute;
    right: -8px;
    top: -8px;
}

.next-meet__conditions__item:last-child {
    margin-right: 0;
}

.next-meet__conditions__item:last-child::after {
    content: none;
}
.section--next-meet .icon-weather svg{
    height: 40px;
    width: 40px;
    display: inline-block;
    float: left;
}
.section--next-meet .icon-weather svg g{
    stroke: #fff;
}
.section--next-meet .icon-moisture {
    height: 23px;
    width: auto;
}
.next-meet__conditions__item__evaluation {
    text-transform: uppercase;
}
.next-meet__conditions__item__pretitle,
.next-meet__conditions__item__posttitle {
    font-size: 0.5em;
    position: absolute;
    top: -10px;
}
.next-meet__conditions__item__posttitle {
    right: -14px;
    top: 0;
}
.next-meet__conditions__item--moisture {
    margin-right: 24px;
}
.next-meet__conditions__item--moisture:after {
    right: -24px;
}
.next-meet__conditions__item--link {
    display: none;
}
.next-meet__link--mobile {
    margin-bottom: 0;
}
a.next-meet__link {
    color: rgba(255,255,255,1);
    position: relative;
    font-size: 1.6rem;
}
.next-meet__link__arrow {
    margin-left: 0.25em;
    position: relative;
}
.next-meet__link__arrow svg {
    height: 12px;
    width: 10px;
    position: absolute;
    opacity: 1;
}
a.next-meet__link svg path {
    stroke: #fff;
}
a.next-meet__link svg {
    height: 12px;
    width: 8px;
    left: 100%;
    top: 1px;
    opacity: 0.5;
}
a.next-meet__link:hover svg {
    opacity: 1;
    -webkit-animation: arrows-slide .300s cubic-bezier(0.400, -0.105, 0.590, 1.140) normal;
            animation: arrows-slide .300s cubic-bezier(0.400, -0.105, 0.590, 1.140) normal;
    -webkit-animation-fill-mode: both;
            animation-fill-mode: both;
}
a.next-meet__link:hover svg path,
a.next-meet__link:focus svg path,
a.next-meet__link:active svg path {
    stroke: #fff;
    opacity: 1;
}
a.next-meet__link:hover {
    color: rgba(255,255,255,1);
}
a.next-meet__link:hover::before {
    opacity: 1;
}
@media screen and (min-width: 48em) { /* 768px */
    .section--next-meet {
        display: block;
    }
    .section--next-meet::before {
        content: none;
    }
    .next-meet__info {
        display: inline-block;
        width: auto;
        padding-bottom: 0;
    }
    .next-meet__info p {
        font-size: 1.8rem;
        line-height: 1.4;
        font-weight: normal;
    }
    .next-meet__conditions {
        display: inline-block;
        text-align: left;
        width: auto;
        font-size: 1.8rem;
    }
    .next-meet__link--mobile {
        display: none;
    }
    .next-meet__conditions__item--link {
        display: inline-block;
    }
    .next-meet__link--desktop {
        white-space: nowrap;
        margin-bottom: 0;
    }
    .next-meet__link--desktop a.next-meet__link {
        font-size: 1.6rem;
        opacity: 0.5;
    }
    .next-meet__link--desktop a.next-meet__link svg {
        height: 16px;
        height: 1em;
        left: 100%;
        opacity: 1;
    }
    .next-meet__link--desktop a.next-meet__link:hover {
        opacity: 1;
    }
}

/* BP medium */
@media only screen and (min-width: 62em) { /* 992px */
    .section--next-meet {
        font-size: 2.2rem;
    }
    .next-meet__link--desktop a.next-meet__link {
        font-size: 2.2rem;
    }
    .next-meet__link--desktop a.next-meet__link svg {
        height: 22px;
        height: 1em;
        width: 12px;
        top: 0;
    }
}

/* ---- Footer ---- */
.footer__text {
    padding-top: 9px;
}
.section--pre-footer p,
.section--pre-footer ul {
    font-size: 1.4rem;
}
.section--pre-footer h2 {
    font-size: 2.4rem;
}
.footer__text p {
    margin: 0;
    display: inline;
    font-size: 1.4rem;
}
.footer__text__item {
    color: #fff;
    opacity: 0.5;
}
.footer__text p:before {
    content: " | ";
    opacity: 0.5;
}
.footer__text p:first-child:before {
    content: none;
}
.footer__text p a {
    color: #fff;
    text-decoration: none;
    opacity: 0.5;
    -webkit-transition: opacity 250ms ease-in-out;
    -o-transition: opacity 250ms ease-in-out;
    transition: opacity 250ms ease-in-out;
}
.footer__text p a:hover {
    opacity: 0.8;
}
.footer-subtitle {
    color: #1b2243;
}
.footer__contact__address .footer-subtitle,
.footer__contact__numbers .footer-subtitle:first-child {
    display: block;
    margin-bottom: 0.25em;
}
.footer__contact__numbers a {
    text-decoration: none;
}
.button.button--footer {
    color: #1b2243;
    padding: 8px 48px 8px;
    margin-top: 1em;
}
.button--footer svg {
    height: 11px;
}
.button--footer svg path{
    stroke: #1b2243;
}
.button.button--footer:hover,
.button.button--footer:focus  {
    border: 1px solid #fff;
    color: #004d72;
    background-color: #fff;
}
.button--footer svg path{
    stroke: #1b2243;
}
.button.button--footer:hover svg path,
.button.button--footer:focus svg path {
    stroke: #004d72;
}
.footer__quicklinks h2{
    text-align: center;
}
.footer__news-contact {
    text-align: center;
}
.footer__quicklinks .block-list {
    margin-bottom: 0;
}
.footer__quicklinks,
.footer__news-contact .row>div {
    margin-bottom: 2.4em;
}
.footer__news-contact .row>div:last-child {
    margin-bottom: 0;
}
.footer__contact__numbers {
    margin-top: 1em;
}
.footer__news-contact .field-element {
    position: relative;
    width: 100%;
}
.footer__news-contact .field-element .field-input .textbox,
.footer__news-contact .field-element .field-input select,
.footer__news-contact .field-element--fileselector .fs-preview-wrapper {
    position: relative;
    float: left;
    display: inline-block;
    padding-right: 60px;
    font-size: 1.4rem;
}
.footer__news-contact .field-element .field-input .textbox::placeholder {
    color: #fff;
    opacity: 1;
}
.footer__news-contact .field-element .field-input:active .textbox::placeholder,
.footer__news-contact .field-element .field-input:focus .textbox::placeholder {
    opacity: 0;
}
.footer__news-contact button[type="submit"] {
    color: #1b2243;
    background-color: transparent;
    position: absolute;
    right: 0;
    width: 64px;
    height: 100%;
    padding: 8px 8px;
    float: left;
    font-size: 1.4rem;
}
.footer__news-contact button[type="submit"]:hover,
.footer__news-contact button[type="submit"]:focus {
    background-color: #fff;
    border-color: #fff;
    color: #004d72;
}

/* BP small */
@media screen and (min-width: 37.5em) { /* 600px */
    .footer__quicklinks h2{
        text-align: left;
    }
    .footer__news-contact {
        text-align: left;
    }
    .section--pre-footer .block-list {
        -webkit-column-count: 2;
           -moz-column-count: 2;
                column-count: 2;
        -webkit-column-gap: 44px;
           -moz-column-gap: 44px;
                column-gap: 44px;
        -webkit-column-rule: 1px solid rgba(255,255,255,0.2);
           -moz-column-rule: 1px solid rgba(255,255,255,0.2);
                column-rule: 1px solid rgba(255,255,255,0.2);
    }
    .footer__contact__address,
    .footer__contact__numbers,
    .footer__contact__email {
        -ms-flex-preferred-size: 33.333%;
        flex-basis: 33.333%;
        max-width: 33.333%;
    }
    .button.button--footer {
        padding: 8px 24px 8px;
        width: 100%;
    }
    .footer__contact__numbers {
        margin-top: 0;
    }
}

/* BP small */
@media screen and (min-width: 48em) { /* 768px */
    .section--pre-footer .block-list {
        -webkit-column-rule: none;
           -moz-column-rule: none;
                column-rule: none;
    }
    .footer__contact__address,
    .footer__contact__numbers {
        -ms-flex-preferred-size: 50%;
        flex-basis: 50%;
        max-width: 50%;
    }
    .footer__contact__email {
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
        max-width: 100%;
    }
    .footer__quicklinks {
        padding-right: 44px;
    }
    .button.button--footer {
        padding: 8px 48px 8px;
        width: auto;
    }
}

/* BP medium */
@media only screen and (min-width: 62em) { /* 992px */
    .footer__contact__address,
    .footer__contact__numbers {
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
        max-width: 100%;
    }
    .footer__contact__numbers .footer-subtitle:first-child {
        display: none;
    }
    .footer__contact__numbers,
    .footer__contact__email {
        margin-top: 1.7em;
    }
    .button.button--footer {
        margin-top: 0;
    }
    .section--pre-footer h2 {
        margin-bottom: 1em;
    }
}

/* ---- Hero banner ---- */
/* ---- Inner banner ---- */
.section--hero-banner,
.section--inner-banner {
    padding-top: 0;
    padding-bottom: 0;
    position: relative;
    z-index: 0;
}
.section--inner-banner {
    padding-bottom: 1.7rem;
}
.hero-banner__bg-img,
.inner-banner__bg-img {
    height: 240px;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    position: relative;
    z-index: 0;
}
.inner-banner__bg-img {
    height: 160px;
}
.hero-banner__content,
.inner-banner__content {
    z-index: 2;
}
.section--hero-banner .subtitle {
    display: none;
}
.hero-banner__heading,
.inner-banner__heading {
    margin-top: 0.5em;
    font-size: 3rem;
    line-height: 1.5em;
}
.hero-banner__heading__decal--underline,
.inner-banner__heading__decal--underline {
    border-bottom: 1px solid #fff;
    position: relative;
}
.hero-banner__heading__decal--underline:after {
    content: "";
    position: absolute;
    bottom: -1px;
    left: 0;
    border-bottom: 3px solid #004d72;
    width: 50%;
}
.inner-banner__heading__decal--underline span {
    position: relative;
    line-height: 1.5em;
}
.inner-banner__heading__decal--underline span:after {
    content: "";
    position: absolute;
    bottom: calc(-0.25em + 1px);
    left: 0;
    border-bottom: 3px solid #004d72;
    width: 100%;
}
.hero-banner__text {
    padding: 20px 0;
    position: relative;
}
.hero-banner__text:after,
.hero-banner__text:before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    background-color: #00a99b;
    width: 1000px;
    width: 100vw;
    z-index: -1;
}
.hero-banner__text:after {
    left: 100%;
}
.hero-banner__text:before {
    right: 100%;
}
.hero-banner__text p.subtitle.decal--underline {
    padding-bottom: 0;
    line-height: 1.25;
}
.hero-banner__text  p.decal--underline span {
	padding-bottom: 0;
}
.hero-banner__button {
    text-align: right;
}
.hero-banner__content__img,
.inner-banner__content__img {
    display: none;
    float: left;
}
.section--hero-banner .container--large,
.section--inner-banner .container--large {
    width: 88%;
    max-width: 1140px;
    margin: 0 auto;
}

@media screen and (min-width: 37.5em) { /* 600px */
    .section--inner-banner {
        padding-bottom: 0;
    }
    .section--inner-banner .container--large {
        width: 94%;
        max-width: 1324px;
        margin: 0 auto;
    }
    .inner-banner__content {
        position: absolute;
        left: 0;
        right: 0;
        top: 32px;
        bottom: -32px;
    }
    .inner-banner__bg-img {
        height: 228px;
        z-index: 0;
        opacity: 0.4;
    }
    .section--inner-banner {
        margin-bottom: 32px;
    }
    @supports(mix-blend-mode: overlay){
        .inner-banner__bg-img {
            mix-blend-mode: overlay;
        }
    }
    .inner-banner__bg-img::before {
        content: "";
        opacity: 1;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 228px;
        background-color: #F3E4C9;
        opacity: 0.6;
        z-index: -1;
    }
    @supports(mix-blend-mode: multiply){
        .inner-banner__bg-img::before {
            mix-blend-mode: multiply;
            opacity: 1;
        }
    }
    .inner-banner__content__img {
        display: block;
        float: left;
        width: 60%;
        height: 228px;
        overflow: hidden;
    }
    .inner-banner__text {
        padding: 40px 32px;
        width: 40%;
        float: left;
        height: 228px;
    }
    .inner-banner__heading {
        font-size: 3.2rem;
        line-height: 1em;
        margin-top: 0;
    }
    @supports(display: flex){
        .inner-banner__text {
            padding-top: 20px;
            display: flex;
            flex-flow: column;
            justify-content: flex-end;
        }
    }
}
/* BP small */
@media screen and (min-width: 48em) { /* 768px */
    .section--hero-banner .container--large {
        width: 94%;
        max-width: 1324px;
        margin: 0 auto;
    }
    .hero-banner__content {
        position: absolute;
        left: 0;
        right: 0;
        top: 32px;
        bottom: -32px;
    }
    .hero-banner__bg-img {
        height: 298px;
        z-index: 1;
        opacity: 0.4;
        mix-blend-mode: overlay;
    }
    .hero-banner__bg-img::after {
        content: "";
        opacity: 1;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 298px;
        background-color: #F3E4C9;
        mix-blend-mode: multiply;
        z-index: -1;
    }
    .banner-container {
        position: relative;
    }
    .banner-container::after{
        content: "";
        opacity: 1;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 298px;
        z-index: 0;
        background-color: #00a99b;
    }
    .hero-banner__content__img {
        display: block;
        float: left;
        width: 60%;
        height: 298px;
        overflow: hidden;
    }
    .hero-banner__text:after,
    .hero-banner__text:before {
        content: none;
    }
    .hero-banner__text {
        position: static;
        padding: 40px 40px 20px 40px;
        width: 40%;
        float: left;
        height: 298px;
    }
    .slick-track {
        height: calc(298px + 32px);
    }
    .hero-banner__heading__decal--underline:after {
        content: none;
    }
    .hero-banner__heading {
        font-size: 4rem;
        line-height: 1em;
    }
    .inner-banner__heading {
        font-size: 3.6rem;
    }
    .section--hero-banner .subtitle {
        display: block;
    }
    .hero-banner__heading__decal--underline {
        border-bottom: none;
    }
    .hero-banner__heading__decal--underline {;
        padding-bottom: 0;
        border-bottom: none;
    }
    .hero-banner__heading__decal--underline span {
        border-bottom: none;
        position: relative;
    }
    .hero-banner__heading {
        margin-top: 0;
    }
    .hero-banner__button {
        text-align: left;
    }
    .inner-banner__text {
        padding: 40px 40px 48px 40px;
    }
    .inner-banner__text,
    .inner-banner__content__img,
    .inner-banner__bg-img,
    .inner-banner__bg-img::before {
        height: 260px;
    }
    @supports(display: flex){
        .hero-banner__text {
            padding-top: 20px;
            display: flex;
            flex-flow: column;
            justify-content: flex-end;
        }
    }
}

/* BP medium */
@media only screen and (min-width: 62em) { /* 992px */
    .hero-banner__bg-img {
        height: 440px;
    }
    .hero-banner__content,
    .inner-banner__content {
        top: 42px;
        bottom: -42px;
    }
    .hero-banner__bg-img::after,
    .banner-container::after {
        height: 440px;
    }
    .hero-banner__content__img {
        height: 440px;
    }
    .hero-banner__text {
        padding: 140px 40px 40px;
        height: 440px;
    }
    .slick-track {
        height: calc(440px + 42px);
    }
    .hero-banner__heading {
        font-size: 5rem;
        margin-bottom: 40px;
    }
    .inner-banner__heading {
        font-size: 4.2rem;
        margin-bottom: 0.5em;
    }
    .hero-banner__img,
    .inner-banner__content {
        max-width: none;
    }
    .hero-banner__button .button {
        padding: 12px 40px 12px;
    }
    .inner-banner__text,
    .inner-banner__content__img,
    .inner-banner__bg-img,
    .inner-banner__bg-img::before {
        height: 300px;
    }
    @supports(display: flex){
        .hero-banner__text {
            padding: 40px 40px 40px 40px;
        }
    }
}

/* BP large */
@media only screen and (min-width: 75em) { /* 1200px */
    .section--inner-banner {
        margin-bottom: 64px;
    }
    .hero-banner__bg-img,
    .hero-banner__bg-img::after,
    .banner-container::after {
        height: 538px
    }
    .hero-banner__content,
    .inner-banner__content {
        top: 64px;
        bottom: -64px;
    }
    .hero-banner__content__img {
        height: 538px;
    }
        .slick-track {
        height: calc(538px + 64px);
    }
    .hero-banner__text {
        height: 538px;
        padding: 180px 80px 60px 60px;
    }
    .inner-banner__text {
        padding: 64px 80px 64px 48px;
    }
    .hero-banner__heading {
        font-size: 6rem;
    }
    .inner-banner__heading {
        font-size: 5rem;
        margin-bottom: 0;
    }
    .inner-banner__text,
    .inner-banner__content__img,
    .inner-banner__bg-img,
    .inner-banner__bg-img::before {
        height: 360px;
    }
    .inner-banner__heading__decal--underline span:after {
        bottom: -10px;
    }
    @supports(display: flex){
        .hero-banner__text {
            padding: 60px 80px 60px 60px;
        }
    }
}

/* ---- Upcoming Events ---- */
.section--upcoming-events .event {
    margin-bottom: 20px;
    width: 50%;
}
.section--upcoming-events .decal--underline {
    border-bottom: 1px solid #D7D7D7;
}
.event .event__inner {
    display: grid;
}
.section--upcoming-events .text-link{
    float: right;
    color: #004d72;
}
.section--upcoming-events .text-link:hover,
.section--upcoming-events .text-link:focus,
.section--upcoming-events .text-link:active {
    color: #1b2243;
}
.event__content {
    padding: 10px;
}
.event__date {
    font-family: D-DIN, 'PT Sans', sans-serif;
    position: relative;
    display: block;
    padding-right: 4px;
    margin-right: 4px;
}
.event__date p {
    margin-bottom: 0;
}

.event__content h4 {
    margin-bottom: 0;
    color: #fff;
}

.event__button {
    background-color: rgba(0,0,0,0.4);
    width: 100%;
    height: 100%;
}
.event__button p {
    margin-bottom: 0;
    position: relative;
    height: 100%;
    width: 100%;
    display: block;
    text-align: center;
}
.button--event {
    position: relative;
    margin: 8vmin 0;
}
.event__img {
    min-height: 100px;
    height: 100%;
    height: 100px;
    background-image: url(../images/children-gallery-thumb-placeholder--white.png);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
}
@supports(top: calc(50% - 16px)) {
    .button--event {
        position: absolute;
        margin: 0 0;
        top: calc(50% - 16px);
        left: calc(50%  - 51px);
    }
}

@supports(display: grid) {
    .section--upcoming-events .event {
        display: grid;
        justify-items: stretch;
        align-items: stretch;
    }
}

/* BP xtra small */
@media screen and (min-width: 37.5em) { /* 600px */
    .event__date {
        display: inline-block;
        padding-right: 8px;
    }
    .event__date:after {
        content: "";
        position: absolute;
        width: 1px;
        right: 0;
        height: 80%;
        background: #fff;
        top: 10%;
    }
    .event__content h4,
    .event__heading {
        display: inline;
    }
    @supports(top: calc(50% - 16px)) {
        .button--event {
            top: calc(50% - 16px);
            left: calc(50%  - 64px);
        }
    }
}
/* BP small */
@media screen and (min-width: 48em) { /* 768px */
    .section--upcoming-events {
        padding-top: 92px;
    }
    .section--upcoming-events .event {
        overflow: hidden;
        width: 33%;
    }
    .event__heading h4{
        line-height: 1.2;
    }
    .event__date {
        width: 46px;
        float: left;
        text-align: center;
        padding-right: 6px;
        margin-right: 10px;
    }
    .event__date:after {
        content: "";
        position: absolute;
        width: 1px;
        right: 0;
        height: 80%;
        background: #fff;
        top: 10%;
    }
    .event__date p {
        line-height: 1em;
        padding-top: 2px;
    }
    .event__date .event-date {
        font-size: 2em;
        line-height: 1em;
        display: block;
    }
    .event__date .event-month {
        font-size: 0.8em;
        line-height: 0.8em;
        position: relative;
        top: -6px;
    }
    .event__content h4 {
        font-size: 2rem;
    }
    .event__img {
        min-height: 136px;
        height: 136px;
    }
    .event__button {
        border-bottom: 5px solid #004d72;
    }
    .button--event {
        margin: 12vmin 2vw;
    }
    @supports(top: calc(50% - 16px)) {
        .button--event {
            margin: 0 0;
            top: calc(50% - 16px);
            left: calc(50%  - 64px);
        }
    }
    @supports(display: flex) {
        .event__content {
            display: flex;
        }

        .event__heading {
            display: flex;
            flex-flow: row;
            justify-items: stretch;
            align-items: center;
        }
        .event__content {
            display: flex;
            flex-flow: row;
            justify-content: flex-start;
            align-items: center;
        }
    }
    @supports(display: grid) {
        .event__content {
            align-self: center;
        }
    }
}

/* BP medium */
@media only screen and (min-width: 62em) { /* 992px */
    .section--upcoming-events .event {
        width: 25%;
    }
    .section--upcoming-events .event .event__button {
        opacity: 0;
        -webkit-transition: opacity 250ms ease-in-out;
        -o-transition: opacity 250ms ease-in-out;
        transition: opacity 250ms ease-in-out;
    }
    .section--upcoming-events .event:hover .event__button,
    .section--upcoming-events .event:focus .event__button,
    .section--upcoming-events .event:active .event__button {
        opacity: 1;
    }
    .section--upcoming-events {
        padding-top: 102px;
    }
    .event__date .event-date {
        font-size: 3em;
    }
    .event__date {
        width: 60px;
        padding-right: 10px;
    }
    .button--event {
        position: relative;
        margin: 4vw 4vw;
    }
    @supports(top: calc(50% - 20px)) {
        .button--event {
            position: absolute;
            margin: 0 0;
            top: calc(50% - 20px);
            left: calc(50% - 64px);
        }
    }
}

/* BP large */
@media only screen and (min-width: 75em) { /* 1200px */
    .section--upcoming-events {
        padding-top: 124px;
    }
    .event__date .event-month {
        font-size: 1em;
        top: -2px;
    }
    .event__date .event-date {
        font-size: 2.6em;
    }
    .event__content {
        padding: 10px 20px;
    }
    .event__img {
        min-height: 168px;
        height: 168px;
    }
    .section--upcoming-events .button.button-small {
        padding: 12px 40px 12px;
    }
    .button--event {
        position: relative;
        margin: 4vw 4vw;
    }
    @supports(top: calc(50% - 20px)) {
        .button--event {
            position: absolute;
            margin: 0 0;
            top: calc(50% - 20px);
            left: calc(50%  - 80px);
        }
    }
}

/* ---- Featured Video ---- */
.video-date {
    margin-bottom: 0;
    font-family: D-DIN, 'PT Sans', sans-serif;
    color: #8D8C8D;
}
.video-content h2 {
    font-size: 3.2rem;
    margin-top: 0;
    line-height: 1.25;
}
.video__subtitle {
    font-size: 1em;
}
.video-content__footer .text-link {
    float: right;
}

/* BP small */
@media screen and (min-width: 48em) { /* 768px */
    .section--featured-video .row {
        background-color: #007b92;
        position: relative;
    }

    .section--featured-video .tinymce-media-iframe {
        margin: 0;
    }
    .video-date {
        color: rgba(255, 255, 255, 0.6);
    }
    .video-frame {
        padding-left: 0;
        z-index: 1;
        min-width: 50%;
    }
    .video-content {
        padding: 30px 20px 20px;
    }
    .section--featured-video .row:after {
        content: "";
        position: absolute;
        width: calc(33% + 1em);
        height: 5px;
        bottom: 0;
        right: 0;
        background-color: #004d72;
        z-index: 0;
    }
    .video-content h2{
        color: #fff;
    }
    .video-content__footer .text-link {
        float: none;
        color: rgba(255, 255, 255, 0.6);
    }
    .video-content__footer .text-link:hover,
    .video-content__footer .text-link:focus {
        color: rgba(255, 255, 255, 1);
    }
    .video-content__footer .text-link svg path{
        stroke: rgba(255, 255, 255, 0.6);
    }
    .video-content__footer .text-link:hover svg path,
    .video-content__footer .text-link:focus svg path {
        stroke: rgba(255, 255, 255, 1);
    }
    .video__type {
        margin-bottom: 0;
        color: #004d72;
    }
    @supports(display: flex){
        .video-content {
            display: flex;
            flex-flow: column;
            align-items: stretch;
            justify-content: start;
        }

        .video-content__footer {
            display: flex;
            flex-flow: column;
            align-items: stretch;
            justify-content: flex-end;
            height: 100%;
        }
    }
}

/* BP medium */
@media only screen and (min-width: 62em) { /* 992px */
    .video-content {
        padding: 40px 32px 32px;
    }
    .video-content h2 {
        font-size: 4rem;
    }
    .video-date {
        margin-bottom: 1.6rem;
    }
    .video__subtitle {
       margin-bottom: 2rem;
    }
    .video-frame {
        min-width: 66.5%;
    }
}

/* BP large */
@media only screen and (min-width: 75em) { /* 1200px */
    .video-content h2 {
        font-size: 6rem;
    }
}
/* ---- Promo ---- */
.promo-list {
    margin-top: 20px;
}
.promo {
    margin-bottom: 25px;
}
.promo__inner {
    height: 100%;
    position: relative;
}
.promo__inner:after {
    content: "";
    height: 5px;
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
    background-color: #004d72;
}
.promo__img {
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
}
.promo__img img {
    width: 100%;
}
.promo__content {
    padding: 24px 24px;
    width: 100%;
}
.promo__content__heading {
    text-transform: uppercase;
    font-family: D-DIN, 'PT Sans', sans-serif;
    font-weight: 600;
    margin-top: 0;
    line-height: 1;
    font-size: 1.9rem;
    color: #303030;
}
.promo__content__date {
    color: #8D8C8D;
    font-family: D-DIN, 'PT Sans', sans-serif;
    margin-bottom: 0.5em;
}
.promo__content__footer p {
    color: #8D8C8D
}
.promo__button {
    width: 100%;
    padding: 12px 32px;
}
.promo__content__hider {
    width: 100%;
    padding: 0 30px 24px;
}

/* BP small */
@media screen and (min-width: 48em) { /* 768px */
    .promo__inner {
        padding-bottom: 32vw;
        max-height: 498px;
        overflow: hidden;
    }
    .promo__content {
        padding: 24px 30px;
        position: absolute;
        top: 29vw;
        left: 0;
        background: #fff;
        -webkit-transition: top 400ms ease-in-out;
        -o-transition: top 400ms ease-in-out;
        transition: top 400ms ease-in-out;
    }
    .promo__img img {
        display: none;
    }
    .promo__img {
        min-height: 200px;
        height: 29vw;
    }
    .promo {
        margin-bottom: 30px;
        width: 33vw;
    }
    .promo__content__footer {
        overflow: hidden;
        height: 0;
        -webkit-transition: all 400ms ease-in-out;
        -o-transition: all 400ms ease-in-out;
        transition: all 400ms ease-in-out;
        margin-bottom: 0;
        opacity: 0;
    }
    .promo__content__hider {
        position: absolute;
        width: 100%;
        background: #fff;
        bottom: 0;
        left: 0;
        height: calc(36px + 1em);
        padding: 12px 30px 24px;
        overflow: hidden;
        -webkit-transition: bottom 200ms ease-in-out;
        -o-transition: bottom 200ms ease-in-out;
        transition: bottom 200ms ease-in-out;
    }
    .promo__inner .content-type--promo {
        opacity: 1;
        -webkit-transition: opacity 150ms ease-in-out;
        -o-transition: opacity 150ms ease-in-out;
        transition: opacity 150ms ease-in-out
    }
    .promo__inner:hover  .promo__content {
        top: 20vw;
        height: 350px;
    }
    .promo__inner:hover  .promo__content__footer {
        height: 100%;
        opacity: 1;
    }
    .promo__inner:hover .promo__content__hider {
        bottom: -52px;
    }
    .promo__inner:hover .content-type--promo {
        opacity: 0;
    }
}

/* BP medium */
@media only screen and (min-width: 62em) { /* 992px */
    .promo__content__footer p {
        margin-bottom: 2em;
    }
    .promo__inner {
        max-height: 525px;
    }
}

/* BP medium */
@media only screen and (min-width: 75em) { /* 1200px */
    .promo__img {
        height: 356px;
    }
    .promo__inner {
        padding-bottom: 182px;
        max-height: 535px;
    }
    .promo__inner:hover  .promo__content {
        top: calc(356px - 25%);
    }
    .promo__content {
        top: 356px;
    }
}

/* ---- Clubs ---- */
.section--clubs {
    border-top: 5px solid #004d72;
}
.section--clubs h1 {
    text-align: center;
    font-size: 2.8rem;
}
.section--clubs__list {
    padding: 0 0;
    margin: 0 0;
    list-style-type: none;
    text-align: center;
}
.section--clubs__list__item {
    margin: 24px 0;
}
.section--clubs__list__item a {
    display: inline-block;
}
.section--clubs img {
    width: 100%;
    height: auto;
    max-width: 172px;
}
.section--clubs__list__clubs-subtitle {
    margin-top: 32px;
    margin-bottom: 0.5em;
}
.section--clubs__list__text-list {
    padding: 0 0;
    margin: 0 0;
    list-style-type: none;
    text-align: center;
}
.section--clubs__list__text-list a {
    display: block;
    margin: 1em 0;
    text-decoration: none;
    color: #8D8C8D;
}
.section--clubs__list__text-list a span{
    border-bottom: 1px solid rgba(255, 255, 255, 0);
}
.section--clubs__list__text-list a:hover span,
.section--clubs__list__text-list a:focus span{
    border-bottom: 1px solid #D7D7D7;
}

.section--clubs__img__wrapper {
    margin: 20px 0;
}

@media screen and (min-width:43.75em) { /* 700px */
    .section--clubs__list__item {
        display: inline-block;
        padding: 0 24px;
    }
    .section--clubs__list__item--text-list {
        display: block;
    }
    .section--clubs__list__text-list a {
        display: inline-block;
    }
    .section--clubs__list__text-list li {
        display: inline-block;
    }
    .section--clubs__list__text-list li:after {
        content: " |";
        padding: 0 2px;
        color: #8D8C8D;
    }
    .section--clubs__list__text-list li:last-child::after {
        content: none;
    }

}
/* BP small */
@media screen and (min-width: 48em) { /* 768px */
    .section--clubs img {
        width: 20vw;
        max-width: 100%;
    }
    .section--clubs h1 {
        text-align: left;
    }
    .section--clubs__list__item--alice,
    .section--clubs__list__item--darwin,
    .section--clubs__list__item--text-list {
        display: inline-block;
        width: 33%;
        float: left;
        padding: 0 0;
        margin: 0 0;
    }
    .section--clubs__list__clubs-subtitle {
        margin-top: 0;
        margin-bottom: 0;
    }
    .section--clubs__list__item {
        padding: 0 0;
        position: relative;
    }
    .section--clubs__list {
        text-align: left;
        position: relative;
    }
    .section--clubs__list__item--alice,
    .section--clubs__list__item--darwin {
        text-align: center;
    }
    .section--clubs__list__item--alice:after,
    .section--clubs__list__item--darwin:after {
        content: "";
        position: absolute;
        width: 1px;
        height: 100%;
        background-color: #D7D7D7;
        display: inline-block;
        top: 0;
        right: 0;
    }
    .section--clubs__list__text-list {
        text-align: left;
    }
    .section--clubs__list__item--text-list {
        padding-left: 16px;
    }
    .section--clubs__list__text-list a {
        margin: 0.25em 0;
    }
    .section--clubs__list__text-list li {
        display: block;
    }
    .section--clubs__list__text-list li:after {
        content: none;
    }
    @supports(display:flex) {
        .section--clubs__list {
            display: flex;
            flex-flow: row;
            align-items: center;
            justify-content: center;
        }
        .section--clubs__list__item--alice,
        .section--clubs__list__item--darwin,
        .section--clubs__list__item--text-list {
            display: flex;
            flex-flow: row;
            align-items: center;
            justify-content: center;
        }
        .section--clubs__list__item--alice a {
            display: flex;
            flex-flow: row;
            align-items: center;
            justify-content: center;
        }
        .section--clubs__list__item--text-list  {
            align-self: stretch;
        }
        .section--clubs__list__item--darwin {
            justify-content: flex-start;
        }
    }
}

@media only screen and (min-width: 67.5em) { /* 1080px */
    .section--clubs img {
        width: 18vw;
        max-width: 90%;
    }
    .section--clubs__list__item--alice,
    .section--clubs__list__item--darwin {
        width: 20%;
    }
    .section--clubs__list__item--text-list {
        width: 60%;
        padding-top: 20px;
    }
    .section--clubs__list__clubs-subtitle {
        margin-bottom: 1em;
    }
    .section--clubs__list__text-list li {
        display: inline-block;
    }
    .section--clubs__list__text-list li:after {
        content: " |";
        padding: 0 4px;
        color: #8D8C8D;
    }
    .section--clubs__list__text-list li:last-child::after {
        content: none;
    }
    @supports(display:flex) {
        .section--clubs__list__item--text-list {
            padding-top: 0;
        }

        .section--clubs__list__text-list {
            display: flex;
            flex-flow: row;
            align-items: start;
            justify-content: flex-start;
        }
    }
}


/* BP medium */
@media only screen and (min-width: 75em) { /* 1200px */
    .section--clubs img {
        max-width: 212px;
    }
    .section--clubs__list__item--alice,
    .section--clubs__list__item--darwin {
        width: 23%;
    }
    .section--clubs__list__item--text-list {
        width: 54%;
        padding-top: 32px;
    }
    @supports(display:flex) {
        .section--clubs__list__item--text-list {
            padding-top: 0;
        }
    }
}

/* ---- Calendar ---- */
.calendar-container {
    position: relative;
}
.calendar-container p,
.calendar-container ol,
.calendar-container ul,
.calendar-container dl,
.calendar-container address {
    line-height: 1.4;
}
.calendar-container .calendar-days-list__item__date {
    color: #707070;
    font-weight: bold;
}
.button.js-btn-month {
    position: relative;
    background-color: transparent;
    height: 100%;
    width: 1.5em;
    border: 1px solid transparent;
}
.button.js-btn-month:after {
    content: "";
    position: absolute;
    top: calc(50% - 6px);
    left: calc(50% - 6px);
    width: 12px;
    height: 12px;
    background-image: url(../images/icon_arrow--right.svg);
    background-repeat: no-repeat;
    background-size: 12px 12px;
    background-position: 50% 50%;
}
.-l-arrow {
    float: left;
    transform: rotate(180deg);
}
.-r-arrow {
    float: right;
}
.button.js-btn-month:hover,
.button.js-btn-month:focus {
    background-color: transparent;
    color: #fff;
    border-color: transparent;
    background-position: 60% 50%;
}
.button.js-btn-month:hover:after {
    -webkit-animation: arrows-slide .300s cubic-bezier(0.400, -0.105, 0.590, 1.140) normal;
            animation: arrows-slide .300s cubic-bezier(0.400, -0.105, 0.590, 1.140) normal;
    -webkit-animation-fill-mode: both;
            animation-fill-mode: both;
}

.calendar-container .calendar-heading {
    background: #004d72;
}
.calendar-container ul.calendar-weekdays-list {
    background: #004d72;
}
.calendar-nav{
    position: absolute;
    width: 100%;
    height: 4rem;
    top: 0;
    left: 0;
}
.calendar-container .calendar-days-list__item__date {
    background-color: transparent;
    color: #505050;
    font-family: D-DIN, 'PT Sans', sans-serif;
}
.calendar-container .calendar-days-list__item__other-month .calendar-days-list__item__date,
.calendar-container .calendar-days-list__item__other-month {
    background-color: transparent;
    color: #707070;
}
.calendar-container .calendar-days-list li {
    -webkit-transition: background-color 250ms ease-in-out;
    -o-transition: background-color 250ms ease-in-out;
    transition: background-color 250ms ease-in-out;
}
.calendar-days-list__item .event {
    padding-left: 1.5em;
    padding-top: 0.5em;
}

.calendar-days-list__item .event a {
    color: #303030;
    text-decoration: none;
    text-transform: uppercase;
    font-weight: bold;
}
.calendar-days-list__item .event .calendar__event__name {
    color: #007b92;
}
.calendar-days-list__item .event .calendar__event__club-name {
    font-size: 0.8em;
}

@media screen and (min-width: 920px) {
    .calendar-days-list__item .event a {
        color: #505050;
        text-transform: none;
        font-weight: normal;
        display: inline-block;
        overflow: hidden;
    }
    .calendar-days-list__item .event .calendar__event__club-name {
        font-size: 1em;
    }
    .calendar-days-list__item .event {
        padding-top: 30px;
        padding-left: 0;
    }
    .calendar-days-list__item .event .calendar__event__name {
        color: #004d72;
        text-transform: uppercase;
        font-family: D-DIN, 'PT Sans', sans-serif;
        margin: 0 0;
        font-weight: bold;
    }
    .calendar-container .calendar-days-list__item__date {
        color: #303030;
        font-family: Helvetica Neue, Helvetica, Arial, sans-serif;
    }
    .calendar-container .calendar-days-list li:hover {
        background-color: #D7D7D7;
    }
    .calendar-container .calendar-days-list li.calendar-days-list__item__other-month:hover {
        background-color: #F3F3F3;
    }
    .calendar-days-list__item .event a .event-desc {
        display: inline;
        position: relative;
        padding-bottom: 4px;
        overflow: hidden;
    }
    .calendar-days-list__item .event a .event-desc:after {
        content: "";
        position: absolute;
        width: 0px;
        height: 100%;
        bottom: 2px;
        left: 0;
        border-bottom: 2px solid #505050;
        -webkit-transition: all 250ms ease-in-out;
        -o-transition: all 250ms ease-in-out;
        transition: all 250ms ease-in-out;
    }
    .calendar-days-list__item .event a:hover .event-desc:after {
        width: 100%;
    }
    @supports(display: flex){
        .calendar-days-list__item .event {
            display: flex;
            flex-flow: column wrap;
            justify-content: center;
            align-items: flex-start;
        }
    }
}
/* ---- Calendar Event List ---- */
.event-list__item__date__month {
    background-color: #007b92;
}
.event-list__item__text__title a {
    font-family: D-DIN, 'PT Sans', sans-serif;
    color: #505050;
    font-weight: bold;
    text-decoration: none;
    position: relative;
    padding-bottom: 4px;
}
.event-list__item__text__title a:after {
    content: "";
    position: absolute;
    width: 0px;
    height: 100%;
    bottom: 0;
    left: 0;
    border-bottom: 2px solid #505050;
    -webkit-transition: all 250ms ease-in-out;
    -o-transition: all 250ms ease-in-out;
    transition: all 250ms ease-in-out;
}
.event-list__item__text__title a:hover:after {
    width: 100%;
}
.event-list__item__buttons,
.event-list__item__text__details {
    display: block;
}
@media screen and (min-width: 48em) /* 768px*/ {
    .event-list__item__buttons {
        display: inline-block;
        float: right;
    }
    .event-list__item__text__details {
        display: inline-block;
        float: left;
    }
}
/* ---- Magnific Popup ---- */
.mfp-image-holder .mfp-content {
    max-width: 1000px;
}

.mfp-ajax-holder .mfp-content {
    background-color: #fff;
    margin: 0 auto;
    padding: 50px;
    max-width: 700px;
}

/* ---- Race info ---- */
.section--race-info {
    background-attachment: fixed;
    padding-bottom: 0;
}
.race-info__subtitle {
    text-transform: uppercase;
    color: #004d72;
    font-family: D-DIN, 'PT Sans', sans-serif;
    margin: 0 0;
}
.race-info__heading {
    font-size: 2.8rem;
    margin-top: 0.2em;
}
.decal--underline--base {
    line-height: 55px;
    padding-bottom: 22px;
    border-bottom: 1px solid #FFFFFF;
}
p.decal--underline--base {
    padding-bottom: 8px;
}
h3.decal--underline--base {
    padding-bottom: 12px;
}
.decal--underline--base span{
    position: relative;
    display: inline-block;
}
.decal--underline--base span:after{
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background: transparent;
    border-bottom: 3px solid #004d72;
    bottom: calc(-0.5em - 1px);
    left: 0;
}
/*Use @ supports to override line height differences in IE / other browsers */
@supports(display:flex) {
    .decal--underline--base {
        line-height: 1.25;
        padding-bottom: 0.5em;
        border-bottom: 1px solid #FFFFFF;
    }
    p.decal--underline span {
        padding-bottom: calc(0.5em - 2px);
    }
    p.subtitle.decal--underline {
        font-size: 1em;
        line-height: 1;
        padding-bottom: 0.5em;
    }
}
.race-info__heading.decal--underline span {
    padding-bottom: calc(0.2em - 2px);
}
.race-info__date {
    font-size: 1.9rem;
}
.button--purge {
    color: #505050;
    border-color: #707070;
}
.race-info__summary {
    margin-top: 2em;
    font-family: D-DIN, 'PT Sans', sans-serif;
    background-color: rgba(243, 243, 243, 0.75);
    padding: 2em 0;
    position: relative;
}
.race-info__summary__list {
    list-style-type: none;
    margin: 0 0;
    padding: 0 0;
}
.race-info__summary__list h5 {
    margin-bottom: 0.5em;
}
.race-info__summary__list li {
    display: block;
    margin: 0.25em 0;
}
.race-info__deets {
    position: relative;
    font-family: D-DIN, 'PT Sans', sans-serif;
    z-index: 1;
    background-color: rgba(244, 193, 103, 0.5);
    padding-top: 2em;
    padding-bottom: 2em;
}
.race-info__deets__item {
    margin-bottom: 0;
    line-height: 1.4;
}
.race-info__deets__item span{
    font-weight: bold;
}
.race-info__deets__item.separator{
    margin-top: 1em;
}
.race-info__summary:before,
.race-info__summary:after,
.race-info__deets:before,
.race-info__deets:after {
    content: "";
    position: absolute;
    top: 0;
    height: 100%;
    width: 100vw;
    z-index: 0;
}
.race-info__summary:before,
.race-info__summary:after {
    background-color: rgba(243, 243, 243, 0.75);
}
.race-info__deets:before,
.race-info__deets:after {
    background-color: rgba(244, 193, 103, 0.5);
}
.race-info__summary:before,
.race-info__deets:before  {
    left: 100%;
}
.race-info__summary:after,
.race-info__deets:after  {
    right: 100%;
}
.race-info__summary__info {
    color: #505050;
    line-height: 1;
}
.section--race-number {
    padding-bottom: 0;
}

.race-info__number__title {
    display: inline-block;
    padding-right: 0.5em;
    padding-top: 0.2em;
    padding-bottom: 0.25em;
    margin-bottom: 0;
    color: #505050;
    font-size: 1.8rem;
    font-weight: bold;
}
.race-info__number__list {
    list-style-type: none;
    display: inline;
    padding: 0;
    margin: 0;
}
.race-info__number__list >li:before {
    content: none;
}
.race-info__number__item {
    display: inline-block;
    height: 2em;
    width: 2em;
    border: 1px solid #D7D7D7;
    border-radius: 1em;
    padding: 0.25em;
    text-align: center;
    background-color: #fff;
    -webkit-transition: background-color 250ms ease-in-out;
    -o-transition: background-color 250ms ease-in-out;
    transition: background-color 250ms ease-in-out;
}
.race-info__number__item a{
    text-decoration: none;
    color: #505050;
    font-weight: bold;
}
.race-info__number__item:hover {
    background-color: rgba(215, 215, 215, 0.5);
}
.race-info__number__item.on {
    background-color: #1b2243;
    border: 1px solid #1b2243;
}
.race-info__number__item.on a {
    color: #fff;
}
.race-info__number__item.on:hover {
    background-color: #1b2243;
}
.section--race-info__content {
    color: #505050;
}
.race-info__content__header .race-info__subtitle {
    padding-right: 0.5em;
}
.race-info__content__header__primary-info {
    padding-right: 1em;
}
.section--race-info__content--item {
    padding-bottom: 24px;
}
.race-info__content__header h3 {
    border-bottom: 1px solid #D7D7D7;
}
.race-info__content__header .decal--underline span {
    padding-bottom: calc(0.5em - 3px);
}
.race-info__content__details__links {
    position: relative;
    padding: 1.5em 0;
}
.race-info__content__details__links:after {
    content: "";
    position: absolute;
    top: 0;
    left: -50vw;
    width: 200%;
    height: 100%;
    border-top: 1px solid #D7D7D7;
    border-bottom: 1px solid #D7D7D7;
}
.race-info__content__details__link {
    text-transform: uppercase;
    padding: 0em 0.25em;
    display: block;
    position: relative;
    z-index: 2;
    color: #007b92;
    text-decoration: none;
}
.race-info__content__details__link svg {
    height: 12px;
    width: 10px;
    position: relative;
    opacity: 1;
}
.race-info__content__details__link svg path {
    stroke: #007b92;
}
.race-info__content__details__prizes:after,
.race-info__content__details__specifics:after {
    content: "";
    position: absolute;
    top: 0;
    left: -50vw;
    width: 200%;
    height: 100%;
    border-bottom: 1px solid #D7D7D7;
}
.race-info__content__details__prizes__list p {
    margin-bottom: 0;
}
.race-info__content__details__prizes,
.race-info__content__details__abandoned,
.race-info__content__details__specifics {
    position: relative;
    padding: 1.5em 0 1.5em;
}
.race-info__content__details__heading--specifics p {
    margin: 0 0 1.6rem;
}
.race-info__content__media {
    margin-top: 1.5em;
    margin-bottom: 1.5em;
    padding: 1.5em;
    position: relative;
    border-bottom: 5px solid #DFDFDF;
}
.race-info__content__media__col {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
}
.race-info__content__media__col > *:first-child {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1;
}
.race-info__content__media__col > *:last-child {
    -webkit-box-ordinal-group: 1;
    -webkit-order: 0;
        -ms-flex-order: 0;
            order: 0;
}
.race-info__content__media img {
    margin: 0;
    width: 100%;
}
.race-info__content__media a {
    display: block;
    position: relative;
}
.race-info__content__media a:hover + .race-info__subtitle,
.race-info__content__media a:active + .race-info__subtitle,
.race-info__content__media a:focus + .race-info__subtitle {
    text-decoration: underline;
}
.race-info__content__media .race-info__subtitle {
    color: #505050;
    margin-bottom: 0.5em;
}
.race-info__content__media .row > div + div {
    margin-top: 1.5em;
}
.race-info__content__media a[data-type="video"]:after {
    content: " ";
    position: absolute;
    top: calc(50% - 35px);
    left: calc(50% - 35px);
    width: 70px;
    height: 70px;
    background: url(../images/icon-play.png) no-repeat;
    background-size: 70px;
}
.section--race-info__content__results {
    padding-top: 2em;
    padding-bottom: 2em;
}
.race-info__icon {
    float: left;
    display: inline-block;
    margin-right: 0.25em;
}
.race-info__icon svg {
    width: 3em;
    height: 3em;
    background: #fff;
    border-radius: 1.5em;
    border: 1px #d7d7d7 solid;
}
.race-info__summary__title,
.race-info__summary__info  {
    float: left;
    display: block;
    width: calc(100% - 3.25em);
}
.race-info__summary__list li {
    display: block;
    width: 100%;
}
.race-info__summary__info--double-line {
    font-size: 0.8em;
    float: unset;
}
@supports(display:flex) {
    .race-info__number__col {
        display: flex;
        flex-flow: row;
        justify-content: space-between;
        align-items: flex-start;
    }
    .race-info__number__list{
        display: grid;
        grid-template-rows: repeat(2, 1fr);
        grid-template-columns: repeat(5, 1fr);
        justify-items: center;
        align-items: center;
        width: 100%;
    }
    .race-info__summary__item__content {
        display: flex;
        flex-flow: column;
        justify-content: center;
        align-items: flex-start;
        height: 3em;
    }
}

@media only screen and (min-width: 23.75em) { /* 380px */
    .race-info__content__media .row > div + div {
        margin-top: 0;
    }
}

@media screen and (min-width: 30.25em) { /* 484px */
    .section--race-info__content--item {
        padding-bottom: 32px;
    }
    .race-info__admin-tools h5,
    .race-info__admin-tools p, {
        display: inline-block;
        margin-bottom: 0;
        padding: 6px 0;
    }
    @supports(display:grid) {
        .race-info__number__list{
            display: grid;
            grid-auto-rows:1fr;
            grid-auto-columns: 1fr;
            grid-auto-flow: column dense;
            grid-template-rows: unset;
            grid-template-columns: unset;
        }
    }
    @supports(columns: 2) {
        .race-info__summary__list,
        .race-info__content__details__links,
        .race-info__content__media__wrapper {
            -webkit-columns: 2;
                    columns: 2;
        }
        .race-info__summary__item__content,
        .race-info__content__media__item {
        -webkit-column-break-inside: avoid;
            page-break-inside: avoid;
                break-inside: avoid;
        }
        .race-info__content__details__link {
            padding: 0.25em 0.25em;
        }
    }
}

/* BP small */
@media screen and (min-width: 48em) { /* 768px */
    .section--race-info {
        min-height: 496px;
        min-height: 31em;
        background-attachment: inherit;
        padding-bottom: 3em;
    }
    .race-info__heading {
        font-size: 3.8rem;
    }
    .race-info__date {
        font-size: 2.4rem;
    }
    .race-info__summary {
        padding: 1em 0;
    }
    .race-info__summary {
        background-color: #F3F3F3;
    }
    .race-info__summary:before,
    .race-info__summary:after {
        background-color: #F3F3F3;
    }
    .race-info__summary h5 {
        border: 0;
        clip: rect(0 0 0 0);
        height: 1px;
        margin: -1px;
        overflow: hidden;
        padding: 0;
        position: absolute;
        width: 1px;
    }
    .race-info__summary__info {
        color: #707070;
    }
    .race-info__summary__list li {
        display: inline-block;
    }
    .race-info__deets {
        background-color: #00a99b;
        position: relative;
    }
    .race-info__deets__item {
        line-height: 2;
    }
    .race-info__deets__item--block span {
        display: block;
    }
    .race-info__deets__item--block {
        margin-bottom: 4px;
    }
    .section--race-number {
        padding-top: 1em;
        padding-bottom: 64px;
    }
    .section--race-info__content {
        padding-top: 0;
    }
    .race-info__content__details__links:after,
    .race-info__content__details__prizes:after,
    .race-info__content__details__specifics:after {
        content: none;
    }
    .race-info__content__details__prizes__list p {
        margin-bottom: 1.6rem;
    }
    .race-info__content__details__link {
        font-weight: bold;
    }
    .race-info__content__media {
        margin-top: 0;
        margin-bottom: 0;
    }
    .race-info__content__media__col {
        display: block;
    }
    .race-info__content__media .row > div + div {
        margin-top: 1.5em;
    }
    .race-info__content__media .race-info__subtitle {
        font-size: 1.2rem;
        margin-top: 0.25em;
        margin-bottom: 0;
    }
    .race-info__deets__wrapper {
        position: absolute;
        top: 2em;
        left: 0;
        width: 100%;
        padding: 0 1.5em 2em 1.5em;
        background-color: #00a99b;
        border-bottom: 5px solid #007b92;
    }
    .section--race-info__content--item {
        padding-bottom: 64px;
    }
    .race-info__content__header h3 {
        margin-bottom: 0.25em;
    }
    .race-info__content__header {
        margin-bottom: 3rem;
    }
    .race-info__content__details--whitespace {
        padding-left: 2em;
    }
    .race-info__content__media:after,
    .race-info__content__media:before,
    .race-info__deets:before,
    .race-info__deets:after {
        content: none;
    }
    .race-info__content__media__wrapper {
        -webkit-columns: unset;
                columns: unset;
    }
    .race-info__content__details__links,
    .race-info__content__details__prizes,
    .race-info__content__details__abandoned,
    .race-info__content__details__specifics {
        padding: 0 0;
        margin: 0 0 1.5em;
    }
    .race-info__content__details__links {
       font-size: 1.6rem;
       border-bottom: 1px solid #d7d7d7;
       padding-bottom: 1.6rem;
    }
    .race-info__content__details__link:hover {
        color: #103255;
    }
    .race-info__content__details__link:hover svg {
        opacity: 1;
        -webkit-animation: arrows-slide .300s cubic-bezier(0.400, -0.105, 0.590, 1.140) normal;
                animation: arrows-slide .300s cubic-bezier(0.400, -0.105, 0.590, 1.140) normal;
    }
    .race-info__content__details__link:hover svg path{
        stroke: #103255;
    }
    .race-info__content__details__prizes,
    .race-info__content__details__abandoned {
        border-bottom: 1px solid #d7d7d7;
    }
    .race-info__content__details__heading p {
        margin-bottom: 0.25em;
    }
    .race-info__content__details__heading--specifics p {
        margin: 0 0 0;
    }

    @supports(display: flex) {
        .race-info__content__media__wrapper {
            height: calc(100% - 1.6rem);
            padding-bottom: 1.6em;
            display: flex;
            flex-flow: column wrap;
            justify-content: space-around;
            align-items: start;
        }
    }
}

/* BP medium */
@media only screen and (min-width: 62em) { /* 992px */
    .section--race-info {
        min-height: 480px;
        min-height: 30em;
    }
    .race-info__heading {
        font-size: 4.4rem;
        margin-top: 0.25em;
        padding-bottom: 0.5em;
        padding-right: 2em;
    }
    .race-info__number__title {
        font-size: 2em;
        padding-top: 0;
        line-height: 1em;
        font-weight: normal;
    }
    .race-info__deets {
        margin-top: 5.5em;
    }
    .race-info__deets__item {
        line-height: 1.75;
    }
    .race-info__deets__wrapper {
        top: 3em;
        padding: 0 2em 2em 2em;
    }
    .race-info__summary {
        padding: 1em 0;
        margin-top: 4em;
    }
    .race-info__summary__list,
    .race-info__content__details__links,
    .race-info__content__details__prizes p {
        -webkit-columns: unset;
                columns: unset;
    }
    .race-info__summary__item__content {
        -webkit-column-break-inside: unset;
        page-break-inside: unset;
        break-inside: unset;
        line-height: 1.75;
    }
    .race-info__summary__title--double-line {
        line-height: 1.4;
    }
    .race-info__summary__title,
    .race-info__summary__info  {
        display: unset;
        width: calc(100% - 3.75em);
        font-size: 1.4rem;
    }
    .race-info__summary__info--double-line {
        font-size: 0.8em;
    }
    .race-info__summary__list li {
        width: unset;
        max-width: calc(((100% - 150px) - 1em) / 4);
        float: left;
    }
    .race-info__summary__list .race-info__summary__list__item--double-line {
        max-width: 150px;
    }
    .race-info__summary__info--double-line {
        float: left;
        width: calc(100% - 4.5em);
    }
    .race-info__content__details__link,
    .race-info__content__details__prize {
        display: inline-block;
    }
    .race-info__content__details__link:after {
        width: 8px;
        margin-left: 0;
    }
    .race-info__content__details__prizes__title {
        display: inline-block;
    }
    @supports(display:flex) {
        .race-info__summary__title,
        .race-info__summary__info  {
            width: unset;
            font-size: 1.4rem;
        }
        .race-info__summary__list {
            display: flex;
            flex-flow: row wrap;
            justify-content: space-between;
            align-items: center;
        }
        .race-info__summary__list.-clearfix:before,
        .race-info__summary__list.-clearfix:after {
            content: none;
        }
        .race-info__summary__list li {
            margin-right: 0;
            max-width: unset;
            font-size: 0.75em;
        }
        .race-info__summary__title,
        .race-info__summary__info  {
            width: 100%;
        }
        .race-info__summary__info--double-line {
            width: unset;
            font-size: 0.8em;
        }
        .race-info__summary__item__content {
            line-height: 1.4;
        }
        .race-info__content__details__links,
        .race-info__content__details__prizes__list p {
               display: flex;
               flex-flow: row wrap;
               justify-content: space-between;
               align-items: flex-start;
        }
    }
}
/* BP large */
@media only screen and (min-width: 75em) { /* 1200px */
    .race-info__heading {
        padding-right: 4em;
    }
    .race-info__summary__title,
    .race-info__summary__info  {
        font-size: 1.6rem;
    }
    .race-info__summary__info--double-line {
        font-size: 0.8em;
    }
        @supports(display:flex) {
        .race-info__summary__list li {
            font-size: 1em;
        }
        .race-info__summary__title,
        .race-info__summary__info  {
            font-size: 1.6rem;
        }
        .race-info__summary__info--double-line {
            font-size: 0.8em;
        }
    }
}

/* ---- Trainer view ---- */
.popup-view h3 {
    color: #404040;
}
.popup-view a {
    font-weight: bold;
}
.popup-view table thead {
    font-weight: bold;
    text-transform: uppercase;
    font-family: D-DIN, 'PT Sans', sans-serif;
}
/* ---- Club list ---- */
.club-list {
	list-style: none;
	padding: 0;
	margin: 0;
}
.club-list__item {
	background: #FFF;
    border: 1px solid #D7D7D7;
	margin-bottom: 20px;
	position: relative;
	text-align: center;
	min-height: 200px;
}
.club-list__item--small {
    min-height: 110px;
}
.club-list__item__link {
    display: block;
    width: 100%;
    height: 100%;
}
.club-list__item__logo-wrap {
	background: #FFF;
	padding: 10px 20px;
	min-height: 145px;

	display: -ms-flexbox;
	display: flex;
	-ms-flex-align: center;
	align-items: center;
}
.club-list__item__logo-wrap a {
	display: block;
	width: 100%;
}
.club-list__item__logo {
	margin: 0 auto;
	display: block;
	max-width: 100%;
	max-height: 120px;
}
.club-list__item__content {
	padding: 20px;
}
.club-list--small .club-list__item__content {
    padding: 32px 20px;
}
.club-list__item__content__image img{
    max-height: 160px;
}
.club-list__item__title {
	margin: 0 0 0.5em;
	font-size: 2rem;
    font-family: D-DIN, 'PT Sans', sans-serif;
    padding-top: 56px;
}
.club-list__item:hover .club-list__item__title:after {
    width: 100%;
}

h3.club-list__item__title {
	text-decoration: none;
    color: #505050;
    display:inline-block;
    line-height: 1.25;
    font-size: 1.8rem;
    margin-bottom: 0;
    transition: font-size 300ms ease-in-out;
}
.club-list__item__link .club-list__item__content__image img{
    transform: scale(1);
    transition: transform 300ms ease-in-out;
}
.club-list__item__link:hover .club-list__item__content__image img,
.club-list__item__link:focus .club-list__item__content__image img{
    transform: scale(1.1);
}
.club-list__item__link:hover .club-list__item__title,
.club-list__item__link:focus .club-list__item__title{
    font-size: 2.1rem;
}

@supports(display: flex) {
    .club-list__item,
    .club-list__item__link {
        display: flex;
        flex-flow: row wrap;
        justify-content: center;
        align-items: center;
    }
    .club-list__item--large {
        max-height: 320px;
    }
    .club-list__item--small {
        max-height: 240px;
    }
    .club-list__item__title {
        padding-top: 0;
    }
}
@media screen and (max-width: 768px) {
    .club-list__item__title:after {
        content: none;
    }
    .club-list-col {
        flex-basis: 50%;
        max-width: 50%;
    }
    .club-list--small .club-list-col {
        flex-basis: 100%;
        max-width: 100%;
    }
}


/* BP 4 */
@media screen and (max-width: 600px) {
	.club-list__item__title {
		font-size: 1.8rem;
	}
    .club-list-col {
        flex-basis: 100%;
        max-width: 100%;
    }
    @supports(display: flex) {
        .club-list__item {
            max-height: 200px;
        }
    }
}
@media screen and (min-width: 48em) { /* 768px */
.club-list--small {
    margin-top: 10px;
    }
}

/* ---- Clubs template ---- */
.section--club-header {
    padding-bottom: 0;
}
.club-header-nav {
    position: relative;
    border-top: 1px solid #D7D7D7;
    border-bottom: 1px solid #D7D7D7;
}
.club-header-info__text__title {
	margin: 0 7px 0 0;
}
.club-header-info__logo {
	float: right;
	max-width: 250px;
	margin: 0 0 0px 25px;
	min-height: 118px;
	line-height: 118px;
	vertical-align: bottom;
}

.club-header-info__logo img {
	max-height: 150px;
}
.club-header-info__text {
	margin: 54px 0 13px;
}
.club-header-info__text__title,
.club-header-info__text__region {
	display: inline;
	font-size: 3.2rem;
}
.club-header-nav-list {
	list-style: none;
	margin: 0;
	padding: 0;
	width: 100%;
	display: table;
}
.club-header-nav-list__item {
	display: inline-block;
    position: relative;
}
.club-header-nav-list__item:last-child {
	border-right: none;
}
.club-header-nav-list__item a {
	padding: 16px;
	position: relative;
	display: inline-block;
	text-decoration: none;
	text-align: center;
	font-size: 1.9rem;
	color: #303030;
    text-transform: uppercase;
    font-weight: bold;
    font-family: D-DIN, 'PT Sans', sans-serif;
}
.club-header-nav-list__item a:before {
	content: " ";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
    border-bottom: 3px solid transparent;
}
.club-header-nav-list__item a:after {
	content: "";
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 0px;
    height: 100%;
    border-bottom: 3px solid #D7D7D7;
    -webkit-transition: width 500ms ease-in-out;
    -o-transition: width 500ms ease-in-out;
    transition: width 500ms ease-in-out;
}
.club-header-nav-list__item a:hover:after {
    width: 100%;
}
.feature-box.club-highlight-colour .feature-box-subtle-title {
	color: #FFF;
}
.club-template .feature-box-subtle-title__text,
.club-template h2,
.club-template .mainbar h2,
.club-template h3,
.club-template .mainbar h3,
.club-template h4,
.club-template .mainbar h4 {
    font-family: D-DIN, 'PT Sans', sans-serif;
    border-bottom: none;
}

.section--club-content__mainbar {
    padding-right: 80px;
    padding-right: 8rem;
}
.race-stage-tag {
    background: #F3F3F3;
    padding: 6px 16px 6px;
    color: #303030;
    font-size: 1.4rem;
    border-radius: 0;
    margin: 0 0;
    border: 1px solid #D7D7D7;
    font-family: D-DIN, 'PT Sans', sans-serif;
}
.section--club-content__mainbar .banner--club {
    margin-bottom: 60px;
    margin-bottom: 6rem;
}
.club-content__title.decal--underline--base {
    border-bottom: 1px solid #D7D7D7;
}
.club-content__title.decal--underline--base span:after {
    bottom: -0.5em;
    bottom: calc(-0.5em - 1px);
}
.section--club-content__mainbar .club_contact_form .field-label {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

@media screen and (max-width: 1190px) {
    .section--club-content__mainbar {
        padding-right: 60px;
        padding-right: 6rem;
    }
}
@media screen and (max-width: 920px) {
    .section--club-content__mainbar {
        padding-right: 1rem;
    }
}
/* Partners gallery */
.partners-gallery {
	list-style: none;
	padding: 0;
	margin: 0;
}
.partners-gallery__item {
	margin: 0 4.33333333% 35px 0;
	float: left;
	width: 16.5%;
	text-align: center;
}
.partners-gallery__item:nth-child(5n+5) {
	margin-right: 0;
}
.partners-gallery__item a {
	display: block;
}
.partners-gallery__item a:hover {
	opacity: 0.7;
}
.partners-gallery__item img {
	max-height: 120px;
	max-width: 160px;
}
.partners-gallery__item-image {
	min-height: 150px;
}

/* BP 2 */
@media screen and (max-width: 920px) {
	.partners-gallery__item {
		margin: 0 4% 35px 0;
		width: 22%;
	}
	.partners-gallery__item:nth-child(5n+5) {
		margin-right: 4%;
	}
	.partners-gallery__item:nth-child(4n+4) {
		margin-right: 0;
	}
	.partners-gallery__item img {
		max-height: 94px;
		max-width: 120px;
	}
}

/* BP 3 */
@media screen and (max-width: 730px) {
	.partners-gallery__item {
		margin-bottom: 13px;
	}
	.partners-gallery__item img {
		max-height: 75px;
		max-width: 90px;
	}
}

/* BP 4 */
@media screen and (max-width: 600px) {
	.partners-gallery__item {
		margin: 0 2% 7px 0;
		width: 30.6666666%;
	}
	.partners-gallery__item:nth-child(5n+5),
	.partners-gallery__item:nth-child(4n+4) {
		margin-right: 2%;
	}
	.partners-gallery__item:nth-child(3n+3) {
		margin-right: 0;
	}
	.partners-gallery__item img {
		max-height: 50px;
		max-width: 70px;
	}
    .club-header-nav {
        padding: 16px 0;
    }
}

/* BP 1 */
@media screen and (max-width: 1190px) {
	.club-header-nav-list__item a {
		font-size: 1.6rem;
	}
	.club-header-info__text {
		margin: 38px 0 13px;
	}
	.club-header-info__logo {
		margin: 5px 0 5px 20px;
		width: 140px;
		min-height: 108px;
		line-height: 108px;
	}
}

/* BP 2 */
@media screen and (max-width: 920px) {
	.club-header-info__text {
		margin: 39px 0 13px;
	}
	.club-header-nav-list__item a {
		padding: 13px 0;
		font-size: 1.4rem;
	}
}

/* BP 3 */
@media screen and (max-width: 730px) {
	.club-header-nav-list__item {
		display: block;
		border-right: none;
		border-top: 1px solid #FFF;
	}
	.club-header-info__logo {
		width: 90px;
		line-height: 90px;
		min-height: 95px;
	}
	.club-header-info__text {
		margin: 32px 0 13px;
	}
	.club-header-nav-list__item a {
		font-size: 1.2rem;
		padding: 7px 15px;
		text-align: left;
	}
}

/* BP 4 */
@media screen and (max-width: 600px) {
	.club-header-nav-list__item:first-child {
		border-top: none;
	}
	.club-header-info {
		padding: 14px 15px;
	}
	.club-header-info__text {
		margin: 5px 0 0;
		text-align: center;
	}
	.club-header-info__text__title,
	.club-header-info__text__region {
		font-size: 2.8rem;
	}
	.club-header-info__logo {
		width: 80px;
		line-height: inherit;
		min-height: auto;
		display: block;
		float: none;
		margin: 5px auto;
	}
}

/* ---- Bar slider ---- */
.section.section--bar-slider > .container {
	padding-top: 18px;
	padding-bottom: 15px;
    border: 1px solid #d7d7d7;
    background-color: #F3F3F3;
}
.bar-slider-list {
	list-style-type: none;
	padding: 0;
	margin: 0;
}
.bar-slider-list__item__title-container {
	float: left;
    width: 100%;
}
.bar-slider-list__item__club-title {
	margin-bottom: 12px;
    text-transform: uppercase;
    font-family: D-DIN, 'PT Sans', sans-serif;
    font-weight: 600;
}
.bar-slider-list__item__title {
	margin: 0;
    line-height: 1;
}
.bar-slider-list__item__date {
	font-size: 1.6rem;
	display: inline-block;
    font-weight: bold;
    opacity: 0.5;
}
.bar-slider-list__item:before,
.bar-slider-list__item:after {
	content: " ";
	display: table;
}
.bar-slider-list__item:after {
	clear: both;
}
.bar-slider-list__item__details {
	float: right;
}
.bar-slider-list__item__details .detail-list {
	display: inline-block;
	vertical-align: top;
}
.bar-slider-list__item {
	padding: 12px 32px;
	outline: none;
}

/* Slider */
.slick-loading .slick-list {
	background: #fff url('../images/ajax-loader.gif') center center no-repeat;
}

.bar-slider--slick .bar-slider-list__item:not(.slick-slide):nth-child(1n+2) {
	display: none;
}

/* Arrows */
.slick-prev,
.slick-next {
	font-size: 0;
	line-height: 0;
	position: absolute;
	top: 50%;
	display: block;
	width: 40px;
	height: 47px;
	padding: 0;
	transform: translate(0, -50%);
	cursor: pointer;
	color: transparent;
	border: none;
	outline: none;
	z-index: 2;
}
.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
	color: transparent;
	outline: none;
	opacity: 0.6;
}

.slick-prev {
	left: 20px;
	background: url(../images/icon-arrow-left.png) no-repeat center center;
}
.slick-next {
	right: 20px;
	background: url(../images/icon-arrow-right.png) no-repeat center center;
}


/* Dots */
.slick-dotted.slick-slider {
	margin-bottom: 0;
}

.slick-dots {
	position: absolute;
	bottom: 10px;
	display: block;
	width: 100%;
	padding: 0;
	margin: 0;
	list-style: none;
	text-align: center;
}
.slick-dots li {
	position: relative;
	display: inline-block;
	width: 20px;
	height: 20px;
	margin: 0 3px;
	padding: 0;
	cursor: pointer;
	text-align: center;
}
.slick-dots li button {
	font-size: 0;
	line-height: 0;
	display: block;
	width: 16px;
	height: 16px;
	cursor: pointer;
	color: transparent;
	border: 0;
	outline: none;
	background-color: rgba(255,255,255,0.25);
	border-radius: 50%;
	padding: 0;
	text-indent: -9999px;
}
.slick-dots li button:hover,
.slick-dots li button:focus {
	outline: none;
	background-color: rgba(255,255,255,0.5);
}
.slick-dots li.slick-active button {
	background-color: rgba(255,255,255,0.75);
}

/* BP 1 */
@media screen and (max-width: 1190px) {
    .bar-slider-list__item {
        padding-left: 32px;
        padding-right: 32px;
    }
	.slick-prev,
	.slick-next {
		width: 35px;
		height: 41px;
		background-size: 18px;
	}
	.slick-prev {
		left: 12px;
	}
	.slick-next {
		right: 12px;
	}
	.bar-slider-list__item__title-container {
		max-width: none;
		margin: 0 0 10px;
		float: none;
	}
	.bar-slider-list__item__details {
		float: left;
	}
	.section.section--bar-slider > .container {
		padding-top: 14px;
		padding-bottom: 12px;
	}

}

/* BP 2 */
@media screen and (max-width: 920px) {
	.bar-slider-link {
		margin: 10px 0 0 20px;
	}
	.bar-slider-list__item__details .detail-list {
		display: block;
	}
	.bar-slider-link {
		margin: 10px 0 0 0;
	}
}

/* BP 3 */
@media screen and (max-width: 730px) {
	.bar-slider-list__item__details {
		float: none;
	}
}

/* BP 4 */
@media screen and (max-width: 600px) {
	.slick-prev,
	.slick-next {
		width: 29px;
		height: 32px;
		background-size: 12px;
	}
	.slick-prev {
		left: 3px;
	}
	.slick-next {
		right: 3px;
	}
	.slick-dotted.slick-slider {
		margin-bottom: 10px;
	}
}

/* BP medium */
@media only screen and (min-width: 62em) { /* 992px */
    .bar-slider-list__item__details {
        display: block;
        width: 100%;
    }
    .bar-slider-list__item__details .race-info__summary__list {
        margin-bottom: 12px;
    }
    .bar-slider-list__item__details .race-info__summary__list .race-info__summary__list__item--double-line {
        max-width: none;
    }
    .bar-slider-list__item__details .race-info__summary__info--double-line {
        max-width: 180px;
    }
/*    Styling for if there's no details list */
    .bar-slider-list__item--no-details .bar-slider-list__item__details {
        display: inline-block;
        width: unset;
        position: absolute;
        right: 32px;
        top: 14px;
        top: calc(50% - 20px);
    }
    .bar-slider-list__item--no-details.bar-slider-list__item {
        position: relative;
    }
    .bar-slider-list__item--no-details .bar-slider-list__item__club-title,
    .bar-slider-list__item--no-details .bar-slider-list__item__title-container {
        margin-bottom: 0;
    }


    @supports(display:flex) {
        .bar-slider-list__item__details .race-info__summary__item__content {
            justify-content: start;
        }
    }
}
/* BP large */
@media only screen and (min-width: 75em) { /* 1200px */
    .bar-slider-list__item__details .race-info__summary__list li {
        max-width: 25%;
    }
    .bar-slider-list__item__details .race-info__summary__info--double-line {
        font-size: 1.6rem;
    }
}

/* ---- Detail list ---- */
.detail-list {
	list-style: none;
	padding: 0;
	margin: 0;
}
.detail-list:before,
.detail-list:after {
	content: " ";
	display: table;
}
.detail-list:after {
	clear: both;
}
.detail-list__item {
	text-align: center;
	margin-right: 20px;
	max-width: 130px;
	display: inline-block;
	vertical-align: top;
}
.detail-list__item:last-child {
	margin-right: 0;
}
.detail-list__item__text {
	font-size: 1.4rem;
	margin: 0;
}
.detail-list__item__icon-wrapper {
	margin: 0 auto 12px;
}
.detail-list__item__icon {
	max-height: 29px;
}
.slick-slide .detail-list__item__icon {
	float: none;
	margin: 0 auto;
}
.slick-slide .detail-list__item__text {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* BP 1 */
@media screen and (max-width: 1190px) {
	.detail-list__item__text {
		font-size: 1.1rem;
	}
	.detail-list__item__icon-wrapper {
		max-width: 47px;
		max-height: 29px;
	}
}

/* BP 3 */
@media screen and (max-width: 730px) {
	.detail-list__item {
		display: block;
		max-width: none;
		text-align: left;
		margin: 0 0 8px;
		position: relative;
	}
	.detail-list__item__icon-wrapper {
		float: left;
		margin: 0 15px 0 0px;
		max-width: 33px;
		position: absolute;
		left: 0;
		top: 0;
	}
	.detail-list__item:before,
	.detail-list__item:after {
		content: " ";
		display: table;
	}
	.detail-list__item:after {
		clear: both;
	}
	.detail-list__item__text {
		padding-left: 50px;
		padding-top: 3px;
	}
	.slick-slide .detail-list__item__text {
		white-space: normal;
		overflow: visible;
		text-overflow: initial;
	}
}

/* BP 4 */
@media screen and (max-width: 600px) {
	.detail-list__item:before,
	.detail-list__item:after {
		content: " ";
		display: table;
	}
	.detail-list__item:after {
		clear: both;
	}
	.detail-list__item__icon-wrapper {
		margin: 0;
		max-width: none;
		max-height: none;
		width: 45px;
		float: left;
	}
	.detail-list__item__icon {
		max-height: 20px;
		max-width: 40px;
	}
	.slick-slide  .detail-list__item__icon {
		margin: 0;
	}
}

/* ---- Banner ---- */
.section.section--banner > .container {
	padding: 0;
}
.banner-slider {
	list-style: none;
	padding: 0;
	margin: 0;
}

.banner__item,
.banner-slider__item {
	position: relative;
	height: 393px !important;
}

.banner-image {
	background-image: url(../images/temp/banner-home/banner.jpg);
	background-size: cover;
	background-position: top center;
	background-repeat: no-repeat;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
}
.banner-image--shadow:before {
	content: " ";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: url(../images/banner-shadow.png) center center no-repeat;
	background-size: cover;
}

.banner-text {
	position: absolute;
	z-index: 1;
	padding: 50px 60px;
	color: #FFF;
	bottom: 0;
	right: 0;
    width: 100%;
    height: 100%;
    padding: 40px 40px 32px;
    background-color: rgba(0,0,0,0.2);
}
.banner-title {
	font-size: 3.7rem;
	line-height: 1;
    text-shadow: 1px 1px 5px rgba(0,0,0,0.5);
}

.banner-text__content {
	font-size: 1.9rem;
}
.add-to-calendar-button {
	color: #FFF;
	text-decoration: none;
	font-size: 1.3rem;
	margin: 0 0 0 15px;
	display: inline-block;
}
.add-to-calendar-button:hover,
.add-to-calendar-button:focus {
	text-decoration: underline;
	color: #FFF;
}
.add-to-calendar-button img,
.slick-slide .add-to-calendar-button img {
	margin: -4px 10px 0 0;
	display: inline-block;
}
.banner-buttons .button {
    background: #fff;
}
.banner-buttons .button:hover {
    background: #004d72;
    border: 1px solid #004d72;
}
@supports(display: flex) {
    .banner-text {
        display: flex;
        flex-flow: column wrap;
        justify-content: flex-end;
        align-items: flex-start;
    }
}

/* Skinny */
.banner--skinny .banner-title {
	font-size: 3.5rem;
}
.banner--skinny .banner-image {
	background-image: url(../images/temp/banner-club/banner.jpg);
}

/* BP 1 */
@media screen and (max-width: 1190px) {
	.banner__item,
	.banner-slider__item {
		height: 289px !important;
	}
	.banner-title {
		font-size: 3rem;
		margin: 0 0 0.7rem;
	}
	.banner-text__content {
		font-size: 1.7rem;
	}
	.banner--skinny .banner-title {
		font-size: 3rem;
	}
}

/* BP 2 */
@media screen and (max-width: 920px) {
	.banner-text {
		text-align: center;
		left: 0;
		width: auto;
	}
	.banner-buttons .add-to-calendar-button {
		display: none;
	}
	.banner-text__content {
		display: none;
	}
	.banner-image--shadow:before {
		background-image: url(../images/banner-shadow-mobile.png);
	}
	.banner__item,
	.banner-slider__item {
		height: 240px !important;
	}
	.banner-title {
		font-size: 2.6rem;
	}
    .banner--skinny .banner-title {
        font-size: 4vw;
    }
}

/* BP 3 */
@media screen and (max-width: 730px) {
	.banner-buttons .add-to-calendar-button {
		display: none;
	}
	.banner__item,
	.banner-slider__item {
		height: 220px !important;
	}
	.banner-title {
		font-size: 2.2rem;
	}
    .banner--skinny .banner-title {
        font-size: 6vw;
    }
    .banner-text {
        padding: 24px 32px;
        background-color: rgba(0,0,0,0.1);
        display: block;
    }
    @supports(display:flex) {
        .banner-text {
        display: flex;
        flex-flow: column wrap;
        justify-content: center;
        align-items: center;
        }
    }
}

/* BP 4 */
@media screen and (max-width: 600px) {
	.banner__item,
	.banner-slider__item {
		height: 170px !important;
	}
}

/* BP 5 */
@media screen and (max-width: 500px) {
	.banner__item {
		height: 120px !important;
	}
	.banner-slider__item {
		height: 150px !important;
	}
}

/* ---- Home boxes ---- */
.section.section--home-boxes > .container {
	padding-top: 24px;
	padding-bottom: 24px;
}

/* BP 4 */
@media screen and (max-width: 600px) {
	.section.section--home-boxes > .container {
		padding-top: 15px;
		padding-bottom: 15px;
	}
}

/* Race title */
.race-title a {
	color: #FFF;
}
.race-title {
	padding: 20px 90px;
	position: relative;
	margin: 0 0 25px;
}
.race-title:before {
	color: #FFF;
	display: block;
	content: attr(data-race-number);
	font-size: 7rem;
	font-weight: 600;
	position: absolute;
	top: 4px;
	left: 10px;
	text-align: center;
	width: 70px;
}
.race-title:after {
	color: #FFF;
	display: block;
	content: attr(data-race-letter);
	font-size: 3rem;
	font-weight: 600;
	position: absolute;
	top: 34px;
	right: 20px;
	text-align: center;
	width: 40px;
	height: 40px;
	text-transform: uppercase;
	border: 2px solid #FFF;
	border-radius: 10px;
}

/* BP 3 */
@media screen and (max-width: 730px) {
	.race-title {
		padding: 20px 50px;
	}
	.race-title:before {
		font-size: 3.9rem;
		top: 5px;
		left: 5px;
		text-align: center;
		width: 40px;
	}
	.race-title:after {
		font-size: 1.9rem;
		top: 11px;
		right: 11px;
		width: 30px;
		height: 30px;
		line-height: 1.4;
	}
}

/* ---- Stats bar ---- */
.fields-stat-bar {
	padding: 15px 20px;
	margin: 20px 0 20px;
}
/* BP 4 */
@media screen and (max-width: 600px) {
	.fields-stat-bar {
		margin: 0 0 10px;
		padding: 10px 15px;
	}
}

/* ---- Date ---- */
.date {
	font-size: 2.2rem;
	font-weight: bold;
	margin: 5px 0 15px 0;
	padding-left: 34px;
	background: url(../images/icon-calendar.png) no-repeat;
	background-position: 0 2px;
}
.date__time {
	display: block;
	font-size: 1.7rem;
}
#calendar .other-month .date {
	background: #fff;
	color: #bbb;
}
/* BP 2 */
@media screen and (max-width: 920px) {
	.date {
		font-size: 1.8rem;
		padding-left: 27px;
		background-size: 18px;
	}
}
/* ---- Result list ---- */
.result-list {
	list-style: none;
	padding: 0;
	margin: 0 0 20px;
	counter-reset: result-list;
	cursor: default;
}
.result-list-item {
	border-bottom: 1px solid #D7D7D7;
	counter-increment: result-list;
	position: relative;
	padding: 14px 0 0;
}
.result-list-item:last-child {
	border-bottom: none;
}
.race-list .result-list-item {
	border-bottom-color: #d0d0d0;
}
.result-list-item:before,
.result-list-item:after {
	content: " ";
	display: table;
}
.result-list-item:after {
	clear: both;
}
.result-list-item__avatar {
	float: left;
}
.result-list-item__content {
	padding-left: 125px;
	padding-right: 70px;
	padding-bottom: 21px;
	position: relative;
	font-size: 1.6rem;
}
.result-list-item__content p:last-child {
	margin-bottom: 0;
}
.result-list-item__content:before {
	content: counter(result-list) ".";
	position: absolute;
	left: 98px;
	font-size: 1.9rem;
	top: 0;
}
.result-list-item__title {
	font-size: 1.9rem;
}
.result-list-item__more-info-button,
.result-list-item__expand-button {
	position: absolute;
	right: 20px;
	top: 33px;
	-webkit-appearance: none;
	outline: none;
	border: none;
	padding: 0;
	display: block;
	background-repeat: no-repeat;
	width: 35px;
	height: 40px;
	cursor: pointer;
	background-color: transparent;
}
.result-list-item__more-info-button {
	background-image: url(../images/icon-arrow-right-black.png);
	background-position: 9px 5px;
	background-size: 17px;
}
.result-list-item__expand-button {
	background-image: url(../images/icon-arrow-down-black.png);
	background-position: 0 11px;
	background-size: 35px;
}
.result-list-item--expanded .result-list-item__expand-button {
	background-image: url(../images/icon-arrow-up-black.png);
}
.result-list-item__expand-button:hover,
.result-list-item__more-info-button:hover,
.result-list-item__more-info-button:focus {
	opacity: 0.3;
}
.result-list-item__expand-content {
	clear: both;
	background: #D7D7D7;
	padding: 15px;
	display: none;
}
.result-list-item__expand-content p:last-child {
	margin-bottom: 0;
}
.result-list-item__expand-content:before,
.result-list-item__expand-content:after {
	content: " ";
	display: table;
}
.result-list-item__expand-content:after {
	clear: both;
}
/* BP 3 */
@media screen and (max-width: 730px) {
	.result-list-item__content {
		padding-left: 75px;
		padding-right: 30px;
	}
	.result-list-item__avatar {
		width: 50px;
	}
	.result-list-item__content:before {
		left: 54px;
	}
	.result-list-item__expand-button {
		right: 0;
		top: 5px;
		background-size: 23px;
		width: 23px;
		height: 30px;
	}
}

/* ---- Race list - list results ---- */
.race-list.race-list--no-dates .race-list__item p,
.race-list.race-list--no-dates .race-list__item a {
    line-height: 1.25;
}

/* ---- Race list ---- */
.race-list {
	list-style: none;
	padding: 0;
	margin: 0;
	counter-reset: race-list;
	line-height: 1.25;
}
.race-list__item {
	margin-bottom: 16px;
	position: relative;
	z-index: 1;
    background: #F3F3F3;
    border: 1px solid #D7D7D7;
}
.race-list__item a.race-list__item__content {
	text-decoration: none;
}
.race-list__item .race-list__item__content {
	color: #202020;
	display: block;
	padding: 16px 20px;
	background-repeat: no-repeat;
}
.race-list__item:before {
	counter-increment: race-list;
	content: counter(race-list);
	color: #FFF;
	background-color: #545454;
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 60px;
	text-align: center;
	font-family: D-DIN, 'PT Sans', sans-serif;
	font-size: 3.6rem;
	font-weight: 600;
	padding: 11px 5px;
	z-index: -1;
}
.race-list-list__title {
	font-size: 1.9rem;
	font-weight: 600;
	margin: 0;
    font-family: D-DIN, 'PT Sans', sans-serif;
}
.race-list-list__date {
    font-family: D-DIN, 'PT Sans', sans-serif;
    font-size: 1.6rem;
}
.race-list__item__content > p:last-child,
.race-list__item__content > p:last-of-type {
	margin-bottom: 0;
}
.race-list-item__stage {
	position: absolute;
	top: 16px;
    top: calc(50% - 18px);
	right: 64px;
	z-index: -1;
}
.race-list-item__stage__button,
.race-list-item__stage__text {
    color: #505050;
    background-color: transparent;
    transition: all 250ms ease-in-out;
}
.race-list__item:hover .race-list-item__stage__button,
.race-list-item__stage__button:hover {
	background-color: #505050;
    color: #fff;
    border-color: #505050;
}
.race-list__item:hover .race-list-item__arrow,
.race-list-item__arrow:hover {
    -webkit-animation: arrows-slide .300s cubic-bezier(0.400, -0.105, 0.590, 1.140) normal;
    animation: arrows-slide .300s cubic-bezier(0.400, -0.105, 0.590, 1.140) normal;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
}
.race-list.race-list--no-dates .race-list__item:before {
    content: none;
}
.race-list-item__arrow {
    position: absolute;
    right: 16px;
    top: 50%;
    top: calc(50% - 12px);
}
.race-list-item__arrow svg {
    width: 24px;
    height: 24px;
}
.race-list-item__arrow svg path {
    stroke: #505050;
}
/* On light grey */
.bg-light-grey .race-list__item {
	background-color: #D7D7D7;
}
.bg-light-grey .race-list__item__content {
	background-color: transparent;
}
.race-list--hover:hover {
    background: #d7d7d7;
}
/* Expando version */
.race-list__expando {
	display: none;
	padding: 25px 0 20px 85px;
}
.race-list__item .race-list__item__content.race-list__expando__button {
	-webkit-appearance: none;
	border: none;
	outline: 0;
	text-align: left;
	width: 100%;
	background-image: url(../images/icon-arrow-right-black.png);
	background-position: right 15px top 10px;
}
.race-list__expando__intro {
	margin: 0 0 20px;
}
.race-list__expando__intro:before,
.race-list__expando__intro:after {
	content: " ";
	display: table;
}
.race-list__expando__intro:after {
	clear: both;
}
.race-list__videos {
	float: right;
	margin: 0 0 0 25px;
	max-width: 180px;
}
.race-list__expando__intro__video {
	margin-bottom: 17px;
}
.race-list__video__title {
	margin: 0 0 14px;
}
.race-list__video__button {
	display: block;
	position: relative;
}
.race-list__video__button:hover {
	opacity: 0.9;
}
.race-list__video__button:after {
	content: " ";
	background: url(../images/icon-play.png) no-repeat;
	background-size: 100%;
	position: absolute;
	top: 50%;
	left: 50%;
	margin-right: -50%;
	z-index: 1;
	transform: translate(-50%, -50%);
	width: 36px;
	height: 36px;
	display: block;
}
.race-link-list {
	margin: 0;
	padding: 0;
	width: 100%;
	list-style: none;
}
.race-link-list-title {
	display: inline-block;
	margin: 6px 11px 0 0;
	float: left;
}

.race-link-list__item {
	margin: 0 3px 15px;
	padding: 0;
	display: inline-block;
}
.race-link-list__item a:hover {
	background-color: #d8d8d8;
}
.race-link-list__item.on a {
	background-color: #545454;
	color: #FFF;
}
.race-link-list__small_item {
	padding: 0 9px;
	text-align: center;
	color: #fff;
}
.race-link-list__item a {
	display: block;
	text-decoration: none;
	text-align: center;
	color: #5a5a5a;
	padding: 10px 5px;
	width: 40px;
	height: 40px;
	background-color: #e6e6e6;
	border-radius: 5px;
	line-height: 1.2;
}
.race-expando-arrow {
    background: url(../images/icon_arrow--right--drk-grey.svg) transparent no-repeat center center;
	background-size: 50%;
	border: none;
	width: 28px;
	height: 35px;
	-webkit-appearance: none;
    -webkit-transition: all 500ms ease-in-out;
    -o-transition: all 500ms ease-in-out;
    transition: all 500ms ease-in-out;
	outline: none;
    transform: rotate(90deg);
}
.race-expando-arrow.up {
	transform: rotate(-90deg);
	-webkit-transition: all 300ms ease-in-out;
    -o-transition: all 300ms ease-in-out;
    transition: all 300ms ease-in-out;
}
.button--unstyled {
	background: none;
	border: none;
	width: 100%;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	word-wrap: break-word;
	padding: 0;
	text-align: left;
}

/* BP 2 */
@media screen and (max-width: 920px) {

	.race-list__item:before {
		width: 49px;
		font-size: 2.7rem;
	}

	.race-list-item__stage {
		position: relative;
		top: auto;
		right: auto;
		padding-top: 9px;
	}

	.race-list-item__stage,
	.race-list__item .race-list__item__content {
		padding-left: 65px;
	}

	.race-list.race-list--no-dates .race-list-item__stage,
	.race-list.race-list--no-dates .race-list__item .race-list__item__content {
		padding-left: 16px;
	}
	.race-list.race-list--dates .race-list__item:before {
		width: 80px;
		font-size: 1.4rem;
	}
	.race-list__item .race-list__item__content {
		padding-right: 39px;
		padding-top: 6px;
		padding-bottom: 10px;
	}
	.race-list__item a.race-list__item__content,
	.race-list__item .race-list__item__content.race-list__expando__button {
		background-position: right 12px top 0px;
		background-size: 15px;
	}
	.race-list-list__title {
		font-size: 1.4rem;
	}
	.race-list-item__stage__button,
	.race-list-item__stage__text {
		padding: 4px 8px;
		font-size: 1.2rem;
	}
	.race-list__item .race-list__item__content.race-list__expando__button {
		font-size: 1.3rem;
	}
	.race-expando-arrow {
		background-size: 16px;
		width: 24px;
		height: 28px;
	}
	.race-list__videos {
		width: 200px;
	}
    .race-list-list__date {
        font-size: 1.2rem;
    }
}


/* BP 3 */
@media screen and (max-width: 730px) {
	.race-link-list-title {
		margin: 3px 11px 0 0;
	}
	.race-link-list__item {
		margin: 0 1px 12px;
	}
	.race-link-list__item a {
		padding: 7px 3px;
		width: 28px;
		height: 28px;
		font-size: 1.3rem;
	}
	.race-expando-arrow {
		background-size: 14px;
		width: 14px;
		height: 25px;
	}
	.race-list__videos {
		width: 140px;
	}
}

/* BP 4 */
@media screen and (max-width: 600px) {
	.race-list__videos {
		float: none;
		margin: 0;
		width: 100%;
		max-width: none;
	}
	.race-list__videos:before,
	.race-list__videos:after {
		content: " ";
		display: table;
	}
	.race-list__videos:after {
		clear: both;
	}
	.race-list__expando__intro__video {
		float: left;
		width: 47%;
		margin-right: 5%;
	}
	.race-list__expando__intro__video {
		margin-bottom: 0;
	}
	.race-list__expando__intro__video:last-child {
		margin-right: 0;
	}
}


/* ---- Race table ---- */
.race-table .race-table__expando > td {
	padding: 0;
	border-bottom: none;
}

.race-table__expando-inner {
	display: none;
	border-bottom: 1px solid #d7d7d7;
	background: #FFF;
	border-left: 3px solid #404040;
}
.race-table {
	border: none;
	width: 100%;
    font-family: 'PT Sans', D-DIN, sans-serif;
}
.race-table > tbody > tr:hover > td {
	background: #ededed;
}

.race-table > thead > tr > th,
.race-table > tbody > tr > td {
	border: none;
	padding: 12px 12px;
	text-align: left;
}
.race-table > thead > tr > th {
	background: none;
	padding-top: 13px;
	padding-bottom: 13px;
	border-bottom: 1px solid #D7D7D7;
	white-space: nowrap;
	font-size: 1.6rem;
	line-height: 1;
    color: #505050;
    text-transform: uppercase;
    font-weight: bold;
    vertical-align: top;
    font-family: D-DIN, 'PT Sans', sans-serif;
}
.race-table > thead > tr > th > span{
    text-transform: none;
    display:block;
    color: #707070;
}
.race-table > tbody > tr > td {
	font-size: 1.6rem;
	border-bottom: 1px solid #d7d7d7;
}

.race-table__body-row--late-scratch > td {
	background: url(../images/bg_race-table-strikethrough.svg) repeat-x center center;
}

.race-table > tbody > .race-table__body-row--late-scratch:hover > td {
	background-color: #ededed;
	background: url(../images/bg_race-table-strikethrough.svg) #ededed repeat-x center center;
}

.race-table__position {
	font-weight: bold;
}
.race-table__name__avatar,
.race-table__name__horse,
.race-table__name__jockey,
.race-table__name__trainer {
	float: left;
}
.race-table__name__avatar {
	width: 29px;
	margin-right: 19px;
}
.race-table__name__horse {
	display: inline-block;
	width: auto;
	line-height: 1.2;
    color: #505050;
    text-transform: uppercase;
}
.race-table__name__jockey,
.race-table__name__trainer {
    display: block;
    width: 100%;
	margin: 0 0;
    font-size: 1.2rem;
    color: #707070;
}
.race-table__name__jockey a,
.race-table__name__trainer a {
    text-decoration: none;
    color: #707070;
}
.race-table__name__jockey a:hover,
.race-table__name__trainer a:hover {
	color: #505050;
    text-decoration: underline;
}
.race-table__stage {
	position: relative;
	margin: 0 0 15px;
}
.race-table__stage__button,
.race-table__stage__text {
	background: #222;
	padding: 4px 12px;
	color: #FFF;
	text-transform: uppercase;
	font-weight: bold;
	font-size: 1.2rem;
	border-radius: 3px;
	margin: 0;
	display: inline-block;
}
.race-table__stage__text {
	margin: 0;
}
.race-table__stage__button {
	-webkit-appearance: none;
	border: none;
	outline: none;
}
.race-table__stage__button:hover {
	background-color: #000;
}
.race-table__details__list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: -ms-flexbox;
	display: flex;
	border-bottom: 1px solid #d7d7d7;
}

.race-table__details--horse .race-table__details__list {
    border: 1px solid #d7d7d7;
}

.race-table__details__item {
	-ms-flex: 1 1 auto;
	    flex: 1 1 auto;
	border-right: 1px solid #d7d7d7;
	padding: 20px 22px;
	max-width: 270px;
}
.race-table__details__item--wide {
	-ms-flex: 2 1 auto;
	    flex: 2 1 auto;
}
.race-table__details__item__title {
	margin: 0 0 3px;
	font-size: 1.3rem;
	font-weight: bold;
	text-transform: uppercase;
	color: #404040;
	line-height: 1.2;
    font-family: D-DIN, 'PT Sans', sans-serif;
}
.race-table__details--horse .race-table__details__item__title {
    color: #404040;
    font-size: 1.8rem;
}
.race-table__details__item__data {
	margin: 0;
	font-size: 1.3rem;
}

.race-table__stats {
	padding: 25px 0;
}
.race-table__stats__no-history {
    margin: 0;
    padding: 0 20px 22px;
    text-align: center;
    color: #505050;
    font-size: 1.4rem;
}
.race-table__stats__list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: -ms-flexbox;
	display: flex;
}
.race-table__stats__item {
	-ms-flex: 1;
	    flex: 1;
	padding: 0 23px;
}
.race-table__stats__item__title {
	margin: 0;
	font-size: 1.3rem;
	font-weight: normal;
	text-transform: uppercase;
	color: #404040;
	background-color: #f3f3f3;
	border: 1px solid #d7d7d7;
	text-align: center;
	padding: 5px 10px;
    font-family: D-DIN, 'PT Sans', sans-serif;
}
h3.race-table__stats__item__title {
    color: #404040;
}
.race-table__stats__item--active h3.race-table__stats__item__title {
    color: #FFF;
    background-color: #004d72;
    border-color: #004d72;
}
.race-table__stats__item .race-table__stats__item__title {
    font-weight: bold;
}
.race-table__stats__item__data {
	text-align: center;
	padding: 9px 0 0;
	margin: 0;
	font-size: 1.6rem;
}

.race-table__stats__item--active .race-table__stats__item__title {
	color: #FFF;
	background-color: #004d72;
	border-color: #004d72;
}

/* Recent form table */
.race-table__recent-form {
	width: 100%;
	border: none;
}
.race-table__recent-form tr {
	border-bottom: 1px solid #d7d7d7;
}
.race-table__recent-form tbody tr:last-child {
	border-bottom: none;
}
.race-table__recent-form__heading-row th,
.race-table__recent-form__data-row td {
	border: none;
	padding: 11px 10px;
	font-size: 1.3rem;
}
.race-table__recent-form__heading-row th {
	background: none;
	font-weight: normal;
	text-transform: uppercase;
	color: #6d6d6d;
	padding-top: 7px;
	padding-bottom: 7px;
}
.race-table__recent-form__heading-row {
	border-top: 1px solid #d7d7d7;
}
.race-table__recent-form__data-row td a {
	color: #6d6d6d;
}
.race-table__recent-form__data-row td a:hover {
	color: #222;
}
.race-table__recent-form__result__list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.race-table__recent-form__data-row:nth-child(odd) {
	background: #f3f3f3;
}
.race-table__recent-form__video img,
.race-table__recent-form__video__fallback {
	width: 60px;
	display: block;
    border-radius: 1px;
}
.race-table__recent-form__video__fallback {
    background: url(../images/icon_video--none.svg) no-repeat center center;
    background-color: rgba(0,0,0,0.15);
    background-size: contain;
	padding-bottom: 40.25%;
}
.race-table__recent-form__video--play a {
	position: relative;
	display: block;
}
.race-table__recent-form__video--play a:after {
	content: " ";
	position: absolute;
	top: 25%;
	left: 25%;
	width: 20px;
	height: 20px;
	background: url(../images/icon-play.png) no-repeat;
	background-size: 20px;
}

.race-table__hide {
	display: none;
}

.race-table__details__item__data a {
	color: #505050;
}
.race-table__details__item__data a:hover {
	color: #222;
}

/* BP 1 */
@media screen and (max-width: 1190px) {
	.race-table__hide-bp1 {
		display: none;
	}
	.race-table__show-bp1 {
		display: block;
	}

	.race-table__stats__item {
		padding: 0 12px;
	}
	.race-table__stats__item__title {
		font-size: 1.2rem;
		padding: 5px 6px;
	}
	.race-table__stats__item__data {
		font-size: 1.3rem;
	}
	.race-table__details__item {
		padding: 14px 15px;
	}
	.race-table__stats {
		padding: 19px 0;
	}
	.race-table__recent-form__heading-row th,
	.race-table__recent-form__data-row td {
		padding: 9px 7px;
		font-size: 1.2rem;
	}
}

@media screen and (max-width: 1070px) {
	.race-table__stats__item {
		padding: 0 7px;
	}
	.race-table__stats__item__title {
		font-size: 1.1rem;
		padding: 4px 4px;
	}
	.race-table__stats__item__data {
		font-size: 1.1rem;
	}
	.race-table__details__item {
		padding: 12px 12px;
	}
	.race-table__stats {
		padding: 14px 0;
	}
	.race-table__recent-form__heading-row th,
	.race-table__recent-form__data-row td {
		padding: 7px 7px;
		font-size: 1.1rem;
	}
	.race-table__details__item__title {
		font-size: 1.2rem;
	}
	.race-table__details__item__data {
		font-size: 1.1rem;
	}
	.race-table > thead > tr > th {
		padding-top: 10px;
		padding-bottom: 10px;
		font-size: 1.3rem;
	}
	.race-table > tbody > tr > td {
		font-size: 1.3rem;
	}
	.race-table__name__avatar {
		width: 23px;
		margin-right: 15px;
	}
	.race-table__name__jockey a,
	.race-table__name__trainer a {
		font-size: 1.2rem;
	}
	.race-table__stats__no-history {
		padding: 0 20px 14px;
		font-size: 1.3rem;
	}
	.race-table__recent-form__video__fallback {
		padding-bottom: 51.2%;
	}
	.race-table__recent-form__video img, .race-table__recent-form__video__fallback {
		width: 50px;
	}

	.race-table__recent-form__video--play a:after {
		top: 6px;
		left: 19px;
		width: 16px;
		height: 16px;
		background-size: 16px;
	}
}

/* BP 2 */
@media screen and (max-width: 920px) {
	.race-table__hide-bp2 {
		display: none;
	}
	.race-table__show-bp2 {
		display: block;
	}
	.race-table__name__jockey,
	.race-table__name__trainer {
		display: none;
	}
	.race-table__details__list {
		display: block;
		padding: 7px 0;
	}
	.race-table__details__item {
		-ms-flex: initial;
		    flex: initial;
	}
	.race-table__details__item__title {
		display: inline;
	}
    .race-table__details--horse .race-table__details__item__title {
        font-size: 1.3rem;
    }
	.race-table__details__item__title:after {
		content: ":";
		display: inline;
	}
	.race-table__details__item__data {
		display: inline;
		font-size: 1.2rem;
	}
    .race-table > thead > tr > th,
    .race-table > tbody > tr > td {
        padding: 6px 10px;
    }
	.race-table__details__item {
		padding: 5px 14px;
		border-right: none;
	}
	.race-table__recent-form__video img,
	.race-table__recent-form__video__fallback {
		width: 40px;
	}
	.race-table__recent-form__video--play a:after {
		top: 6px;
		left: 15px;
		width: 12px;
		height: 12px;
		background-size: 12px;
	}
}

/* BP 3 */
@media screen and (max-width: 730px) {
	.race-table__hide-bp3 {
		display: none;
	}
	.race-table__show-bp3 {
		display: block;
	}
	.race-table__details__item {
		padding: 3px 10px;
	}
	.race-table__stats__item {
		padding: 0 1% 9px;
		width: 25%;
		-ms-flex: initial;
		    flex: initial;
	}
	.race-table__stats__item__title {
		font-size: 1rem;
		padding: 3px 3px;
	}
	.race-table__stats__item__data {
		padding: 6px 0 0;
		font-size: 1rem;
	}
	.race-table__stats {
		padding: 10px 0 0;
	}
	.race-table__stats__list {
		-ms-flex-wrap: wrap;
		    flex-wrap: wrap;
		padding: 0 2%;
	}
	.race-table > thead > tr > th,
	.race-table > tbody > tr > td {
		padding: 2px 3px;
	}
	.race-table > thead > tr > th {
		padding-top: 4px;
		padding-bottom: 4px;
	}
	.race-table__name__avatar {
		width: 11px;
		margin-right: 5px;
	}
	.race-table > tbody > tr > td {
		font-size: 1.1rem;
	}
	.race-table__stats__no-history {
		padding: 0 20px 10px;
		font-size: 1.1rem;
	}
	.race-table__recent-form__heading-row {
		display: none;
	}

	.race-table__recent-form,
	.race-table__recent-form tr,
	.race-table__recent-form tbody,
	.race-table__recent-form td {
		display: block;
		width: 100%;
	}
	.race-table__recent-form tr {
		margin-bottom: 20px;
		border-right: 1px solid #d7d7d7;
		border-left: 1px solid #d7d7d7;
	}
	.race-table__recent-form thead,
	.race-table__recent-form th {
		display: none;
	}
	.race-table__recent-form__data-row td {
		padding: 7px 7px 7px 44%;
		border-top: 1px solid #d7d7d7;
		position: relative;
	}
	.race-table__recent-form__video__fallback {
		display: none;
	}
	.race-table__recent-form .race-table__recent-form__video--fallback {
		display: none;
	}

	.race-table__recent-form td:empty {
		display: none;
	}
	.race-table__recent-form td[data-heading]:before {
		content: attr(data-heading);
		display: block;
		background-color: #f3f3f3;
		padding: 5px 7px 4px;
		margin: 0;
		font-weight: normal;
		color: #303030;
		text-transform: uppercase;
		border-right: 1px solid #d7d7d7;
		width: 40%;
		float: left;
		position: absolute;
		top: 0;
		left: 0;
		bottom: 0;
	}
	.race-table__recent-form__data-row:nth-child(odd) {
		background: #fff;
	}
	.race-table__recent-form tbody tr:last-child {
		margin-bottom: 0;
	}
}

/* BP 4 */
@media screen and (max-width: 600px) {
	.race-table__hide-bp4 {
		display: none;
	}
	.race-table__show-bp4 {
		display: block;
	}
	.race-table__stage {
		float: none;
		margin: 0 0 13px;
	}
	.race-table > thead > tr > th {
		font-size: 1rem;
		white-space: normal;
	}
	.race-table > tbody > tr > td {
		font-size: 1rem;
	}
}


/* video gallery */
.video-gallery-list {
    padding: 0;
    list-style: none;
}

.video-gallery-list__item {
    margin-bottom: 1em;
    position: relative;
}

.video-gallery-list__item:before {
    padding-top: 56.25%;
    content: "";
    display: block;
}

.video-gallery-list__item a {
    position:  absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    color: #fff;
}


.video-gallery-list__item__thumb {
    position: absolute;
    width: 100%;
    top: 0;
    left: 0;
}

.video-gallery-list__item__thumb img {
    max-width: 100%;
}

.video-gallery-list__item__title {
    background-color: rgba(0,0,0,0.6);
    position: absolute;
    padding: 8px;
    width: 100%;
    bottom: 0;
    left: 0;
    text-align: center;
}

.video-gallery-list__item__title P {
	margin: 0;
}

.video-gallery-list__item:hover .video-gallery-list__item__title {
    background-color: rgba(0,0,0,0.8);
}


/* BP 2 */
@media screen and (max-width: 920px) {
	.partners-gallery__item {
		margin: 0 4% 35px 0;
		width: 22%;
	}
	.partners-gallery__item:nth-child(5n+5) {
		margin-right: 4%;
	}
	.partners-gallery__item:nth-child(4n+4) {
		margin-right: 0;
	}
	.partners-gallery__item img {
		max-height: 94px;
		max-width: 120px;
	}
}

/* BP 3 */
@media screen and (max-width: 730px) {
	.partners-gallery__item {
		margin-bottom: 13px;
	}
	.partners-gallery__item img {
		max-height: 75px;
		max-width: 90px;
	}
}

/* BP 4 */
@media screen and (max-width: 600px) {
	.partners-gallery__item {
		margin: 0 2% 7px 0;
		width: 30.6666666%;
	}
	.partners-gallery__item:nth-child(5n+5),
	.partners-gallery__item:nth-child(4n+4) {
		margin-right: 2%;
	}
	.partners-gallery__item:nth-child(3n+3) {
		margin-right: 0;
	}
	.partners-gallery__item img {
		max-height: 50px;
		max-width: 70px;
	}
}

/* Upcoming events list */
.upcoming-events-list {
	list-style: none;
	padding: 0;
	margin: 0;
}
.upcoming-events-list__item {
	margin-bottom: 3px;
}
.upcoming-events-list__item:last-child {
	margin-bottom: 0;
}
.upcoming-events-list__item a {
	display: block;
	background-color: #ededed;
	border-left: 6px solid #555555;
	padding: 11px 19px;
	text-decoration: none;
	color: #444;
	font-size: 1.6rem;
}
.upcoming-events-list__item a:hover {
	background-color: #f7f6f6;
}
.upcoming-events-list__item__date {
	margin: 0;
}
.upcoming-events-list__item__title {
	margin: 0;
	font-weight: bold;
}

/* BP 1 */
@media screen and (max-width: 1190px) {
	.club-header-nav-list__item a {
		font-size: 1.6rem;
	}
	.club-header-info__text {
		margin: 38px 0 13px;
	}
	.club-header-info__logo {
		margin: 5px 0 5px 20px;
		width: 140px;
		min-height: 108px;
		line-height: 108px;
	}
}

/* BP 2 */
@media screen and (max-width: 920px) {
	.club-header-info__text {
		margin: 39px 0 13px;
	}
	.club-header-nav-list__item a {
		padding: 16px;
	}
}

/* BP 3 */
@media screen and (max-width: 730px) {
	.club-header-nav-list__item {
		display: inline-block;
		border-right: none;
	}
	.club-header-info__logo {
		width: 90px;
		line-height: 90px;
		min-height: 95px;
	}
	.club-header-info__text {
		margin: 32px 0 13px;
	}
	.club-header-nav-list__item a {
		font-size: 1.4rem;
		padding: 12px 16px;
		text-align: left;
        text-align: center;
	}
    .club-header-nav-list {
        text-align: left;
    }
}

/* BP 4 */
@media screen and (max-width: 600px) {
    .club-header-nav-list {
        text-align: center;
    }
    .club-header-nav-list__item {
        display: block;
        border-right: none;
    }
	.club-header-info {
		padding: 14px 15px;
	}
	.club-header-info__text {
		margin: 5px 0 0;
		text-align: center;
	}
	.club-header-info__text__title,
	.club-header-info__text__region {
		font-size: 2.8rem;
	}
	.club-header-info__logo {
		width: 80px;
		line-height: inherit;
		min-height: auto;
		display: block;
		float: none;
		margin: 5px auto;
	}
}


/* ---- Fields template ---- */
.field-popup-buttons {
	margin: 0 0 15px;
}
.field-popup-buttons .button {
	margin-bottom: 8px;
}

/* ---- Expando ---- */
.expando-open {
    font-family: D-DIN, 'PT Sans', sans-serif;
    border-bottom: 1px solid rgba(215, 215, 215,0);
    -webkit-transition: border-bottom 250ms ease-in-out;
    -o-transition: border-bottom 250ms ease-in-out;
    transition: border-bottom 250ms ease-in-out;
    color: #1b2243;
}
h2.expando-open {
    border-bottom: 1px solid rgba(215, 215, 215, 0);
    color: #1b2243;
}
button.expando-open {
   border-bottom: none;
}
button.expando-open:hover,
button.expando-open:focus {
    border-bottom: none;
    text-decoration: underline;
}

.expando-open:hover,
.expando-open:focus {
    color: #1b2243;
    text-decoration: none;
    border-bottom: 1px solid rgba(215, 215, 215, 1);
}
.expando-open__icon {
    -webkit-transition: all 250ms ease-in-out;
    -o-transition: all 250ms ease-in-out;
    transition: all 250ms ease-in-out;
}
.expando-open--expanded {
    margin: 0 0;
}
.expando-open--expanded:hover,
.expando-open--expanded:focus {
    border-bottom: 1px solid rgba(215, 215, 215,0);
}
.expando-open:hover .expando-open__icon:before,
.expando-open:hover .expando-open__icon:after {
    background-color: #1b2243;
}
.expando.expando--expanded,
.expando-open__icon {
    background-color: #F3F3F3;
}
.expando.expando--expanded {
    margin-top: 0;
    margin-bottom: 30px;
}
.expando__close:before,
.expando__close:after,
.expando-open__icon:before,
.expando-open__icon:after {
    background-color: #505050;
    -webkit-transition: all 250ms ease-in-out;
    -o-transition: all 250ms ease-in-out;
    transition: all 250ms ease-in-out;
}
.expando__close:hover:before,
.expando__close:hover:after {
    background-color: #1b2243;
}
.expando-open:hover .expando-open__icon {
    background-color: #D7D7D7;
}

/* ---- Expando blocks ---- */
.expando-block {
	margin-bottom: 25px;
}
.expando-block__content {
	display: none;
}
.expando-block__button {
	-webkit-appearance: none;
	padding: 10px 70px 10px 20px;
	display: block;
	width: 100%;
	text-align: left;
	border: none;
	outline: none;
	color: #FFF;
	font-size: 2.5rem;
	line-height: 1.2;
	background: #222222 url(../images/icon-plus.png) no-repeat;
	background-position: right 15px top 6px;
}
.expando-block__button:hover,
.expando-block__button:focus {
	background-color: #000;
}
.expando-block--active .expando-block__button {
	background-image: url(../images/icon-minus.png);
}
.expando-block__content {
	padding: 15px 0;
}

/* BP 2 */
@media screen and (max-width: 920px) {
	.expando-block__button {
		padding: 8px 50px 8px 15px;
		font-size: 2rem;
		background-size: 24px;
		background-position: right 12px top 8px;
	}
}

/* BP 4 */
@media screen and (max-width: 600px) {
	.expando-block__button {
		padding: 8px 40px 8px 15px;
		font-size: 1.6rem;
		background-size: 22px;
		background-position: right 9px top 6px;
	}
	.expando-block__content {
		padding: 10px 0;
	}
}

/* ---- mainbar ---- */
@media only screen and (min-width: 37.5em) {
    .mainbar__sidebar-padding .mainbar {
        padding-top: 16px;
    }
}
@media only screen and (min-width: 62em) {
    .col-md-8.mainbar__sidebar-padding {
        padding-left: 80px;
    }
    .col-md-8.mainbar__sidebar-padding {
        padding-left: 80px;
    }
    .mainbar__sidebar-padding .mainbar {
        padding-top: 0;
    }
}

/* Generic style for all widgets */

.widget h3.widget-title {
}


/* ------------------------------------------------------
**** Widgets

Widgets & Modules that ship with sprout.
If they don't they belong in separate partial file

------------------------------------------------------ */
/* ---- sidebar ---- */
.sidebar h1, .sidebar .h1 {
    font-size: 2.8rem;
}

.sidebar h2, .sidebar .h2 {
    font-size: 2.4rem;
}

 .sidebar h3, .sidebar .h3 {
    font-size: 1.9rem;
}

 .sidebar h4, .sidebar .h4 {
    font-size: 1.8rem;
}

.sidebar h5, .sidebar .h5 {
    font-size: 1.7rem;
}

.sidebar h2,
.sidebar h3,
.sidebar h4,
.sidebar h5 {
    font-family: D-DIN, 'PT Sans', sans-serif;
    text-transform: uppercase;
}
.sidebar h2,
.sidebar h3 {
    border-bottom: 1px solid #D7D7D7;
    line-height: 48px;
    font-size: 20px;
}
.sidebar h2 span,
.sidebar h3 span {
    position: relative;
    padding-bottom: 12px;
}
.sidebar h2 span:after,
.sidebar h3 span:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    height: 3px;
    width: 100%;
    border-bottom: 3px solid #004d72;
}
.sidebar .widget {
    padding: 16px;
}
.sidebar .widget:first-child {
    padding-top: 0;
}
/*Use @ supports to override line height differences in IE */
@supports(display:flex) {
    .sidebar h2,
    .sidebar h3 {
        font-size: 1.9rem;
        line-height: 2.5;
    }
    .sidebar h2 span,
    .sidebar h3 span {
        padding-bottom: 0;
    }
    .sidebar h2 span:after,
    .sidebar h3 span:after {
        bottom: calc(-0.75em - 1px);
    }
}
/* BP small */
@media screen and (min-width: 48em) { /* 768px */
    .sidebar .widget {
        padding: 24px;
    }
}

/* BP medium */
@media only screen and (min-width: 62em) { /* 992px */
    .sidebar__bg {
        padding-top: 128px;
        margin-top: -64px;
        padding-bottom: 64px;
        margin-bottom: -64px;
    }
    .sidebar .widget {
        padding: 32px;
    }
}

/* BP large */
@media only screen and (min-width: 75em) { /* 1200px */
    .sidebar .widget{
        padding: 40px;
    }
}

/* ---- Sidebar Forms ---- */
.sidebar .field-label label,
.sidebar .fieldset__legend {
    text-transform: uppercase;
    font-family: D-DIN, 'PT Sans', sans-serif;
    font-weight: 600;
}

.sidebar .field-label label {
    font-size: 12px;
}

/* ---- Catch all ---- */
.sidebar .widget {
    margin-bottom: 25px;
}

/* ---- Related Links ---- */
.widget-RelatedLinks {
    margin-bottom: 25px;
}

.widget-RelatedLinks ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.widget-RelatedLinks a {
    text-decoration: none;
    color: #303030;
    display: block;
    padding: 8px 0;
}

/* - Depth 1 - */
.widget-RelatedLinks li.depth1 {
    position: relative;
    padding-left: 16px;
}
.widget-RelatedLinks li.depth1:first-child {
    padding-left: 0;
}
.widget-RelatedLinks li.depth1 > a {
    position: relative;
    padding: 8px 0;
    padding-right: 16px;
}
.widget-RelatedLinks li.depth1 > a:after,
.widget-RelatedLinks li.depth1 > a:before  {
    content: "";
    height: 12px;
    width: 10px;
    background: url(../images/icon_arrow--right--drk-grey.svg) no-repeat center center;
    margin-left: 8px;
    margin-right: 4px;
    position: absolute;
    right: 0;
    top: calc(50% - 6px);
    opacity: 0.5;
}
.widget-RelatedLinks li.depth1 > a:before  {
    background: url(../images/icon_arrow--right--red.svg) no-repeat center center;
    opacity: 0;
}
.widget-RelatedLinks li.depth1 > a:hover:after {
    opacity: 1;
}

/* On */
.widget-RelatedLinks li.depth1.on > a {
    color: #1b2243;
}
.widget-RelatedLinks li.depth1.on > a:after {
    opacity: 0;
}
.widget-RelatedLinks li.depth1.on > a:before {
    opacity: 1;
}


/* - Depth 2 - */
.widget-RelatedLinks li.depth2 {
    font-size: 1.4rem;
    display: block;
    margin: 2px 0;
    margin-left: 24px;
    border-bottom: 1px solid rgba(215,215,215, 0);
    -webkit-transition: all 250ms ease-in-out;
    -o-transition: all 250ms ease-in-out;
    transition: all 250ms ease-in-out;
}
.widget-RelatedLinks li.depth2 a {
    padding: 2px 0;
    display: inline-block;
    color: #404040;
    position: relative;
}

/* Hover */
.widget-RelatedLinks li > a:hover {
    color: #000;
}

/* On */
.widget-RelatedLinks li.depth2.on  {
    border-bottom: 1px solid rgba(215,215,215, 1);
}
.widget-RelatedLinks li.depth2.on > a {
    color: #000;
}
.widget-RelatedLinks li.depth2.on > a:after {
    content: "";
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 100%;
    height: 100%;
    border-bottom: 2px solid #1b2243;
}


/* ---- Simple Image Gallery ---- */
.widget-GallerySimple {
    margin: 15px -10px;
}

.widget-GallerySimple h3 {
    padding: 10px;
}

.widget-GallerySimple .gallery-simple-thumb {
    width: 33.333%;
    padding: 10px;
    float: left;
}
.widget-GallerySimple .gallery-simple-thumb img {
    width: 100%;
}

/* ---- Widget Image Gallery ---- */
.image-gallery-thumb a {
    display: inline-block;
    width: 100%;
}
@supports(display:flex) {
    .widget-ImageGallery > div {
        display: flex;
        flex-flow: row wrap;
        justify-content: space-between;
        align-items: flex-start;
    }
    .widget-ImageGallery .image-gallery-thumb {
        margin-left: 0;
        margin-bottom: 0;
        width: 25%;
    }
    .widget-ImageGallery > div .image-gallery-thumb:first-child {
        justify-self: start;
    }
}

/* ---- Children Page Gallery ---- */
.children-gallery-list {
    list-style: none;
    margin-top: 30px;
    margin-bottom: 10px;
    padding: 0;
}

.widget-ChildrenGallery .children-gallery-list-item {
    margin-bottom: 25px;
    position: relative;
}

.widget-ChildrenGallery .children-gallery-list-item-link {
    display: block;
    text-decoration: none;
    color: inherit;
}

.widget-ChildrenGallery .children-gallery-list-item-link .children-gallery-list-item-title {
    position: relative;
    display: inline;
    padding: 4px 0;
    margin: 8px 0;
}
.widget-ChildrenGallery .children-gallery-list-item-link .children-gallery-list-item-title:after {
    content: "";
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 0px;
    height: 100%;
    border-bottom: 2px solid #505050;
    -webkit-transition: width 500ms ease-in-out;
    -o-transition: width 500ms ease-in-out;
    transition: width 500ms ease-in-out;
}

.widget-ChildrenGallery .children-gallery-list-item-link:hover .children-gallery-list-item-title:after {
    width: 100%;
}

.widget-ChildrenGallery .children-gallery-list-item-image {
    margin-bottom: 10px;
}

.children-gallery-list-item-image-placeholder {
    background: url(../images/children-gallery-thumb-placeholder.png) #e6e1e1 no-repeat center center;
    background-size: 100%;
    margin-bottom: 10px;
    padding-top: 86.666666667%;
    position: relative;
}
.children-gallery-list-item-image,
.children-gallery-list-item-image-placeholder {
    position: relative;
}
.children-gallery-list-item-image:after,
.children-gallery-list-item-image-placeholder:after {
    content: "";
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 5px;
    background: #004d72;
}

.widget-ChildrenGallery .children-gallery-list-item-link:hover .children-gallery-list-item-image {
    opacity: 0.9;
}

.widget-ChildrenGallery .children-gallery-list-item-title {
    margin: 0;
    font-family: D-DIN, 'PT Sans', sans-serif;
    font-weight: 600;
    color: #404040;
}

.widget-ChildrenGallery .children-gallery-list-item-anchor {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

/*---- File List widget ---- */
.widget-FileList ul {
    list-style-type: none;
    margin: 0;
    padding: 1.5em 1em;
    background-color: #f3f3f3;
}

.widget-FileList ul > li {
    padding: 12px;
    display: block;
}

.widget-FileList .document {
    padding-left: 32px;
    position: relative;
    -webkit-transition: color 250ms ease-in-out;
    -o-transition: color 250ms ease-in-out;
    transition: color 250ms ease-in-out;
}

.widget-FileList a {
    display: inline-block;
    text-decoration: none;
    -webkit-transition: all 250ms ease-in-out;
    -o-transition: all 250ms ease-in-out;
    transition: all 250ms ease-in-out;
    color: #404040;
}

.widget-FileList .document:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 24px;
    height: 24px;
    background-image: url(../images/icon_document.svg);
    background-repeat: no-repeat;
    background-position: left center;
}

/* Hover */
.widget-FileList .document:hover,
.widget-FileList .document:focus {
    text-decoration: underline;
    color: #732F14;
}
a.document:hover::after {
    opacity: 1;
}

.widget-FileList .document-pdf:before {
    background-image: url(../images/icon_pdf.svg);
}

.widget-FileList .document-png:before,
.widget-FileList .document-gif:before,
.widget-FileList .document-jpg:before {
    background-image: url(../images/icon_image.svg);
}

.widget-FileList .document-rtf:before,
.widget-FileList .document-txt:before,
.widget-FileList .document-doc:before,
.widget-FileList .document-docx:before {
    background-image: url(../images/icon_word-doc.svg);
}

.widget-FileList .document-csv:before,
.widget-FileList .document-xls:before,
.widget-FileList .document-xlsx:before {
    background-image: url(../images/icon_spreadsheet.svg);
}

.widget-FileList .document-mp3:before,
.widget-FileList .document-aac:before,
.widget-FileList .document-oga:before {
    background-image: url(../images/icon_sound.svg);
}

.widget-FileList .document-mp4:before,
.widget-FileList .document-mpeg:before,
.widget-FileList .document-mpg:before,
.widget-FileList .document-webm:before,
.widget-FileList .document-ogv:before,
.widget-FileList .document-aac:before,
.widget-FileList .document-avi:before,
.widget-FileList .document-mov:before,
.widget-FileList .document-wmv:before {
    background-image: url(../images/icon_video.svg);
}

/* ---- Share links ---- */
.share-links {
    margin: 0 0 20px;
}
.share-link {
    display: inline-block;
    margin: 0 5px 0 0;
}
.share-link:last-child {
    margin-right: 0;
}
.share-link a {
    display: block;
    width: 40px;
    height: 40px;
    background-color: #000;
    border-radius: 50%;
    text-align: center;
    padding: 5px;
    position: relative;
}
.share-link img {
    position: absolute;
    top: 50%;
    left: 50%;
    margin-right: -50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    max-width: 22px;
}
.share-link a:hover {
    opacity: 0.9;
}


/* Facebook */
.share-link.share-link--facebook a {
    background-color: #3e5b98;
}

/* Twitter */
.share-link.share-link--twitter a {
    background-color: #4da7de;
}

/* Email */
.share-link.share-link--email a {
    background-color: #444;
}

/* LinkedIn */
.share-link.share-link--linkedin a {
    background-color: #3371b7;
}

/* ---- Sponsors module ---- */

.sponsors-list__item-link {
    text-decoration: none;
}

.sponsors-list__img-wrap {
    width: 100%;
    border: 1px solid #ccc;
    padding: 8px;
    position: relative;
    margin-bottom: 8px;
    -webkit-transition: border-color 250ms ease-in-out;
    -o-transition: border-color 250ms ease-in-out;
    transition: border-color 250ms ease-in-out;
}

.sponsors-list__item-link:hover .sponsors-list__img-wrap {
    border: 1px solid #444;
}

.sponsors-list__img-wrap:before {
    content: "";
    display: block;
    padding-top: 100%;  /* initial ratio of 1:1*/
}

.sponsors-list__img-wrap__vert-center {
    position: absolute;
    top: 10px;
    bottom: 10px;
    left: 10px;
    right: 10px;
    text-align: center;
    align-items: center;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: -webkit-box;
    display: flex;
    -ms-flex-align: center;
    -webkit-align-items: center;
    -webkit-box-align: center;
}

.sponsors-list-item__image {
    display: inline-block;
    margin: 0 auto;
    max-height: 100%;
}


/* ---- Order Form ---- */
.widget-OrderForm .product {
    width: 30%;
    margin-right: 5%;
    float: left;
}
.widget-OrderForm .product:nth-child(3n+3) {
    margin-right: 0;
}

/* ---- Videos ---- */
.tinymce-media-iframe,
.widget-Video {
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 30px;
    height: 0;
    overflow: hidden;
    clear: both;
}

.tinymce-media-iframe iframe,
.widget-Video iframe,
.widget-Video object,
.widget-Video embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

iframe {
    border: 0;
}

.tinymce-media-iframe {
    margin: 2rem 0;
}

/* ---- Map Directions ---- */
.widget-MapDirections .directions-form {
    padding: 20px 25px;
    background: #f0f0f3;
    margin: 25px 0;
}
.widget-MapDirections .directions-list {
    padding: 20px 25px;
    background: #f0f0f3;
    margin: 25px 0;
}
/* ---- White Popup Styles ---- */
.white-popup strong {
    font-family: D-DIN, 'PT Sans', sans-serif;
    color: #505050;
}
.white-popup h4 {
    margin-bottom: 0;
}

/* ---- post hub / blog ---- */
.post-hub__item__content {
    padding: 16px;
    border: 1px solid #D7D7D7;
}
.post-hub__body h2 {
    font-size: 1.8rem;
    line-height: 1.5;
    margin-top: 0;
    border-bottom: none;
}
.post-hub__img-wrap + .post-hub__body {
    margin-top: 1.6rem;
}
.post-hub__body h2 a {
    color: #404040;
    text-decoration: none;
    text-transform: uppercase;
    font-family: D-DIN, 'PT Sans', sans-serif;
    font-weight: 600;
}
.post-hub__footer p {
    margin-bottom: 0;
}
.post-hub__item {
    margin-top: 16px;
}
.post-hub__item:first-child {
    margin-top: 0;
}
.post-list__heading a{
    text-decoration: none;
    color: #404040;
}
.post-list__header h2 {
    margin-top: 0;
    border-bottom: none;
}
.post-list__link a {
    text-transform: uppercase;
    font-family: D-DIN, 'PT Sans', sans-serif;
    font-weight: 600;
    position: relative;
    display: inline-block;
    padding-right: 2px;
}

.post-list__link a:after,
.post-list__link a:before {
    content: "";
    height: 12px;
    width: 10px;
    position: absolute;
    left: 100%;
    top: calc(50% - 6px);
}
.post-list__link a:after {
    background: url(../images/icon_arrow--right--red.svg) no-repeat center center;
    opacity: 1;
}
.post-list__link a:before {
    background: url(../images/icon_arrow--right--red--drk.svg) no-repeat center center;
}
.post-list__link a:hover:before {
    -webkit-animation: arrows-slide .300s cubic-bezier(0.400, -0.105, 0.590, 1.140) normal;
            animation: arrows-slide .300s cubic-bezier(0.400, -0.105, 0.590, 1.140) normal;
    -webkit-animation-fill-mode: both;
            animation-fill-mode: both;
}
.post-list__link a:hover:after {
    opacity: 0;
}
.post-list__link a:focus:before,
.post-list__link a:active:before {
    -webkit-animation: arrows-slide .300s cubic-bezier(0.400, -0.105, 0.590, 1.140) normal;
            animation: arrows-slide .300s cubic-bezier(0.400, -0.105, 0.590, 1.140) normal;
            -webkit-animation-iteration-count: 2;
            animation-iteration-count: 2;
    -webkit-animation-fill-mode: both;
            animation-fill-mode: both;
}
.post-list__link a:focus:after,
.post-list__link a:active:after {
    opacity: 0;
}
.post-view__cloud--categories .button,
.post-list__categories .button {
    color: #505050;
}
.post-view__cloud--categories .button:hover,
.post-view__cloud--categories .button:focus,
.post-view__cloud--categories .button:active,
.post-list__categories .button:hover,
.post-list__categories .button:focus,
.post-list__categories .button:active {
    border: 1px solid #505050;
    background: #505050;
    color: #fff;
}

/* BP small */
@media screen and (min-width: 48em) { /* 768px */
    .post-hub__item__content {
        padding: 24px;
    }
    .post-hub__item {
        margin-top: 0;
    }
    .post-hub__item {
        margin-bottom: 16px;
    }
}


/* ---- Sidebar Subscribe ---- */
.sidebar-linklist__item__button {
    position: relative;
}
.sidebar-linklist__item__button:before {
    content: "";
    height: 12px;
    width: 10px;
    background: url(../images/icon_arrow--right--drk-grey.svg) no-repeat center center;
    position: absolute;
    top: calc(50% - 6px);
    transition: all 250ms ease-in-out;
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
    -webkit-transform-origin: center;
    transform-origin: center;
}
.sidebar-linklist__item__button:hover::before {
        -webkit-animation: arrows-slide .300s cubic-bezier(0.400, -0.105, 0.590, 1.140) normal;
                animation: arrows-slide .300s cubic-bezier(0.400, -0.105, 0.590, 1.140) normal;
        -webkit-animation-fill-mode: both;
                animation-fill-mode: both;
}
.post-sidebar-archive-list__item--expanded .sidebar-linklist__item__button::before {
    transition: all 250ms ease-in-out;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
}

.post-sidebar-archive-list__item--expanded .sidebar-linklist__item__button:hover::before {
        -webkit-animation: none;
                animation: none;
}
.sidebar-linklist__item__sublist__item__link:before {
    color: #505050;
    font-weight: bold;
    padding-right: 4px;
}
.sidebar-linklist__item__sublist__item__link {
    color: #303030;
}
.sidebar-linklist__item__sublist__item__link:hover {
    color: #202020;
}

/* ---- reCAPTCHA ---- */
.g-recaptcha {
    padding-bottom: 15px;
}

/* ------------------------------------------------------
**** Print styles
------------------------------------------------------ */

@media print {
    * {
        background: transparent !important;
        color: #000 !important; /* Black prints faster: h5bp.com/s */
        -webkit-box-shadow: none !important;
                box-shadow: none !important;
        text-shadow: none !important;
    }

    a,
    a:visited {
        text-decoration: underline;
    }

    a[href]:after {
        content: " (" attr(href) ")";
    }

    abbr[title]:after {
        content: " (" attr(title) ")";
    }

    /* Don't show links for images, or javascript/internal links */

    .ir a:after,
    a[href^="javascript:"]:after,
    a[href^="#"]:after {
        content: "";
    }

    pre,
    blockquote {
        border: 1px solid #999;
        page-break-inside: avoid;
    }

    thead {
        display: table-header-group; /* h5bp.com/t */
    }

    tr,
    img {
        page-break-inside: avoid;
    }

    img {
        max-width: 100% !important;
    }

    @page {
        margin: 0.5cm;
    }

    p,
    h2,
    h3 {
        orphans: 3;
        widows: 3;
    }

    h2,
    h3 {
        page-break-after: avoid;
    }
}
