::-moz-selection { background: #b3d4fc; text-shadow: none; }
::selection { background: #b3d4fc; text-shadow: none; }
audio, canvas, iframe, img, svg, video { vertical-align: middle; }
fieldset { border: 0; margin: 0; padding: 0; }
textarea { resize: vertical; }

@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: local('Open Sans Regular'), local('OpenSans-Regular'), url(https://fonts.gstatic.com/s/opensans/v17/mem8YaGs126MiZpBA-UFVZ0bf8pkAg.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+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: local('Open Sans SemiBold'), local('OpenSans-SemiBold'), url(https://fonts.gstatic.com/s/opensans/v17/mem5YaGs126MiZpBA-UNirkOUuhpKKSTjw.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+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}


/* ==========================================================================
   Custom styles
   ========================================================================== */

html, body { margin: 0; color: #333; font-size: 14.5px; line-height: 155%; }

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

body, p, ul, ol, td, th, form, input, select, button { font-family: 'Open Sans', sans-serif; font-weight: 400; }

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

h1, h2, h3, h4, h5, h6, .h1style, .h2style, .h3style, .h4style, .h5style, .h6style { font-family: 'Open Sans', sans-serif; font-weight: 400; color: #666; }
h1 strong, h2 strong, h3 strong, h4 strong, h5 strong, h6 strong, .h1style strong, .h2style strong, .h3style strong, .h4style strong, .h5style strong, .h6style strong, h1.bold, h2.bold, h3.bold, h4.bold, h5.bold, h6.bold, .h1style.bold, .h2style.bold, .h3style.bold, .h4style.bold, .h5style.bold, .h6style.bold { font-weight: 600; }
.reverse h1, .reverse h2, .reverse h3, .reverse h4, .reverse h5, .reverse h6, .reverse p, .reverse ul, .reverse ol { color: #FFF; }

h1, .h1style { font-size: 2.1em; line-height: 110%; margin: 0.45em 0; }
h2, .h2style { font-size: 1.9em; line-height: 118%; margin: 0.50em 0; }
h3, .h3style { font-size: 1.7em; line-height: 125%; margin: 0.55em 0; }
h4, .h4style { font-size: 1.5em; line-height: 133%; margin: 0.60em 0; }
h5, .h5style { font-size: 1.3em; line-height: 140%; margin: 0.65em 0; }
h6, .h6style { font-size: 1.1em; line-height: 148%; margin: 0.70em 0; }

@media (min-width: 768px) {
    h1, .h1style { font-size: 2.6em; }
	h2, .h2style { font-size: 2.3em; }
	h3, .h3style { font-size: 2.0em; }
	h4, .h4style { font-size: 1.7em; }
	h5, .h5style { font-size: 1.4em; }
	h6, .h6style { font-size: 1.1em; }
}

hr { display: block; height: 1px; border: 0; border-top: 1px solid #CCC; margin: 1em 0; padding: 0; }
ul, ol { padding-left: 1em; margin: 0.8em 0 0 0; }
ul li, ol li { margin: 0.5em 0 0 0; }

img { max-width: 100%; }

.nm { margin: 0; }
.ntm { margin-top: 0; }
.nbm { margin-bottom: 0; }
.stm { margin-top: 0.5em; }
.sbm { margin-bottom: 0.5em; }
.btm { margin-top: 1.1em; }
.bbm { margin-bottom: 1.1em; }
.vbtm { margin-top: 1.6em; }
.vbbm { margin-bottom: 1.6em; }
.vvbtm { margin-top: 2em; }
.vvbbm { margin-bottom: 2em; }
.fl { float: left; }
.fr { float: right; }
.cll { clear: left; }
.clr { clear: right; }
.cl { clear: both; }

.alleft { text-align: left; }
.alcenter { text-align: center; }
.alright { text-align: right; }

a { color: #FF6600; text-decoration: none; outline: 0; }
a:hover { color: #FF6600; text-decoration: underline; outline: 0; }
a:focus { outline: 0; }

.reverse a { color: #FFF; }
.reverse a:hover { color: #FFF; }

a.boxbutton, .boxbutton { display: inline-block; text-decoration: none; font-weight: 600; background-color: #CC6600 !important; color: #FFF !important; padding: 2em 2em; cursor: pointer; }
a.boxbutton.block, .boxbutton.block { display: block; padding-left: 0; padding-right: 0; }
a.boxbutton i { display: inline-block; font-size: 1.2em; margin-right: 0.5em; }
a.boxbutton:hover, .boxbutton:hover { background-color: #333 !important; text-decoration: none; }
a.boxbutton.reverse, .reverse a.boxbutton, .boxbutton.reverse { background-color: #FFF; color: #CC6600; }
a.boxbutton.reverse:hover, .reverse .boxbutton:hover, .boxbutton.reverse:hover { background-color: #EAEAEA; color: #333; text-decoration: none; }

.reverse, .white { color: #FFF; }
.error { color: #fd4539; font-weight: 600; }

.grey { color: #333; }
.lgrey { color: #ccd8d8; }
.orange { color: #FF6600 !important; }

.bglgrey { background-color: #f0f3f3; }
.bgorange, .bgbrandcolor1 { background-color: #FF6600; }
.bggrey, .bgbrandcolor2 { background-color: #4c4c4c; }

.bgorange p, .bgorange h1, .bgorange h2, .bgorange h3, .bgorange h4, .bgorange h5, .bgorange h6 { color: #FFF; }
.bgbrandcolor1 p, .bgbrandcolor1 h1, .bgbrandcolor1 h2, .bgbrandcolor1 h3, .bgbrandcolor1 h4, .bgbrandcolor1 h5, .bgbrandcolor1 h6 { color: #FFF; }
.bgbrandcolor2 p, .bgbrandcolor2 h1, .bgbrandcolor2 h2, .bgbrandcolor2 h3, .bgbrandcolor2 h4, .bgbrandcolor2 h5, .bgbrandcolor2 h6 { color: #FFF; }
.bgorange a, .bgbrandcolor1 a, .bgbrandcolor2 a { color: #FFF; text-decoration: underline; }
.bgorange a.boxbutton, .bgorange .boxbutton, .bgbrandcolor1 a.boxbutton, .bgbrandcolor1 .boxbutton, .bgbrandcolor2 a.boxbutton, .bgbrandcolor2 .boxbutton { background-color: #FFF; color: #FF6600; text-decoration: none; }
.bgorange a.boxbutton:hover, .bgorange .boxbutton:hover, .bgbrandcolor1 a.boxbutton:hover, .bgbrandcolor1 .boxbutton:hover, .bgbrandcolor2 a.boxbutton:hover, .bgbrandcolor2 .boxbutton:hover { color: #FFF; background-color: #355e9f; text-decoration: none; }
.bgorange a:hover, .bgbrandcolor1 a:hover, .bgbrandcolor2 a:hover { color: #FF6600; text-decoration: underline; }

.bigger { font-size: 1.2em; line-height: 155%; }
.allcaps { text-transform: uppercase; letter-spacing: 0.1em; }
.livelink, .livelink_blank { cursor: pointer; }
.reveal, .shapereveal { visibility: hidden; }
.relative { position: relative; }
.cb_fade { display: none; }

table { margin: 0.8em 0 0 0; border-top: 1px solid #CCC; border-collapse: collapse; }
table th, table td { padding: 0.3em 0.6em 0.3em 0; border-bottom: 1px solid #CCC; }

#loading { position: fixed; top: 0; width: 100%; height: 100%; background-color: #002b3c; z-index: 9999; }
#loading i { color: #368ddd; font-size: 3em; position: absolute; top: 50%; left: 50%; margin-left: -0.4em; margin-top: -0.4em; }

/* ==========================================================================
   Header and Footer
   ========================================================================== */

header { text-align: center; padding-bottom: 15px; }
header #preheader { display: none; }
header .logo { height: 140px; display: block; margin: 20px 0 15px 0; }
header .logo img { max-height: 100%; }
header p { font-size: 0.9em; color: #666; }
header p.locations { display: none; }
header p.locations a { color: #666; }
header p.locations a:hover { color: #FF6600; text-decoration: none; }
header p.phone { margin-top: 0; }
header p.phone a { color: #333; font-size: 1.1em; }
header p.phone a:hover { color: #FF6600; text-decoration: none; }
@media (min-width: 768px) {
	header { padding-bottom: 0; }
	header .container { position: relative; }
	header .logo { height: 130px; margin: 25px 0; }
	header p.locations { display: block; position: absolute; left: 15px; bottom: 2.5em; }
	header p.phone { position: absolute; right: 15px; bottom: 2.5em; }
}
@media (min-width: 992px) {
	header #preheader { display: block; background-color: #e0e0e0; }
	header #preheader ul { margin: 0 -28px; padding: 0; text-align: center; list-style: none; list-style-type: none; }
	header #preheader ul li { margin: 0; display: inline-block; font-size: 0.9em; }
	header #preheader ul li i { display: inline-block; font-size: 1.2em; margin: -0.1em 0.1em -0.1em 0; }
	header #preheader ul li a, header #preheader ul li span { display: inline-block; padding: 13px 12px; color: #333; }
	header #preheader ul li a:hover { text-decoration: none; color: #FF6600; }
	header #preheader ul li.standout a { padding: 16px 17px; margin: 0 8px -6px 8px; background-color: #FF6600; color: #FFF; }
	header #preheader ul li.standout a:hover { text-decoration: none; background-color: #333; }
}
@media (min-width: 1200px) {
	header #preheader ul { margin: 0 -40px; }
	header #preheader ul li a, header #preheader ul li span { padding: 13px 25px; }
	header #preheader ul li.standout a { padding: 16px 35px; margin: 0 25px -6px 25px; }
}

footer { font-size: 0.9em; line-height: 180%; padding: 35px 0 50px; background-color: #4c4c4c; }
footer p.smallprint { font-size: 0.9em; line-height: 140%; margin-top: 3em; }
footer a.footer_link i { color: #FF6600; font-size: 0.8em; color: #999; }
footer a.footer_link:hover { color: #FF6600 !important; text-decoration: none; }
footer a.footer_link:hover i { color: #FF6600; }
footer ul.footer_link_list { padding: 0; list-style: none; list-style-type: none; }
footer ul.footer_link_list li { margin: 0; }
footer ul.footer_icon_links { padding: 0; list-style: none; list-style-type: none; }
footer ul.footer_icon_links li { display: inline-block; margin-right: 0.2em; }
footer ul.footer_icon_links li a { display: inline-block; background-color: #FFF; color: #4c4c4c; font-size: 1.3em; padding: 0.3em; }
footer ul.footer_icon_links li a:hover { background-color: #FF6600; color: #4c4c4c; }
footer .logo { display: block; margin-bottom: 1em; text-align: center; }
footer .logo img { max-width: 160px; }
footer .relative .book { margin-top: 0; padding-top: 1.5em; }
footer .scraft { display: block; margin: 20px auto; max-width: 250px; }
@media (min-width: 576px) {
	footer .scraft { max-width: 100%; }
}
@media (min-width: 768px) {
	footer p.smallprint { position: absolute; bottom: 0; width: 100%; margin-bottom: 0.2em; }
	footer .relative { height: 100%; }
	footer .scraft { max-width: 250px; }
}
@media (min-width: 992px) {
	footer .scraft { max-width: 100%; }
}

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

#navmain { display: none; background-color: #FF6600; position: fixed; z-index: 2; top: 0; left: 0; width: 100%; height: 100%; }
#navmain > ul { margin: -13em 0 0 0; padding: 0; text-align: center; list-style: none; list-style-type: none; width: 100%; position: absolute; top: 50%; }
#navmain ul li { font-size: 1.2em; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; margin: 0; padding: 0; }
#navmain ul li a { display: block; color: #FFF; padding: 10px 10px; }
#navmain ul li a:hover { color: #333; text-decoration: none; }
.navnav { color: #FF6600; font-size: 1.7em; line-height: 100%; padding: 19px; position: absolute; top: 0; right: 0; cursor: pointer; }
#navclose { color: #FFF; }
@media (min-width: 768px) {
	.navnav { padding: 23px; }
}
@media (min-width: 992px) {
	#navopen, #navclose { display: none; }
	#navmain { background-color: rgba(255,255,255,0.5); padding: 1px 0; border-top: 2px solid #EAEAEA; display: block; position: static; top: auto; left: auto; width: auto; height: auto; }
	#navmain > ul { margin: 0; position: static; top: auto; position: relative; }
	#navmain > ul > li { display: inline-block; font-size: 0.85em; font-weight: 600; }
	#navmain > ul > li a { padding: 13px 20px; }
	#navmain ul li a { color: #666; }
	#navmain ul li a.sel { color: #333; }
	#navmain ul li a:hover, #navmain ul li a:active { color: #FF6600; }
}
@media (min-width: 1200px) {
	#navmain ul li a { padding: 13px 25px; }
}

#nav_footer { font-size: 0.9em; font-size: 0.8em; color: #ccd8d8; margin-top: 0; margin-bottom: 1.5em; }
#nav_footer a { color: #ccd8d8; }
#nav_footer a:hover { color: #79a6b3; }

/* ==========================================================================
   Signposts
   ========================================================================== */

.signposts { padding-bottom: 20px; background-color: #EAEAEA; }
.signposts p { background-color: #FFF; margin: 20px 0 0 0; }
.signposts p a { display: block; padding: 40px 5px; color: #333; }
.signposts p a:hover { text-decoration: none; color: #FF6600; }
.signposts p i { display: block; font-size: 2em; margin-bottom: 0.2em; }

/* ==========================================================================
   Slick slider 1.8.0
   ========================================================================== */

/* Slider */
.slick-slider { position: relative; display: block; box-sizing: border-box; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; -webkit-touch-callout: none; -khtml-user-select: none; -ms-touch-action: pan-y; touch-action: pan-y; -webkit-tap-highlight-color: transparent; }
.slick-list { position: relative; display: block; overflow: hidden; margin: 0; padding: 0; }
.slick-list:focus { outline: none; }
.slick-list.dragging { cursor: pointer; cursor: hand; }
.slick-slider .slick-track, .slick-slider .slick-list { -webkit-transform: translate3d(0, 0, 0); -moz-transform: translate3d(0, 0, 0); -ms-transform: translate3d(0, 0, 0); -o-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }
.slick-track { position: relative; top: 0; left: 0; display: block; margin-left: auto; margin-right: auto; }
.slick-track:before, .slick-track:after { display: table; content: ''; }
.slick-track:after { clear: both; }
.slick-loading .slick-track { visibility: hidden; }
.slick-slide { display: none; float: left; height: 100%; min-height: 1px; }
[dir='rtl'] .slick-slide { float: right; }
.slick-slide img { display: block; }
.slick-slide.slick-loading img { display: none; }
.slick-slide.dragging img { pointer-events: none; }
.slick-initialized .slick-slide { display: block; }
.slick-loading .slick-slide { visibility: hidden; }
.slick-vertical .slick-slide { display: block; height: auto; border: 1px solid transparent; }
.slick-arrow.slick-hidden { display: none; }

.slick-prev, .slick-next { font-size: 0; line-height: 0; position: absolute; z-index: 1; top: 50%; display: block; width: 40px; height: 40px; margin-top: -20px; padding: 0; cursor: pointer; color: transparent; border: none; outline: none; background: transparent; }
.slick-prev:hover, .slick-prev:focus, .slick-next:hover, .slick-next:focus { color: transparent; outline: none; background: transparent; }
.slick-prev:hover:before, .slick-prev:focus:before, .slick-next:hover:before, .slick-next:focus:before { opacity: 1; }
.slick-prev.slick-disabled:before, .slick-next.slick-disabled:before { opacity: .25; }
.slick-prev:before, .slick-next:before { display: inline-block; font-family: 'Font Awesome 5 Pro'; font-size: 38px; line-height: 1; opacity: .75; color: #FFF; font-weight: 400; text-transform: none; letter-spacing: 0; font-style: normal; font-variant: normal; text-rendering: auto; -webkit-font-smoothing: antialiased; }
.slick-prev { left: 0; }
.slick-next { right: 0; }
.slick-prev:before { content: "\f104"; }
.slick-next:before { content: "\f105"; }

.slick-dots { display: block; margin: 0; padding: 0; position: absolute; text-align: center; width: 100%; bottom: 3%; left: 0; list-style: none; list-style-type: none; }
.slick-dots li { display: inline-block; margin: 0 0.3em; }
.slick-dots li button { text-indent: -9999px; overflow: hidden; line-height: 0; padding: 0; border: 1px solid #FFF; background-color: transparent; border-radius: 100%; width: 14px; height: 14px; outline: 0; }
.slick-dots li button:before { font-size: 14px; color: #FFF; opacity: 0.7; }
.slick-dots li.slick-active button { background-color: #FFF; }
.slick-dots li.slick-active button:before { color: #FFF; opacity: 1; }

/* ==========================================================================
   Banners and Images
   ========================================================================== */

#banner { background-color: #EAEAEA; }
#banner, #banner_slider, #banner_slider .slide { height: 430px; position: relative; }
#banner_slider { overflow: hidden; }
#banner_slider .slide { display: block; background-color: #EAEAEA; }
#banner_slider .slide .image { height: 100%; width: 100%; position: absolute; background-repeat: no-repeat; background-position: center center; background-size: cover; opacity: 1 !important; }
#banner_slider .slide .shading { height: 100%; width: 100%; background: transparent url(../img/main/banner_bg.png) repeat-x center center; background-color: rgba(0,0,0,0.3); background-size: auto 100%; position: absolute; top: 0; left: 0; }
#banner_slider .slide .container { height: 100%; }
#banner_slider .slide .text_holder { height: 100%; position: relative; }
#banner_slider .slide .text { position: absolute; bottom: 8%; width: 100%; }
#banner_slider .slide .text p { color: #FFF; text-shadow: 0px 0px 20px rgba(0, 0, 0, 0.4); }
#banner_slider .slide .text h1.headline { margin: 0; font-size: 2.5em; line-height: 120%; font-weight: 600; color: #FFF; }
#banner_slider .slide .text p.subtext { max-width: 600px; }
#banner .tile { max-width: 100px; position: absolute; top: 15px; right: 15px; }
@media (min-width: 576px) {
	#banner, #banner_slider, #banner_slider .slide { height: 460px; }
	#banner_slider .slide .text { bottom: 12.5%; }
	#banner_slider .slide .text h1.headline { font-size: 2.7em; }
	#banner .tile { max-width: 120px; top: 20px; right: 25px; }
}
@media (min-width: 768px) {
	#banner, #banner_slider, #banner_slider .slide { height: 490px; }
	#banner_slider .slide .text h1.headline { font-size: 3.0em; }
	#banner_slider .slide .text p.subtext { font-size: 1.1em; }
	#banner_slider .slide .shading { background-color: transparent; }
	#banner .tile { max-width: 130px; top: 25px; right: 30px; }
}
@media (min-width: 992px) {
	#banner, #banner_slider, #banner_slider .slide { height: 540px; }
	#banner_slider .slide .text h1.headline { font-size: 3.2em; }
	#banner .tile { max-width: 140px; top: 30px; right: 40px; }
}
@media (min-width: 1200px) {
	#banner, #banner_slider, #banner_slider .slide { height: 600px; }
	#banner_slider .slide .text h1.headline { font-size: 3.6em; }
	#banner .tile { max-width: 150px; top: 35px; right: 55px; }
}

#banner_move_on { position: absolute; 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; }
#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; }

.fixedimg { width: 100%; height: 100%; background-repeat: no-repeat; background-size: cover; background-position: center center; }

.image_banner_row { background: #CCC url(../img/main/empty.jpg) no-repeat center center; background-size: cover; position: relative; }
.image_banner_row .page_image > img { min-width: 100%; }
.image_banner_half { width: 50%; height: 160px; float: left; background: #CCC url(../img/main/empty.jpg) no-repeat center center; background-size: cover; position: relative; }
.image_banner_height_standard { height: 220px; }
@media (min-width: 450px) {
	.image_banner_half { height: 210px; }
	.image_banner_height_standard { height: 300px; }
}
@media (min-width: 576px) {
	.image_banner_half { height: 230px; }
	.image_banner_height_standard { height: 350px; }
}
@media (min-width: 768px) {
	.image_banner_half { height: 300px; }
	.image_banner_height_standard { height: 450px; }
}
@media (min-width: 992px) {
	.image_banner_half { height: 360px; }
	.image_banner_height_standard { height: 550px; }
}
@media (min-width: 1200px) {
	.image_banner_half { height: 420px; }
	.image_banner_height_standard { height: 600px; }
}
@media (min-width: 1400px) {
	.image_banner_half { height: 460px; }
	.image_banner_height_standard { height: 650px; }
}

/* ==========================================================================
   Services
   ========================================================================== */

.service_blocks { margin: 0 -7px; padding: 0; list-style: none; list-style-type: none; }
.service_blocks .block { margin: 0 0 20px 0; vertical-align: top; }
.service_blocks .block a { margin: 0 7px; display: block; position: relative; border-bottom: 2px solid #FFF; }
.service_blocks .block a:hover { text-decoration: none; border-color: #FF6600; }
.service_blocks .block .image { display: block; height: 220px; background-repeat: no-repeat; background-size: cover; background-position: center center; background-color: #f0f3f3; }
.service_blocks .block .offer { position: absolute; top: 10px; left: 10px; width: 90px; }
.service_blocks .block .info { display: block; color: #333; text-align: left; }
.service_blocks .block .title { display: block; font-size: 1.5em; font-weight: 600; margin: 1em 0 0.5em 0; padding-bottom: 0.6em; border-bottom: 1px solid #CCC; }
.service_blocks .block .subtext { display: block; font-size: 0.95em; line-height: 140%; }
.service_blocks .block .view { display: block; font-size: 0.9em; line-height: 130%; font-weight: 600; text-transform: uppercase; margin-top: 1em; margin-bottom: 0.5em; }
@media (min-width: 480px) {
	.service_blocks .block { display: inline-block; width: 50%; margin-bottom: 30px; }
	.service_blocks .block .image { height: 200px; }
	.service_blocks .block .info { height: 168px; }
	.service_blocks .block .title { font-size: 1.3em; }
	.service_blocks .block .view { position: absolute; bottom: 0; }
}
@media (min-width: 576px) {
	.service_blocks .block .title { font-size: 1.4em; }
}
@media (min-width: 768px) {
	.service_blocks { margin-left: -15px; margin-right: -15px; }
	.service_blocks .block a { margin: 0 15px; }
	.service_blocks .block .image { height: 240px; }
	.service_blocks .block .title { font-size: 1.5em; }
	.service_blocks .block .info { height: 150px; }
}
@media (min-width: 992px) {
	.service_blocks { margin-left: -7px; margin-right: -7px; }
	.service_blocks .block { width: 25%; margin-bottom: 40px; }
	.service_blocks .block a { margin: 0 7px; }
	.service_blocks .block .image { height: 190px; }
	.service_blocks .block .info { height: 170px; }
	.service_blocks .block .title { font-size: 1.4em; }
}
@media (min-width: 1200px) {
	.service_blocks { margin-left: -10px; margin-right: -10px; }
	.service_blocks .block a { margin: 0 10px; }
	.service_blocks .block .image { height: 240px; }
	.service_blocks .block .info { height: 170px; }
	.service_blocks .block .title { font-size: 1.55em; }
}

.service_slider .slick-prev, .service_slider .slick-next { top: auto; bottom: -9px; }
.service_slider .slick-prev:before, .service_slider .slick-next:before { color: #666; opacity: .30; }
.service_slider .slick-prev:hover:before, .service_slider .slick-prev:focus:before, .service_slider .slick-next:hover:before, .service_slider .slick-next:focus:before { opacity: 1; }
.service_slider .slick-prev { left: 0; }
.service_slider .slick-next { right: 0; }

.service_slider .slick-dots { position: static; margin-bottom: 3em; }
.service_slider .slick-dots li button { border-color: #666; }
.service_slider .slick-dots li button:before { color: #666; }
.service_slider .slick-dots li.slick-active button { background-color: #666; }
.service_slider .slick-dots li.slick-active button:before { color: #666; }

.ranges { text-align: left; }
.range { padding-top: 2em; padding-bottom: 2em; border-top: 1px solid #CCC; }
.range .text { margin-bottom: 2em; }
.bg_image_1 { height: 120px; background-repeat: no-repeat; background-size: cover; margin-top: 1.5em; margin-bottom: 1em; }
.bg_image_2 { height: 260px; background-repeat: no-repeat; background-size: cover; margin-top: 1.5em; display: block; }
.bg_image_2.bg_image_2x2 { height: 110px; }
.bg_image_2.bg_image_2x3 { height: 95px; }
.bg_image_2_row { margin-bottom: 1.5em; }
@media (min-width: 576px) {
	.bg_image_1 { height: 190px; }
	.bg_image_2 { height: 380px; }
	.bg_image_2.bg_image_2x2 { height: 140px; }
	.bg_image_2.bg_image_2x3 { height: 120px; }
}
@media (min-width: 768px) {
	.bg_image_1 { height: 240px; }
	.bg_image_2 { height: 270px; }
	.bg_image_2.bg_image_2x2 { height: 120px; }
	.bg_image_2.bg_image_2x3 { height: 95px; }
}
@media (min-width: 992px) {
	.range_images { padding-right: 30px; }
	.bg_image_1 { height: 170px; }
	.bg_image_2 { height: 365px; }
	.bg_image_2.bg_image_2x2 { height: 130px; }
	.bg_image_2.bg_image_2x3 { height: 110px; }
}
@media (min-width: 1200px) {
	.range_images { padding-right: 50px; }
	.bg_image_1 { height: 210px; }
	.bg_image_2 { height: 430px; }
	.bg_image_2.bg_image_2x2 { height: 150px; }
	.bg_image_2.bg_image_2x3 { height: 120px; }
}

.gallery { margin-left: -7px; margin-right: -7px; }
.gallery .img { width: 50%; padding-left: 7px; padding-right: 7px; margin: 7px 0; float: left; }
.gallery .img a { height: 135px; background-repeat: no-repeat; display: block; }
@media (min-width: 576px) {
	.gallery .img { width: 33.3333%; }
	.gallery .img a { height: 140px; }
}
@media (min-width: 768px) {
	.gallery .img { width: 25%; }
	.gallery .img a { height: 150px; }
}
@media (min-width: 992px) {
	.gallery .img { width: 20%; }
	.gallery .img a { height: 157px; }
}
@media (min-width: 1200px) {
	.gallery { margin-left: -10px; margin-right: -10px; }
	.gallery .img { width: 16.6666%; padding-left: 10px; padding-right: 10px; margin: 10px 0; }
	.gallery .img a { height: 160px; }
}

/* ==========================================================================
   Link Blocks
   ========================================================================== */

.link_blocks { margin: 0 -7px; padding: 0; list-style: none; list-style-type: none; }
.link_blocks .block { margin: 0 0 20px 0; }
.link_blocks .block a { margin: 0 7px; display: block; position: relative; padding-bottom: 45px; background-color: #f0f3f3; }
.link_blocks .block a:hover { text-decoration: none; }
.link_blocks .block .image { display: block; height: 220px; background-repeat: no-repeat; background-size: cover; background-position: center center; }
.link_blocks .block .offer { position: absolute; top: 10px; left: 10px; width: 90px; }
.link_blocks .block .info { display: block; background-color: #EAEAEA; color: #333; height: 45px; width: 100%; position: absolute; bottom: 0; }
.link_blocks .block .title { display: block; font-size: 1.1em; position: absolute; width: 100%; top: 50%; margin-top: -0.8em; }
@media (min-width: 450px) {
	.link_blocks .block { display: inline-block; width: 49%; }
	.link_blocks .block .image { height: 200px; }
}
@media (min-width: 768px) {
	.link_blocks { margin-left: -15px; margin-right: -15px; }
	.link_blocks .block a { margin: 0 15px; }
	.link_blocks .block .image { height: 240px; }
}
@media (min-width: 992px) {
	.link_blocks { margin-left: -7px; margin-right: -7px; }
	.link_blocks .block { width: 24%; }
	.link_blocks .block a { margin: 0 7px; }
	.link_blocks .block .image { height: 190px; }
}
@media (min-width: 1200px) {
	.link_blocks { margin-left: -10px; margin-right: -10px; }
	.link_blocks .block a { margin: 0 10px; }
	.link_blocks .block .image { height: 240px; }
}

/* ==========================================================================
   Testimonails
   ========================================================================== */

.testimonial_slider { margin: 0 -7px; padding: 0; list-style: none; list-style-type: none; }
.testimonial_slider li { color: #666; padding: 0 30px; font-size: 0.95em; line-height: 140%; }
.testimonial_slider li strong { color: #333; display: block; font-size: 1.4em; line-height: 135%; margin-bottom: 0.6em; }
.testimonial_slider li .lquo { margin-right: 0.2em; }
.testimonial_slider li .rquo { margin-left: 0.2em; }
@media (min-width: 768px) {
	.testimonial_slider { margin: 0 -15px; }
	.testimonial_slider li { padding: 0 45px; }
	.testimonial_slider li strong { font-size: 1.45em; }
}
@media (min-width: 992px) {
	.testimonial_slider { margin: 0 -7px; }
	.testimonial_slider li { padding: 0 60px; }
	.testimonial_slider li strong { font-size: 1.50em; }
}
@media (min-width: 1200px) {
	.testimonial_slider { margin: 0 -10px; }
	.testimonial_slider li { padding: 0 100px; }
	.testimonial_slider li strong { font-size: 1.55em; }
}

.testimonial_slider .slick-prev:before, .testimonial_slider .slick-next:before { color: #666; opacity: .30; }
.testimonial_slider .slick-prev:hover:before, .testimonial_slider .slick-prev:focus:before, .testimonial_slider .slick-next:hover:before, .testimonial_slider .slick-next:focus:before { opacity: 1; }

/* ==========================================================================
   Countdowns
   ========================================================================== */

.countdown { margin: 0; padding: 0; list-style: none; list-style-type: none; }
.countdown li { display: inline-block; list-style-type: none; margin: 0; padding: 0.5em 0.5em; text-transform: uppercase; }
.countdown li span { display: block; font-size: 3.5rem; line-height: 120%; }
@media (min-width: 768px) {
	.countdown li { font-size: 1.2em; padding: 0.5em 1em; }
	.countdown li span { font-size: 4.5rem; }
}

/* ==========================================================================
   Maps
   ========================================================================== */

.map { height: 440px; background-color: #EAEAEA; text-align: left; margin: 1.5em 0; }
.map_marker1 { width: 0; height: 0; position: relative; }
.map_marker1:after { font-family: 'Font Awesome 5 Pro'; content: "\f60d"; color: #FF6600; font-size: 3em; line-height: 100%; font-weight: normal; position: absolute; bottom: 0; left: -0.25em; }

/* ==========================================================================
   Contact
   ========================================================================== */

.tm_form label { font-weight: 400; }
.tm_form input[type='text'], .tm_form input[type='email'], .tm_form textarea, .tm_form select { display: block; width: 100%; border: 0; background-color: #f0f3f3; border: 1px solid #f0f3f3; margin-bottom: 1em; padding: 0.7em 1em; }
.tm_form textarea { line-height: 150%; }
.tm_form input[type='text'].has-error, .tm_form input[type='email'].has-error, .tm_form textarea.has-error { background-color: #f2dede; border-color: #ebccd1; }
.tm_form button { display: inline-block; color: #FFF; background-color: #FF6600; font-size: 0.9em; font-weight: 600; text-transform: uppercase; letter-spacing: 0.07em; padding: 0.85em 3em; border: none; cursor: pointer; }
.tm_form button:hover { background-color: #333; }
.tm_form #submit .checkbox { margin: 0.8em 0; }
.tm_form .mandatory_message { float: right; }
@media (min-width: 768px) {
    .tm_form #submit .checkbox { margin-top: 0.8em; float: left; }
    .tm_form #submit p { float: right; }
    .tm_form .mandatory_message { float: none; }
}

#whatsapp { background-color: #25D366; position: fixed; bottom: 25px; right: 15px; padding: 8px; border-radius: 10px; }
#whatsapp .logo { padding: 8px; margin: -8px; cursor: pointer; display: inline-block; }
#whatsapp .logo img { width: 40px; }
@media (min-width: 768px) {
    #whatsapp { bottom: 30px; right: 30px; padding: 13px; }
    #whatsapp .logo { padding: 13px; margin: -13px; }
}

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

.fixedimg { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-repeat: no-repeat; background-size: cover; background-position: center center; }

.image_space { position: relative; margin-top: 1.3em; }
.image_space > a { display: block; height: 100%; }
.image_space .shading { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0,0,0,0.3); }
.image_half { width: 50%; height: 160px; float: left; background: #CCC url(../img/main/empty.jpg) no-repeat center center; background-size: cover; position: relative; }
.image_short { height: 200px; }
.image_standard { height: 250px; }
.image_tall { height: 330px; }
.image_special { height: 220px; margin: 1.7em 0 1em 0; position: relative; }
@media (min-width: 450px) {
	.image_half { height: 210px; }
	.image_short { height: 260px; }
	.image_standard { height: 320px; }
	.image_tall { height: 420px; }
	.image_special { height: 270px; }
}
@media (min-width: 576px) {
	.image_half { height: 230px; }
	.image_short { height: 300px; }
	.image_standard { height: 350px; }
	.image_tall { height: 400px; }
	.col-md-6 .image_short, .col-md-5 .image_short, .col-md-4 .image_short { height: 280px; }
	.col-md-6 .image_standard, .col-md-5 .image_standard, .col-md-4 .image_standard { height: 320px; }
	.col-md-6 .image_tall, .col-md-5 .image_tall, .col-md-4 .image_tall { height: 380px; }
	.image_special { height: 280px; }
}
@media (min-width: 768px) {
	.image_half { height: 300px; }
	.image_short { height: 350px; }
	.image_standard { height: 450px; }
	.image_tall { height: 550px; }
	.col-md-6 .image_short { height: 240px; }
	.col-md-6 .image_standard { height: 300px; }
	.col-md-6 .image_tall { height: 410px; }
	.col-md-5 .image_short { height: 205px; }
	.col-md-5 .image_standard { height: 255px; }
	.col-md-5 .image_tall { height: 300px; }
	.col-md-4 .image_short { height: 170px; }
	.col-md-4 .image_standard { height: 210px; }
	.col-md-4 .image_tall { height: 270px; }
	.image_special { height: 280px; }
}
@media (min-width: 992px) {
	.image_half { height: 360px; }
	.image_short { height: 420px; }
	.image_standard { height: 550px; }
	.image_tall { height: 650px; }
	.col-md-6 .image_short { height: 330px; }
	.col-md-6 .image_standard { height: 430px; }
	.col-md-6 .image_tall { height: 580px; }
	.col-md-5 .image_short { height: 280px; }
	.col-md-5 .image_standard { height: 360px; }
	.col-md-5 .image_tall { height: 485px; }
	.col-md-4 .image_short { height: 230px; }
	.col-md-4 .image_standard { height: 290px; }
	.col-md-4 .image_tall { height: 390px; }
	.image_special { height: 355px; }
}
@media (min-width: 1200px) {
	.image_half { height: 420px; }
	.image_short { height: 470px; }
	.image_standard { height: 600px; }
	.image_tall { height: 700px; }
	.col-md-6 .image_short { height: 360px; }
	.col-md-6 .image_standard { height: 480px; }
	.col-md-6 .image_tall { height: 660px; }
	.col-md-4 .image_short { height: 270px; }
	.col-md-4 .image_standard { height: 360px; }
	.col-md-4 .image_tall { height: 460px; }
	.image_special { height: 410px; }
}
@media (min-width: 1400px) {
	.image_half { height: 460px; }
	.image_short { height: 520px; }
	.image_standard { height: 650px; }
	.image_tall { height: 750px; }
}

/* ==========================================================================
   Spacing classes
   ========================================================================== */

.para_space { margin-top: 1.5em; margin-bottom: 1.5em; }
@media (min-width: 768px) {
	.para_space { margin-top: 2.5em; margin-bottom: 2.5em; }
}
@media (min-width: 1200px) {
	.para_space { margin-top: 3em; margin-bottom: 3em; }
}

.areaspace_vertical_min { padding-top: 1em; padding-bottom: 2em; }
.areaspace_vertical { padding-top: 2em; padding-bottom: 3em; }
.areaspace_vertical_max { padding-top: 2.5em; padding-bottom: 3.5em; }
.areaspace_vertical_mega { padding-top: 7em; padding-bottom: 8em; }
.areaspace_above_max { padding-top: 2.5em; }
.areaspace_above { padding-top: 2em; }
.areaspace_above_min { padding-top: 1em; }
.areaspace_below_min { padding-bottom: 2em; }
.areaspace_below { padding-bottom: 3em; }
.areaspace_below_max { padding-bottom: 3.5em; }
.areaspace_minheight { min-height: 400px; }
@media (min-width: 576px) {
	.areaspace_minheight { min-height: 500px; }
}
@media (min-width: 768px) {
	.area_min_height { min-height: px; }
    .areaspace_vertical_min { padding-top: 1.5em; padding-bottom: 2.5em; }
    .areaspace_vertical { padding-top: 2.5em; padding-bottom: 3.5em; }
    .areaspace_vertical_max { padding-top: 4em; padding-bottom: 5em; }
    .areaspace_vertical_mega { padding-top: 9em; padding-bottom: 10em; }
    .areaspace_above_max { padding-top: 4em; }
    .areaspace_above { padding-top: 2.5em; }
	.areaspace_above_min { padding-top: 1.5em; }
	.areaspace_below_min { padding-bottom: 2.5em; }
    .areaspace_below { padding-bottom: 3.5em; }
    .areaspace_below_max { padding-bottom: 5em; }
    .areaspace_horizontal { padding-left: 2%; padding-right: 2%; }
    .areaspace_horizontal_max { padding-left: 7%; padding-right: 7%; }
    .areaspace_horizontal_max2 { padding-left: 8%; padding-right: 8%; }
	.areaspace_minheight { min-height: 600px; }
}
@media (min-width: 992px) {
    .areaspace_horizontal { padding-left: 6%; padding-right: 6%; }
    .areaspace_horizontal_max { padding-left: 15%; padding-right: 15%; }
	.areaspace_horizontal_max2 { padding-left: 21%; padding-right: 21%; }
}
@media (min-width: 1200px) {
    .areaspace_vertical_min { padding-top: 2em; padding-bottom: 3em; }
    .areaspace_vertical { padding-top: 3em; padding-bottom: 4em; }
    .areaspace_vertical_max { padding-top: 5em; padding-bottom: 6em; }
    .areaspace_vertical_mega { padding-top: 10em; padding-bottom: 11em; }
    .areaspace_above_max { padding-top: 5em; }
    .areaspace_above { padding-top: 3em; }
	.areaspace_above_min { padding-top: 2em; }
	.areaspace_below_min { padding-bottom: 3em; }
    .areaspace_below { padding-bottom: 4em; }
    .areaspace_below_max { padding-bottom: 6em; }
    .areaspace_horizontal { padding-left: 12%; padding-right: 12%; }
    .areaspace_horizontal_max { padding-left: 18%; padding-right: 18%; }
    .areaspace_horizontal_max2 { padding-left: 22%; padding-right: 22%; }
	.areaspace_minheight { min-height: px; }
}

@media (min-width: 992px) {
	.wide_margins .row, .row.wide_margins { margin-left: -30px; margin-right: -30px; }
	.wide_margins .row .column, .row.wide_margins .column { padding-left: 30px; padding-right: 30px; }
}
@media (min-width: 1200px) {
	.wide_margins .row, .row.wide_margins { margin-left: -40px; margin-right: -40px; }
	.wide_margins .row .column, .row.wide_margins .column { padding-left: 40px; padding-right: 40px; }
}

.videoWrapper { position: relative; padding-bottom: 56.25%; height: 0; }
.videoWrapper iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.video_space { margin-bottom: 20px; }
.video_vertical_space { margin: 20px 0 15px 0; }
.video_vertical_space_small { margin: 0.8em 0 0 0; }
@media (min-width: 992px) {
	.video_space { margin-bottom: 25px; }
	.video_vertical_space { margin: 25px 0 15px 0; }
}

/* ==========================================================================
   Cookie Consent
   ========================================================================== */

#cookieconsent { display: none; position: fixed; z-index: 999; bottom: 0; left: 0; width: 100%; background-color: #4c4c4c; border-top: 3px solid #FF6600; margin: 0; font-weight: 400; }
#cookieconsent .message { color: #FFF; margin: 0.5em 1em 0.6em 1em; display: inline-block; }
#cookieconsent .message a { color: #FF6600; text-decoration: none; }
#cookieconsent .message a:hover { color: #FF6600; text-decoration: underline; }
#cookieconsent #accept_cookies { display: block; padding: 0.5em 2em 0.6em 2em; margin: 0 10px 10px 10px; background-color: #FF6600; color: #FFF; cursor: pointer; }
#cookieconsent #accept_cookies:hover { background-color: #FFF; color: #FF6600; }
@media (min-width: 768px) {
    #cookieconsent #accept_cookies { display: inline-block; float: right; margin: 0; }
}

/* ==========================================================================
   Helper classes
   ========================================================================== */

.clearfix:before, .clearfix:after, .image_banner_row:before, .image_banner_row:after, .image_space:before, .image_space:after { content: " "; display: table; }
.clearfix:after, .image_banner_row:after, .image_space:after { clear: both; }

/* ==========================================================================
   Print styles
   ========================================================================== */

@media print { 
	*, *:before, *:after { background: transparent !important; color: #000 !important; box-shadow: none !important; text-shadow: none !important; }
	a, a:visited { text-decoration: underline; }
	pre, blockquote { border: 1px solid #999; page-break-inside: avoid; }
	thead { display: table-header-group; }
    tr, img { page-break-inside: avoid; }
	img { max-width: 100% !important; }
    p, h2, h3 { orphans: 3; widows: 3; }
    h2, h3 { page-break-after: avoid; }
}