/* ==========================================================================
   Fonts
   ========================================================================== */

/* latin */
@font-face {
    font-family: 'Ubuntu';
    font-style: normal;
    font-weight: normal;
    src: local('Ubuntu Regular'), local('Ubuntu-Regular'), url('../fonts/ubuntu/4iCs6KVjbNBYlgoKfw72nU6AFw.woff2') format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
/* latin */
@font-face {
    font-family: 'Ubuntu';
    font-style: normal;
    font-weight: bold;
    src: local('Ubuntu Bold'), local('Ubuntu-Bold'), url('../fonts/ubuntu/4iCv6KVjbNBYlgoCxCvjsGyNPYZvgw.woff2') format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
  
@font-face {
    font-family: 'TrajanPro';
    src: url('../fonts/trajan/trajanpro-regular-webfont.eot');
    src: url('../fonts/trajan/trajanpro-regular-webfont.eot?#iefix') format('embedded-opentype'),
        url('../fonts/trajan/trajanpro-regular-webfont.woff') format('woff'),
        url('../fonts/trajan/trajanpro-regular-webfont.ttf') format('truetype'),
        url('../fonts/trajan/trajanpro-regular-webfont.svg#webfontx9hyGMqJ') format('svg');
    font-weight: normal;
    font-style: normal;
}
  
@font-face {
    font-family: 'TrajanPro';
    src: url('../fonts/trajan/trajanpro-bold-webfont.eot');
    src: url('../fonts/trajan/trajanpro-bold-webfont.eot?#iefix') format('embedded-opentype'),
        url('../fonts/trajan/trajanpro-bold-webfont.woff') format('woff'),
        url('../fonts/trajan/trajanpro-bold-webfont.ttf') format('truetype'),
        url('../fonts/trajan/trajanpro-bold-webfont.svg#webfontTM3NDcvN') format('svg');
    font-weight: bold;
    font-style: normal;
}

/* latin */
@font-face {
    font-family: 'Permanent Marker';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('../fonts/permanentmarker/Fh4uPib9Iyv2ucM6pGQMWimMp004La2Cf5b6jlg.woff2') format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ==========================================================================
   Typography
   ========================================================================== */

html, body { margin: 0; font-size: 16px; line-height: 155%; }

body { margin: 0; text-align: center; max-width: 100%; overflow-x: hidden; background-color: #111; }

body, p, ul, ol, td, th, dt, dd, label, form, input, select, textarea { font-family: 'Ubuntu', sans-serif; font-weight: normal; }

p, ul, ol, form { margin: 0.8em 0 0 0; }
p strong, ul strong, ol strong, td strong, th strong, .error, .page_article table th { font-weight: bold; }
p em, ul em, ol em, td em, th em { font-weight: 400; font-style: italic; }

h1, h2, h3, h4, h5, h6, .h1style, .h2style, .h3style, .h4style, .h5style, .h6style, .styled_h1, .styled_h2, .styled_h3, .styled_h4, .styled_h5, .styled_h6 { font-family: 'TrajanPro', serif; font-weight: normal; margin-top: 0.80em; margin-bottom: 0; color: #FFF; text-transform: uppercase; }
p.hand, h1.hand, h2.hand, h3.hand, h4.hand, h5.hand, h6.hand { font-family: 'Permanent Marker', serif; letter-spacing: 0 !important; text-transform: none; }
h1.regfont, h2.regfont, h3.regfont, h4.regfont, h5.regfont, h6.regfont { font-family: 'Ubuntu', serif; letter-spacing: 0 !important; text-transform: none; }
h1.regsize, h2.regsize, h3.regsize, h4.regsize, h5.regsize, h6.regsize { font-size: 16px; line-height: 155%; color: #CCC; }

h1, .h1style, .styled_h1 { font-size: 1.75em; line-height: 110%; letter-spacing: 0.06em; }
h2, .h2style, .styled_h2 { font-size: 1.60em; line-height: 115%; letter-spacing: 0.10em; }
h3, .h3style, .styled_h3 { font-size: 1.45em; line-height: 120%; letter-spacing: 0.14em; }
h4, .h4style, .styled_h4 { font-size: 1.30em; line-height: 125%; letter-spacing: 0.18em; }
h5, .h5style, .styled_h5 { font-size: 1.15em; line-height: 130%; letter-spacing: 0.22em; }
h6, .h6style, .styled_h6 { font-size: 1.00em; line-height: 135%; letter-spacing: 0.26em; }

@media (min-width: 768px) {
    h1, .h1style, .styled_h1 { font-size: 2.25em; }
    h2, .h2style, .styled_h2 { font-size: 1.90em; }
    h3, .h3style, .styled_h3 { font-size: 1.68em; }
    h4, .h4style, .styled_h4 { font-size: 1.45em; }
    h5, .h5style, .styled_h5 { font-size: 1.23em; }
    h6, .h6style, .styled_h6 { font-size: 1.00em; }
}

@media (min-width: 1200px) {
    h1, .h1style, .styled_h1 { font-size: 2.50em; }
    h2, .h2style, .styled_h2 { font-size: 2.00em; }
    h3, .h3style, .styled_h3 { font-size: 1.75em; }
    h4, .h4style, .styled_h4 { font-size: 1.50em; }
    h5, .h5style, .styled_h5 { font-size: 1.25em; }
    h6, .h6style, .styled_h6 { font-size: 1.00em; }
}

.claw_bg { display: inline-block; background: transparent url(../img/main/claw.png) no-repeat 15% top; background-size: auto 100%; }
.claw_padding { padding: 0.5em 0; }
.alright .claw_bg, .alright-sm .claw_bg, .alright-md .claw_bg, .alright-lg .claw_bg, .alright-xl .claw_bg, .alright-xxl .claw_bg { background-position-x: right 20%; }
h1.claw_padding, h2.claw_padding, h3.claw_padding, h4.claw_padding, h5.claw_padding, h6.claw_padding, .styled_h1.claw_padding, .styled_h2.claw_padding, .styled_h3.claw_padding, .styled_h4.claw_padding, .styled_h5.claw_padding, .styled_h6.claw_padding { margin-top: 0.4em; letter-spacing: 0.3em; }

.title_break { border-bottom: 1px solid #C00; margin-top: 2em; margin-bottom: 0; padding-bottom: 0.4em; text-align: left; }

/* ==========================================================================
   Basics
   ========================================================================== */

hr { border-color: #CCC; }

a { color: #C00; outline: 0; }
a:hover, a:active { color: #CCC; }
a.white_grey { color: #FFF; }
a.white_grey:hover, a.white_grey:active { color: #999; }
a.white_red { color: #FFF; }
a.white_red:hover, a.white_red:active { color: #C00; }
a.plain { text-decoration: none; }
a.blank { text-decoration: none; color: #CCC; }
a.blank:hover { color: #C00; }
a.standard { text-decoration: underline; color: #CCC; }
a.standard:hover { color: #C00; }

.page_article ul li { padding-left: 0.8em; }
.page_article ul li:before { background-color: #C00; top: 0.73em; width: 0.45em; height: 0.45em; }
.reverse .page_article ul li:before { background-color: #000; }

.small { font-size: 0.85em; }
.bigish { font-size: 1.1em !important; }
.bigger { font-size: 1.2em !important; }
.very_prominent { font-size: 1.3em !important; }
.figures { font-size: 1.8em !important; }
.inlineblock { display: block; margin-top: 0.1em; }
.inlineblockholder { margin-top: 0.8em; }
@media (min-width: 768px) {
    .inlineblock { display: inline-block; }
    .inlinelabel { margin-right: 1em; }
}
.uppercase { text-transform: uppercase; }

.redicon { font-family: 'TrajanPro', serif; font-weight: bold; font-size: 0.8em; text-transform: uppercase; color: #FFF; background-color: #C00; padding: 0.4em 0.8em; border-radius: 10px; white-space: nowrap; display: inline-block; margin-top: 6px; }

.boxed_content { background-color: #333; padding: 20px; }

/* ==========================================================================
   Colours
   ========================================================================== */

body { color: #CCC; }

.grey { color: #666; }
.lgrey { color: #888; }
.black { color: #000; }
.green { color: #090; }
.blue { color: #27A8DE; }
.error, .red { color: #C00 !important; }
.five_colour { color: #900 !important; }
.junior_colour { color: #F39 !important; }
.trail_colour { color: #C06 !important; }

.bgstandard { background-color: #111; }
.bgblack { background-color: #000; }
.bgred { background-color: #C00; }
.bggrey { background-color: #333; }
.bgredarrows { background: #C00 url(../img/main/enter_arrows.png) no-repeat center center; background-size: cover; }

/* ==========================================================================
   Forms
   ========================================================================== */

.form1 label { line-height: 120%; }
.form1 input[type=text], .form1 input[type=email], .form1 input[type=tel], .form1 input[type=number], .form1 input[type=date], .form1 textarea, .form1 select { display: block; border: 0; color: #CCC; background-color: transparent; padding: 0.4em 0; width: 100%; }
.form1 input[type=date] { display: block; appearance: none; min-height: 1.2em; }
.form1 button, .form1 input[type=submit] { border: none; cursor: pointer; appearance: button; -webkit-appearance: button; line-height: 150%; }
.form1 .field.disabled input[type=text], .form1 .field.disabled input[type=email], .form1 .field.disabled input[type=tel], .form1 .field.disabled input[type=number], .form1 .field.disabled input[type=date], .form1 .field.disabled textarea, .form1 .field.disabled select { color: #888; }
.form1 .field { font-size: 16px; border-bottom: 1px solid #C00; background-color: #222; color: #CCC; padding-left: 7px; padding-right: 7px; margin-top: 0.8em; }
.form1 .field.found { border-bottom: 1px solid #090; }
.form1 .field.disabled { border-bottom: 1px solid #666; color: #777; }
.form1 .field.disabled.found { border-bottom: 1px solid #090; }
.form1 .field label { display: inline-block; margin-top: 0.5em; margin-bottom: 0.5em; }
.form1 .field label.corner { display: block; margin-top: 0; padding-top: 0.3em; margin-bottom: 0; color: #777; font-size: 0.9em; }
.form1 .field.haserror { background-color: rgba(204,0,0,0.5); }
.form1 .field.haserror label { color: #C00; }
.form1 .field.green { background-color: #090; }
.form1 .field.green label.corner { color: #FFF; }
.form1 .field.disabled { border-color: #888; }
.form1 .field select { padding: 0.57em 0; }
.form1 .field select option { background-color: #333; color: #FFF; }
.form1 .field input[type=file] { margin: 0.7em 0; }
.form1 .field input[type=text], .form1 .field input[type=number], .form1 .field input[type=email], .form1 .field input[type=date], .form1 .field input[type=tel] { min-height: 2.35rem; }
.form1 .field input::file-selector-button { padding: 0.3em 10px; color: #FFF; background-color: #999; color: #111; border: 0; border-radius: 12px; font-size: 12.5px; text-transform: uppercase; letter-spacing: 0.1em; cursor: pointer; }
.form1 .field .form-check-input, .form1 .field .form-check-label { line-height: 155%; }
.form1 .field label.form-check-label { margin-top: 0.4em; margin-bottom: 0.4em; }
.form1 .field fieldset { margin: 0.5em 0; }
.form1 .field fieldset p { margin: 0; line-height: 155%; color: #777; font-size: 0.9em; }
.form1 .field fieldset p label { margin: 0 0 0 0.3em; }
.form1 input[type=radio] { display: inline-block; margin-top: 0.5em; margin-bottom: -0.5em; }
.form1 input.checkbox_right { float: right; display: block; margin-top: 0.45em; }
.form1 input.form-check-input { background-color: transparent; border: 2px solid #CCC; width: 1.3em; height: 1.3em; }
.form1 .tickboxoption { display: block; padding-top: 0.4em; padding-bottom: 0.4em; border-top: 2px solid #111; color: #CCC; margin-left: -7px; margin-right: -7px; padding-left: 7px; padding-right: 7px; }
.form1 .tickboxoption input.form-check-input { float: right; margin-left: 0.4em; margin-top: 0.1em; }
.form1 .canvas_surround { margin-top: 0.8em; background-color: #FFF; overflow: hidden; -webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; }
.form1 #signature { position: relative; }
.form1 input[type=text].simple { background-color: #FFF; color: #000; display: block; margin-top: 0.8em; padding: 0.4em; }
.form1 .haserror label { color: #C00; }

.formsubmit1 { margin-top: 1.5em; margin-bottom: 2em; }
.formerror { color: #C00; font-weight: bold; line-height: 130%; }
.formcheck { font-weight: 700; font-size: 0.9em; line-height: 130%; color: #FFF; background-color: #090; padding: 7px; }
.formerror.big, .formcheck.big { font-size: 1em; line-height: 130%; padding: 10px; }

/*-- For Map Directions --*/
form.inline { white-space: nowrap; }
form.inline input, form.inline button { color: #FFF; border: 2px solid #333; background: transparent; padding: 1em; }
form.inline input { border-right: 0; }
form.inline input:first-of-type { border-top-left-radius: 20px; border-bottom-left-radius: 20px; }
form.inline button { border-top-right-radius: 20px; border-bottom-right-radius: 20px; border: 2px solid #C00; background-color: #C00; -o-transition: .5s; -ms-transition: .5s; -moz-transition: .5s; -webkit-transition: .5s; transition: .5s; }
form.inline button:hover { background-color: #111; }

.checkbox_big_group { margin: 2.3em 0 1.5em 0; }
.checkbox_big { position: relative; }
.checkbox_big p { min-height: 30px; padding-right: 40px; }
.checkbox_big div { width: 30px; height: 30px; float: right; margin-top: 0.4em; background-color: #FFF; cursor: pointer; }
.checkbox_big div img { display: none; }
@media (min-width: 768px) {
	.checkbox_big p { padding-right: 60px; }
}
@media (min-width: 992px) {
	.checkbox_big p { padding-right: 100px; }
}

/* ==========================================================================
   Buttons and Form Buttons
   ========================================================================== */

a.boxred, a.boxframered, a.boxgrey, a.boxblack, a.boxbutton, .form1 button, .form1 input[type=submit], button.boxred, button.boxframered, input[type=submit].boxred, input[type=submit].boxframered, button.boxgrey, input[type=submit].boxblack { padding: 1.0em 20px; text-decoration: none; display: inline-block; color: #FFF; border: 2px solid #C00; background-color: #C00; color: #FFF; border-radius: 20px; font-size: 13.5px; line-height: 120%; text-transform: uppercase; cursor: pointer; letter-spacing: 0.2em; -o-transition: .5s; -ms-transition: .5s; -moz-transition: .5s; -webkit-transition: .5s; transition: .5s; }
a.boxframered { background-color: transparent; }
a.boxred.smaller, a.boxbutton.smaller, .form1 button.smaller, .form1 input[type=submit].smaller, button.boxred.smaller, input[type=submit].boxred.smaller { padding: 0.6em 13px; line-height: 120%; border-radius: 15px; font-size: 13px; letter-spacing: 0.15em; }
a.boxred.big, a.boxbutton.big, .form1 button.big, .form1 input[type=submit].big, button.boxred.big, input[type=submit].boxred.big { padding: 1.3em 25px; }
a.boxblack, a.boxbutton.black, .form1 button.black, .form1 input[type=submit].black { border: 2px solid #111; background-color: #111; }
a.boxgrey, a.boxbutton.grey, .form1 button.grey, .form1 input[type=submit].grey { border: 2px solid #555; background-color: #555; }
a.boxred.tiny, a.boxbutton.tiny, a.boxgrey.tiny, .form1 button.tiny, .form1 input[type=submit].tiny, button.boxred.tiny, input[type=submit].boxred.tiny, button.boxgrey.tiny, input[type=submit].boxgrey.tiny, button.boxblack.tiny, input[type=submit].boxblack.tiny { padding: 0.3em 8px; font-size: 12px; line-height: 120%; border-radius: 7px; font-size: 12.5px; letter-spacing: 0.1em; }
a.boxred:hover, a.boxgrey:hover, a.boxblack:hover, a.boxbutton:hover, .form1 button:hover, .form1 input[type=submit]:hover, button.boxred:hover, input[type=submit].boxred:hover { text-decoration: none; color: #FFF; background-color: transparent; }
a.boxframered:hover, button.boxframered:hover, input[type=submit].boxframered:hover { background-color: #C00; }
a.boxred.disabled, a.boxgrey.disabled, a.boxblack.disabled, a.boxbutton.disabled, .form1 button.disabled, .form1 input[type=submit].disabled, button.boxred.disabled, input[type=submit].boxred.disabled, button.boxgrey.disabled, input[type=submit].boxblack.disabled { color: #666; background-color: #222; border-color: #222; cursor: not-allowed; }
a.boxred.disabled:hover, a.boxgrey.disabled:hover, a.boxblack.disabled:hover, a.boxbutton.disabled:hover, .form1 button.disabled:hover, .form1 input[type=submit].disabled:hover, button.boxred.disabled:hover, input[type=submit].boxred.disabled:hover { color: #666; background-color: #222; border-color: #222; cursor: not-allowed; }
a.boxbutton.trilogy { background: transparent url(../img/main/trilogy_colours.jpg) no-repeat center center; background-size: 100% 100%; border: 0; }
a.boxred.stackable { margin-top: 7px; }
a.boxred:disabled, a.boxbutton:disabled, .form1 button:disabled, button.boxred:disabled, input[type=submit].boxred:disabled { color: #666; background-color: #222; border-color: #222; cursor: not-allowed; }

/* ==========================================================================
   Header
   ========================================================================== */

header { text-align: left; }
header #logo { display: inline-block; width: 230px; padding: 10px 0; margin: 0 -5px; }
@media (min-width: 550px) {
    header { background: transparent url(../img/main/header_bg.png) repeat-x center top; background-size: auto 100%; position: absolute; width: 100%; z-index: 5; }
    header #logo { width: 250px; }
}
@media (min-width: 992px) {
    header { padding-top: 10px; }
}
@media (min-width: 1200px) {
    header { padding-top: 20px; }
}

/* ==========================================================================
   Navs
   ========================================================================== */

.navnav { font-size: 30px; line-height: 120%; cursor: pointer; position: absolute; top: 0; right: 0; padding: 16px; margin: 0; color: #FFF; }
#navopen { position: absolute; right: 0; }
#navmain { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: #111; text-align: left; z-index: 11; overflow-y: scroll; }
#navmain > ul { margin: 20% 0 0 0; padding: 0 40px; }
#navmain ul { list-style: none; list-style-type: none; }
#navmain ul li { font-size: 1em; font-weight: 400; letter-spacing: 0.25em; text-transform: uppercase; white-space: nowrap; margin: 0; padding: 0; color: #FFF; }
#navmain ul li a { display: block; padding: 0.8em 0 0.4em 0; color: #FFF; text-decoration: none; -o-transition: .5s; -ms-transition: .5s; -moz-transition: .5s; -webkit-transition: .5s; transition: .5s; cursor: pointer; }
#navmain ul li span.soon { display: block; padding: 0.8em 0 0.4em 0; color: #999; }
#navmain ul li a.sel, #navmain ul li a:hover { color: #C00 !important; text-decoration: none; }
#navmain ul li ul { display: none; margin-top: 0; padding: 0; }
#navmain ul li ul li { font-size: 0.9em; }
#navmain ul li ul li a, #navmain ul li ul li span.soon { padding: 0.6em 0 0.3em 20px; }
#navmain .boxred { margin: 20px 0 0 30px; }
@media (min-width: 992px) {
	#navopen { display: none; }
	#navmain { display: block; position: static; width: auto; height: auto; float: right; margin: 0; background-color: transparent; overflow-y: unset; }
	#navmain #navclose { display: none; }
	#navmain > ul { position: static; display: inline-block; left: auto; top: auto; margin: 4px 20px 0 0; padding: 0; }
	#navmain > ul > li { font-size: 0.85em; display: inline-block; position: relative; }
	#navmain > ul > li > a, #navmain > ul > li > span.soon { padding: 20px 10px; }
    #navmain ul li ul { position: absolute; z-index: 1; left: 0; top: 100%; background-color: rgba(0,0,0,0.7); padding: 6px 0; }
    #navmain ul li ul li a, #navmain ul li ul li span.soon { padding: 5px 10px; }
    #navmain .boxred { margin: 0; }
}
@media (min-width: 1200px) {
    #navmain > ul { margin-right: 0px; }
    #navmain > ul > li { font-size: 0.9em; }
    #navmain > ul > li > a, #navmain > ul > li > span.soon { padding: 20px 15px; }
    #navmain ul li ul li a, #navmain ul li ul li span.soon { padding: 5px 15px; }
}

#enter_side { position: fixed; right: 0; bottom: 125px; display: block; width: 53px; z-index: 30; }
#enter_side img { width: 100%; }
#partner_logos { position: fixed; right: 0; bottom: 20px; display: block; width: 30px; z-index: 30; }
#partner_logos img { width: 100%; }
@media (min-width: 768px) {
    #enter_side { bottom: auto; top: 14vw; width: 58px; }
    #partner_logos { bottom: 7vw; width: 40px; }
}
@media (min-width: 992px) {
    #enter_side { width: 65px; }
    #partner_logos { width: 45px; }
}

#navfooter { list-style: none; list-style-type: none; padding: 0; padding-left: 0; margin: 1.45em 0; }
#navfooter li { display: block; line-height: 1em; }
#navfooter li a { display: block; padding: 0.2em 0; -o-transition: .3s; -ms-transition: .3s; -moz-transition: .3s; -webkit-transition: .3s; transition: .3s; }
#navfooter li span { display: block; padding: 0.2em 0; color: #999; }

#navsocials { list-style: none; list-style-type: none; padding: 0; padding-left: 0; margin: 0.5em 0; }
#navsocials li { display: inline-block; line-height: 1em; font-size: 28px; }
#navsocials li a { display: inline-block; -o-transition: .3s; -ms-transition: .3s; -moz-transition: .3s; -webkit-transition: .3s; transition: .3s; }

.enter_button { max-width: 100%; }
@media (min-width: 768px) {
    .enter_button { max-width: 526px; }
}

.id_box { padding-top: 1px; }

.wr_tabs { list-style: none; list-style-type: none; padding-left: 0; position: relative; margin-left: -2.5%; }
.wr_tabs li { width: 47.5%; display: inline-block; margin-left: 2.5%; }
.wr_tabs li a { color: #FFF; background-color: #222; text-decoration: none; display: block; padding: 0.8em; text-align: center; }
.wr_tabs li a:hover, .wr_tabs li a:active { background-color: #C00; }
@media (min-width: 992px) {
    .wr_tabs { position: relative; margin-left: -10px; }
    .wr_tabs li { width: auto; display: inline-block; margin-left: 10px; }
    .wr_tabs li a { padding: 0.8em 1.5em; }
}

/* ==========================================================================
   Banners
   ========================================================================== */

#banner { background-color: #FFF; position: relative; }
#banner_slider { overflow: hidden; line-height: 0; }
#banner_slider .slide { height: 350px; position: relative; }
#banner_slider .slide .img_b, #banner_slider .slide .img_m, #banner_slider .slide .img_s { height: 100%; width: 100%; position: absolute; background-repeat: no-repeat; background-position: center center; background-size: cover; opacity: 1 !important; }
#banner_slider .slide .img_b, #banner_slider .slide .img_m { display: none; }
#banner_slider .slide .slide_content { position: absolute; top: 55%; -ms-transform: translateY(-50%); transform: translateY(-50%); max-width: 90%; margin: 0 auto; left: 0; right: 0; }
#banner_slider .slide .slide_content .slide_title { margin-top: 0; margin-bottom: 0.2em; letter-spacing: 0.3em; }
#banner_slider .slide .slide_content .slide_text { margin-top: 0; }
#banner_slider .slide .slide_content img.smaller { max-width: 80%; margin: 0 10%; }
#banner.banner_gradient:after { content: ""; position: absolute; width: 100%; height: 30%; bottom: -1px; left: 0; background: transparent url(../img/main/banner_gradient_bottom_111.png) repeat-x left bottom; background-size: auto 100%; }
@media (min-width: 550px) {
	#banner_slider .slide .slide_content { max-width: 530px; }
    #banner_slider .slide .slide_content .slide_title { font-size: 2.0em; }
    #headerspace { height: 75px; }
}
@media (min-width: 768px) {
	#banner_slider .slide { height: 400px; }
    #banner_slider .slide .slide_content { max-width: 700px; }
    #banner_slider .slide .slide_content .slide_title { font-size: 2.5em; margin: 0 -10%; }
    #banner_slider .slide .slide_content img { max-width: 90%; margin: 0 5%; }
    #banner_slider .slide .slide_content img.smaller { max-width: 80%; margin: 0 10%; }
}
@media (min-width: 992px) {
    #banner_slider .slide { height: 500px; }
    #banner_slider .slide .slide_content { max-width: 850px; }
    #banner_slider .slide .img_m { display: block; }
    #banner_slider .slide .img_s { display: none; }
    #banner_slider .slide .slide_content .slide_title { font-size: 3.0em; margin: 0 -15%; }
    #banner_slider .slide .slide_content img { max-width: 80%; margin: 0 10%; }
    #banner_slider .slide .slide_content img.smaller { max-width: 70%; margin: 0 15%; }
    #headerspace { height: 95px; }
}
@media (min-width: 1200px) {
    #banner_slider .slide { height: 550px; }
    #banner_slider .slide .slide_content { max-width: 950px; }
    #banner_slider .slide .img_b { display: block; }
    #banner_slider .slide .img_m { display: none; }
    #banner_slider .slide .slide_content .slide_title { font-size: 3.3em; margin: 0 -20%; }
    #banner_slider .slide .slide_content img { max-width: 70%; margin: 0 15%; }
    #banner_slider .slide .slide_content img.smaller { max-width: 60%; margin: 0 20%; }
    #headerspace { height: 110px; }
}
@media (min-width: 1400px) {
    #banner_slider .slide { height: 600px; }
    #banner_slider .slide .slide_content { max-width: 1000px; }
}

.videobanner { padding: 56.25% 0 0 0; position: relative; }
.banner_gradient_bottom_overlay { position: absolute; width: 100%; height: 100%; left: 0; bottom: 0; background: transparent url(../img/main/banner_gradient_bottom_111.png) repeat-x left bottom; background-size: auto 100%; }
.videobanner .banner_gradient_bottom_overlay { height: 15%; }
.space_above_minus { margin-top: -1.5em; position: relative; z-index: 1; }
.banner_content { position: absolute; width: 80%; top: 50%; left: 0; right: 0; -ms-transform: translateY(-50%); transform: translateY(-50%); margin-left: auto; margin-right: auto; }
.banner_content .logo { display: inline-block; }
.banner_content_centre { position: relative; max-width: 450px; margin: 0 auto; padding: 40px 10px; }
.banner_claw_trilogy { padding: 15% 0; background: transparent url(../img/main/claw_trilogy.png) no-repeat center center; background-size: contain; }
@media (min-width: 550px) {
    .space_above_minus { margin-top: -2.5em; }
    .banner_content { max-width: 450px; }
    .banner_content_centre { padding: 50px 0; }
    .banner_claw_trilogy { padding: 10% 0; }
}
@media (min-width: 768px) {
    .space_above_minus { margin-top: -3em; }
    .banner_content_centre { max-width: 520px; }
    .banner_claw_trilogy { padding: 9% 0; }
    #promo_window { width: 22%; bottom: 0%; right: 4%; }
}
@media (min-width: 992px) {
    .space_above_minus { margin-top: -4em; }
    .banner_content { max-width: 600px; }
    .banner_claw_trilogy { padding: 8% 0; }
}
@media (min-width: 1200px) {
    .space_above_minus { margin-top: -5em; }
    .banner_content_centre { max-width: 600px; }
    .banner_claw_trilogy { padding: 7% 0; }
}
@media (min-width: 1400px) {
    .banner_claw_trilogy { padding: 6% 0; }
}

#banner_move_on { position: absolute; z-index: 1; bottom: 6%; width: 100%; text-align: center; margin: 0; text-transform: uppercase; font-size: 0.75em; letter-spacing: 0.3em; }
#banner_move_on a { color: #FFF; display: inline-block; text-decoration: none !important; }
#banner_move_on a i { display: block; margin: 0 auto; font-size: 2.2em; }
#banner_move_on a:hover, #banner_scroll a:active { text-decoration: none !important; }

#home_stripe { padding-top: 3.5em; }
#home_stripe .flash { display: block; position: absolute; top: -3.5em; right: 3%; max-width: 230px; }
#home_stripe .flash img { max-width: 100%; }
@media (min-width: 550px) {
    #home_stripe .flash { right: -0.5em; top: -3.7em; max-width: 240px; }
}
@media (min-width: 768px) {
    #home_stripe { padding-top: 2.5em; }
    #home_stripe .flash { top: -2.8em; }
}
@media (min-width: 992px) {
    #home_stripe { padding-top: 0; }
    #home_stripe .flash { right: 2.5em; top: 1.7em; max-width: 260px; }
}
@media (min-width: 1200px) {
    #home_stripe .flash { right: 4.5em; top: 2.3em; max-width: 280px; }
}

/* ==========================================================================
   Images
   ========================================================================== */

.image_corners { padding: 13px; position: relative; }
.image_corners .image_space:before { content: ""; width: 60px; height: 60px; position: absolute; top: -13px; left: -13px; background: transparent url(../img/main/boximagecorner1.png) no-repeat left top; background-size: 100% 100%; z-index: -1; }
.image_corners .image_space:after { content: ""; width: 60px; height: 60px; position: absolute; bottom: -13px; right: -13px; background: transparent url(../img/main/boximagecorner2.png) no-repeat left top; background-size: 100% 100%; z-index: -1; }
.image_corners_trilogy .image_space:before { content: ""; width: 60px; height: 60px; position: absolute; top: -13px; left: -13px; background: transparent url(../img/main/boximagecorner3.png) no-repeat left top; background-size: 100% 100%; z-index: -1; }
.image_corners_trilogy .image_space:after { content: ""; width: 60px; height: 60px; position: absolute; bottom: -13px; right: -13px; background: transparent url(../img/main/boximagecorner4.png) no-repeat left top; background-size: 100% 100%; z-index: -1; }
.image_corner.left .image_space:before { content: ""; width: 60px; height: 60px; position: absolute; top: -13px; right: -13px; background: transparent url(../img/main/boximagecorner5.png) no-repeat left top; background-size: 100% 100%; z-index: -1; }
.image_corner.right .image_space:before { content: ""; width: 60px; height: 60px; position: absolute; top: -13px; left: -13px; background: transparent url(../img/main/boximagecorner1.png) no-repeat left top; background-size: 100% 100%; z-index: -1; }
.box_image { height: 300px; }
.box_image_spring { width: 100%; height: 100%; position: absolute; top: 0; left: 0; background: transparent url(../img/main/boximage_logo_spring.png) no-repeat center center; background-size: contain; pointer-events: none; }
.box_image_summer { width: 100%; height: 100%; position: absolute; top: 0; left: 0; background: transparent url(../img/main/boximage_logo_summer.png) no-repeat center center; background-size: contain; pointer-events: none; }
.box_image_autumn { width: 100%; height: 100%; position: absolute; top: 0; left: 0; background: transparent url(../img/main/boximage_logo_autumn.png) no-repeat center center; background-size: contain; pointer-events: none; }
.box_image_trilogy { width: 100%; height: 100%; position: absolute; top: 0; left: 0; background: transparent url(../img/main/boximage_logo_trilogy.png) no-repeat center center; background-size: contain; pointer-events: none; }
.box_image_trails { width: 100%; height: 100%; position: absolute; top: 0; left: 0; background: transparent url(../img/main/boximage_logo_trails.png) no-repeat center center; background-size: contain; pointer-events: none; }
.image_lg_45, .image_lg_50 { width: 100%; height: 300px; }
.image_block { position: relative; }
.image_block .image { position: relative; float: left; }
.image_block .image.m_hide { display: none; }
.image_block .image.m_full { width: 100%; height: 260px; }
.image_block .image.m_half { width: 50%; height: 150px; }
.image_slider, .image_slider .slide { height: 350px; }
.image_slider .slide { position: relative; }
.position-relative .wr_badge { position: absolute; right: 8%; top: -13%; width: 100px; }
@media (min-width: 450px) {
	.box_image { height: 350px; }
}
@media (min-width: 576px) {
    .box_image { height: 375px; }
    .box_image.tall { height: 425px; }
    .image_lg_45, .image_lg_50 { height: 375px; }
    .position-relative .wr_badge { right: 3%; }
}
@media (min-width: 768px) {
    .box_image { height: 285px; }
    .box_image.tall { height: 355px; }
    .claw_col_partner { margin-top: 3%; }
    .image_lg_45, .image_lg_50 { height: 450px; }
    .image_block.rows_2 { height: 380px; }
    .image_block.rows_2 .image { height: 50%; }
    .image_block .image.m_hide { display: block; }
    .image_block .image.third { width: 33.3333%; }
    .image_block .image.sixth { width: 16.6666%; }
    .image_slider, .image_slider .slide { height: 320px; }
}
@media (min-width: 992px) {
    .box_image { height: 390px; }
    .box_image.tall { height: 450px; }
    .claw_col_partner { margin-top: 7%; }
    .image_lg_45 { width: 45%; height: 100%; position: absolute; top: 0; }
    .image_lg_50 { width: 50%; height: 100%; position: absolute; top: 0; }
    .image_lg_45.left, .image_lg_50.left { left: 0; }
    .image_lg_45.right, .image_lg_50.right { right: 0; }
    .image_block.rows_2 { height: 480px; }
    .image_slider, .image_slider .slide { height: 300px; }
    .position-relative .wr_badge { top: -15%; }
}
@media (min-width: 1200px) {
	.box_image { height: 440px; }
	.box_image.tall { height: 490px; }
    .box_image_tall_partner { padding-top: 1em; }
    .image_block.rows_2 { height: 550px; }
    .image_slider, .image_slider .slide { height: 350px; }
    .position-relative .wr_badge { width: 110px; }
}
@media (min-width: 1400px) {
	.box_image { height: 460px; }
	.box_image.tall { height: 540px; }
    .box_image_tall_partner { padding-top: 2em; }
    .image_block.rows_2 { height: 650px; }
    .image_slider, .image_slider .slide { height: 400px; }
    .position-relative .wr_badge { width: 120px; }
}

/* ==========================================================================
   Tables
   ========================================================================== */

table { width: 100%; border-collapse: collapse; }
table.feint, table.feint th, table.feint td { border-color: #444; }

table.compare { width: 100%; border-collapse: separate !important; border: 0 !important; }
table.compare p, table.compare h1, table.compare h2, table.compare h3, table.compare h4, table.compare h5, table.compare h6 { margin-top: 0; }
table.compare, table.compare p { color: #FFF; line-height: 120%; font-size: 0.8em; }
table.compare th, table.compare td { padding: 1em 0; font-weight: normal; }
table.compare thead th:first-child { border-bottom: 2px solid #333; }
table.compare thead th:not(:first-child) { border-top: 2px solid #333; border-bottom: 2px solid #333; border-right: 2px solid #333; }
table.compare thead th:nth-child(2) { border-left: 2px solid #333; border-top-left-radius: 30px; }
table.compare thead th:last-child { border-top-right-radius: 30px; }
table.compare tbody th { border-bottom: 2px solid #333; }
table.compare tbody td { border-bottom: 2px solid #333; border-right: 2px solid #333; }
table.compare tbody tr:last-child td:last-child { border-bottom-right-radius: 30px; }
@media (min-width: 576px) {
    table.compare, table.compare p { font-size: 1em; }
}

table.layout { border: 0 !important; }
table.layout tr, table.layout th, table.layout td, table.layout tbody { border: 0; }
table.layout td:not(:last-child) { padding-right: 20px; }
table.layout td.minwidth { width: 20px; }

/* ==========================================================================
   Misc
   ========================================================================== */

.red_divider { width: 3px; height: 100%; background-color: #C00; display: inline-block; }
.overlay { position: absolute; top: -0.5px; bottom: -0.5px; width: 100%; height: 102%; background-color: rgba(0,0,0,0.4); }
.overlay_dark { position: absolute; top: -0.5px; bottom: -0.5px; width: 100%; height: 102%; background-color: rgba(0,0,0,0.8); }
.overflow_hidden { overflow: hidden; }
.flip .fixedimg { transform: scaleY(-1); }
.map_canvas { width: 100%; height: 100%; text-align: left; }
.map_marker1:after { content: "\f3c5"; color: #C00; }

.slanted { position: relative; overflow: visible; z-index: 2; }
.slanted_top_down::before { content: ''; width: 100%; height: 100%; position: absolute; background: inherit; z-index: -1; left: 0; top: 0; transform-origin: right top; transform: skewY(2deg); bottom: 0; }
.slanted_top_up::before { content: ''; width: 100%; height: 100%; position: absolute; background: inherit; z-index: -1; left: 0; top: 0; transform-origin: left top; transform: skewY(-2deg); }
.slanted_bottom_down::after { content: ''; width: 100%; height: 100%; position: absolute; background: inherit; z-index: -1; left: 0; top: 0; transform-origin: left bottom; transform: skewY(2deg); bottom: 0; }
.slanted_bottom_up::after { content: ''; width: 100%; height: 100%; position: absolute; background: inherit; z-index: -1; left: 0; top: 0; transform-origin: right bottom; transform: skewY(-2deg); bottom: 0; }
.above_slant { z-index: 3; }
.behind_slant { z-index: 1; }

#loading { background-color: #111; }
#loading i { color: #C00 !important; }

.accordion { border-top: 1px solid #CCC; }
.accordion.open { border-color: #C00; }
.accordion_title { cursor: pointer; position: relative; margin: 0; padding: 1.5em 40px 1.5em 0; font-size: 0.95em; text-transform: uppercase; letter-spacing: 0.05em; }
.accordion_body { display: none; padding-bottom: 2em; }
.accordion_dot { border: 2px solid #C00; border-radius: 30px; font-size: 11px; line-height: 11px; padding: 8px 0 0 0; height: 31px; width: 31px; position: absolute; right: 0; text-align: center; margin-top: -0.3em; }
.accordion_dot .accordion_open { display: none; }
.accordion.open .accordion_dot .accordion_open { display: block; }
.accordion.open .accordion_dot .accordion_closed { display: none; }

.grecaptcha-badge { z-index: 999;}

.claw_trilogy { padding: 20% 0; background: transparent url(../img/main/claw_trilogy.png) no-repeat center center; background-size: contain; }
.claw_black { padding-top: 8%; padding-bottom: 8%; background: transparent url(../img/main/claw_000.png) no-repeat center center; background-size: auto 100%; }

.charity { position: relative; text-align: center; background-color: #FFF; display: block; line-height: 120%; }
.charity strong { display: block; color: #111; position: absolute; width: 80%; top: 50%; left: 0; right: 0; -ms-transform: translateY(-50%); transform: translateY(-50%); margin-left: auto; margin-right: auto; }

.download { display: block; position: relative; text-decoration: none; color: #111; }
.download span.info { display: none; width: 100%; height: 100%; background-color: rgba(0,0,0,0.6); position: absolute; top: 0; left: 0; text-align: center; }
.download span.info span { position: absolute; width: 80%; top: 50%; left: 0; right: 0; -ms-transform: translateY(-50%); transform: translateY(-50%); margin-left: auto; margin-right: auto; }
.download span.info span strong { display: block; }
.download strong.blank { display: block; background-color: #FFF; padding-top: 25%; padding-bottom: 25%; }
.download .qr { display: none; }
.download:hover { text-decoration: none; }
.download:hover span.info { display: block; }
@media (min-width: 992px) {
    .download .qr { display: inline; width: 30%; border: 7px solid #FFF; margin-top: 10px; }
}

.attention { padding: 0.5em 1em; background-color: #333; border-radius: 1em; }
.document { background-color: #FFF; color: #000; padding: 20px 20px 30px 20px; }
.document h1, .document h2, .document h3, .document h4, .document h5, .document h6 { color: #000; }
@media (min-width: 768px) {
    .document { padding: 40px 40px 60px 40px; }
}

.greybox { background-color: #333; padding: 20px; }

#upcoming_slider { text-align: left; }
#upcoming_title { margin: 0; }
#upcoming_slider .upcoming_slide { padding-right: 15px; }
#upcoming_slider .upcoming_date { margin: 0; font-size: 0.87em; line-height: 1em; }
#upcoming_slider .upcoming_link { margin: 0.3em 0; font-size: 0.92em; }
#upcoming_slider .upcoming_link a { text-decoration: none; }
#upcoming_slider .slick-list { margin-right: 70px; }
#upcoming_slider .slick-prev, #upcoming_slider .slick-next { position: absolute; z-index: 1; top: 0; display: block; width: 40px; height: 100%; margin-top: 0; }
#upcoming_slider .slick-prev.slick-disabled:before, #upcoming_slider .slick-next.slick-disabled:before { opacity: .4; }
#upcoming_slider .slick-prev:before, .slick-next:before { font-size: 40px; opacity: 1; }
#upcoming_slider .slick-prev { right: 32px; left: auto; }
#upcoming_slider .slick-next { right: -10px; }
#upcoming_slider .slick-prev:after { content: ""; display: block; background-color: #C00; width: 2px; height: 50px; position: absolute; right: -2px; top: 50%; margin-top: -25px; }

#profile_events { margin-bottom: 2em; }
.profile_event { border-bottom: 1px solid #444; }
.profile_event .row { padding-top: 1.5em; padding-bottom: 1.5em; }
.profile_event .year { position: relative; }
.profile_event .year img { position: absolute; right: 9%; top: -10px; width: 60px; }
.profile_event .year img.trilogy { position: absolute; right: 1%; top: 0; width: 120px; }
.profile_event .date { font-size: 1.1em; padding-left: 27px; position: relative; margin-top: 0; }
.profile_event .date img { width: 22px; position: absolute; left: 0; }
.profile_event .season { margin-left: 27px; margin-top: 0; }
.profile_event .season strong { font-size: 0.85em; line-height: 140%; text-transform: uppercase; color: #777; display: block; }
.profile_event .season strong.spring { color: #b74646; }
.profile_event .season strong.summer { color: #C00; }
.profile_event .season strong.autumn { color: #af5f00; }
.profile_event .season strong.winter { color: #0082a2; }
.profile_event .season strong.trail { color: #C06; }
.profile_event .attention { margin-top: -0.6em; margin-bottom: 1.3em; }
#profile_events .info { line-height: 120%; }
#profile_events .info strong { font-size: 0.85em; text-transform: uppercase; color: #777; }
@media (min-width: 768px) {
	.profile_event .year img.trilogy { right: 1%; top: -1px; width: 145px; }
}

#fullscreenmessage { display: none; background-color: rgba(0,0,0,0.9); position: fixed; width: 100%; height: 100%; top: 0; left: 0; }
#fullscreenmessage .message { position: absolute; top: 50%; left: 0; right: 0; margin: -0.5em auto 0 auto; }

.popup-bg { display: none; position: fixed; top: 0; z-index: 999999; width: 100%; height: 100%; background-color: #231f20; background-color: rgba(0,0,0,0.8); }
.popup { background-color: #222; position: absolute; left: 20px; right: 20px; top: 50%; transform: perspective(1px) translateY(-50%); padding: 20px; border: 2px solid #C00; }
.popup img.logo { display: block; max-width: 70%; margin: 0 auto; }
.popup .close { width: 30px; float: right; margin: -10px -10px 0 0; cursor: pointer; }
@media (min-width: 768px) {
	.popup { left: 0; right: 0; margin: auto; width: 500px; height: auto; padding: 30px; }
}

.partner_box { display: flex; width: 100%; aspect-ratio: 1/1.41; background-size: contain; background-repeat: no-repeat; margin-bottom: 25px; }
.partner_noimg { border: 1px solid #FFF; height: 100%; width: 100%; position: relative; }
.partner_noimg h4, .partner_noimg h6 { position: absolute; width: 90%; top: 50%; left: 0; right: 0; -ms-transform: translateY(-50%); transform: translateY(-50%); margin: 0 auto; }
#partner_slider { margin: 0 20px;}
#partner_slider .slide { padding: 0 7px; }
#partner_slider .slide .partner_box { margin-bottom: 0; }
#partner_slider .slick-prev { left: -33px; }
#partner_slider .slick-next { right: -33px; }
@media (min-width: 576px) {
    #partner_slider { margin: 0 -7px;}
    #partner_slider .slide { padding: 0 7px; }
}
@media (min-width: 992px) {
    #partner_slider { margin: 0 -10px;}
    #partner_slider .slide { padding: 0 10px; }
}

.socials_inline { font-size: 2.7em; }

.countdown { text-transform: uppercase; font-weight: bold; font-size: 3em; line-height: 90%; color: #FFF; margin: 0; }
.countdown span.line { white-space: nowrap; display: block; }
.countdown span.comma { display: none; }
.countdown_label { color: #C00; font-size: 1.1em; line-height: 120%; margin: 0 0 0.25em 0; }
@media (min-width: 576px) {
    .countdown span.line { white-space: nowrap; display: inline; }
    .countdown span.comma { display: inline; color: #666; font-size: 0.7em; }
    .countdown_label {font-size: 1.3em; }
}

.blackbox { background-color: #000; padding: 20px; border-radius: 15px; }
@media (min-width: 1200px) {
    .blackbox { padding: 30px; border-radius: 20px; }
}

.testimonial_box_image { width: 100%; height: 80vw; background-size: cover; background-position: center center; background-repeat: no-repeat; background-color: #000; }
.testimonial_box_author { font-style: italic; color: #666; }
.testimonial_box_content { margin-top: 1.3em; }
.testimonial_box_content, .testimonial_box_author { text-align: left; }
#testimonials_slider { margin: 0 25px; }
#testimonials_slider .slick-prev { left: -38px; }
#testimonials_slider .slick-next { right: -38px; }
@media (min-width: 576px) {
    .testimonial_box_image { height: 350px; }
}
@media (min-width: 768px) {
    #testimonials_slider { margin: 0 -15px; }
    #testimonials_slider .slick-prev { left: -27px; }
    #testimonials_slider .slick-next { right: -27px; }
    .testimonial_box { padding: 0 15px; }
    .testimonial_box_image { height: 320px; }
}
@media (min-width: 992px) {
    .testimonial_box_image { height: 300px; }
}
@media (min-width: 1200px) {
    #testimonials_slider .slick-prev { left: -37px; }
    #testimonials_slider .slick-next { right: -37px; }
    .testimonial_box_image { height: 270px; }
}
@media (min-width: 1400px) {
    .testimonial_box_image { height: 300px; }
}

#socials { padding-top: 85vw; background-position: center 10%; background-color: #111; background-image: url(../img/main/phone1.jpg); background-size: contain; background-repeat: no-repeat; }
@media (min-width: 576px) {
    #socials { background-size: 85% auto; padding-top: 400px; }
}
@media (min-width: 768px) {
    #socials { padding-left: 40%; padding-top: 0; background-position: left center; background-size: contain; text-align: left; }
    #socials .text { padding: 7% 0; }
}
@media (min-width: 1200px) {
    #socials { padding-left: 35%; }
    #socials .text { padding: 10% 0; }
}
@media (min-width: 1400px) {
    #socials .text { padding: 12% 0; }
}

/* ==========================================================================
   Footer
   ========================================================================== */

footer p, footer ul, footer ol, footer td { font-size: 0.9em; line-height: 145%; }
footer .logo { max-width: 80%; margin-left: -5px; margin-top: 0.3em; }
@media (min-width: 1400px) {
    footer .cards { max-width: 500px; }
}