::-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 styles
   ========================================================================== */

@font-face {
font-family: 'Circular Std Book';
font-style: normal;
font-weight: normal;
src: local('Circular Std Book'), url('../fonts/circularstd/CircularStd-Book.woff') format('woff');
}


@font-face {
font-family: 'Circular Std Bold';
font-style: normal;
font-weight: normal;
src: local('Circular Std Bold'), url('../fonts/circularstd/CircularStd-Bold.woff') format('woff');
}


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

html, body { margin: 0; color: #000; font-size: 15px; line-height: 140%; }

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

body, p, ul, ol, td, th, form, input, select { font-family: 'Circular Std Book', sans-serif; font-weight: normal; line-height: 145%; }

p, ul, ol, form { margin: 0.8em 0; }
strong, p strong, ul strong, ol strong, td strong, th strong { font-family: 'Circular Std Bold', sans-serif; font-weight: normal; }

h1, h2, h3, h4, h5, h6, .h1style, .h2style, .h3style, .h4style, .h5style, .h6style { font-family: 'Circular Std Bold', sans-serif; font-weight: normal; }

h1, .h1style { font-size: 2.00em; line-height: 115%; margin-top: 0.80em; margin-bottom: 0.45em; }
h2, .h2style { font-size: 1.85em; line-height: 120%; margin-top: 0.80em; margin-bottom: 0.50em; }
h3, .h3style { font-size: 1.60em; line-height: 125%; margin-top: 0.80em; margin-bottom: 0.55em; }
h4, .h4style { font-size: 1.45em; line-height: 130%; margin-top: 0.80em; margin-bottom: 0.60em; }
h5, .h5style { font-size: 1.30em; line-height: 135%; margin-top: 0.80em; margin-bottom: 0.65em; }
h6, .h6style { font-size: 1.15em; line-height: 140%; margin-top: 0.80em; margin-bottom: 0.70em; }

@media (min-width: 768px) {
    h1, .h1style { font-size: 2.50em; }
	h2, .h2style { font-size: 2.25em; }
	h3, .h3style { font-size: 2.00em; }
	h4, .h4style { font-size: 1.75em; }
	h5, .h5style { font-size: 1.50em; }
	h6, .h6style { font-size: 1.25em; }
}

hr { display: block; height: 1px; border: 0; border-top: 1px solid #999; margin: 1em 0; padding: 0; }
img { max-width: 100%; }
@media (max-width: 768px) {
    .xs-full { display: block; margin-left: -15px; margin-right: -15px; }
}

ul { padding-left: 0.8em; }

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

a.lozenge_link, a.lozenge_link_rev { text-transform: uppercase; font-family: 'Circular Std Bold', sans-serif; font-size: 0.73em; line-height: 150%; letter-spacing: 0.1em; position: relative; display: inline-block; border-radius: 18px; text-align: center; padding: 0.5em 2em 0.4em 2em; min-width: 220px; }
a.lozenge_link { color: #999; border: 3px solid #CCC; }
a.lozenge_link_rev { color: #FFF; border: 3px solid #FFF; }
a.lozenge_link i, a.lozenge_link_rev i { font-size: 2em; position: absolute; right: 0.4em; top: 0.1em; }
a.lozenge_link:hover, a.lozenge_link_rev:hover { text-decoration: none; color: #FFF; border-color: #ff733c; background-color: #ff733c; }

.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; }
.reveal { visibility: hidden; }

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

.purple { color: #572970; }
.orange { color: #ff733c; }
.blue { color: #00a2df; }
.green { color: #3bc5b0; }
.reverse { color: #FFF; }
.grey { color: #666; }
.lgrey { color: #CCC; }

.grey_bg { background-color: #555; color: #FFF; }
.grey2_bg { background-color: #e3e3e3; }
.lgrey_bg { background-color: #f7f7f7; }
.purple_bg { background-color: #572970; }
.white_bg { background-color: #FFF; }

.bigger { font-size: 1.1em; }

header { border-top: 12px solid #572970; padding: 5px 0; position: relative; }
header .logo { height: 100px; float: left; margin: 10px 0; }
header .logo img { max-width: auto; height: 100%; }
header .navbutton { color: #572970; font-size: 26px; padding: 0.5em; float: right; cursor: pointer; margin-right: -15px; }
header #navopen { color: #572970; }
header #navclose { color: #FFF; margin-top: 13px; }
header .container { position: relative; }
header .contact_info { text-align: right; position: absolute; bottom: 7px; right: 15px; }
header .contact_info p { margin: 0; }
header .contact_info p.tel { font-size: 1.7em; line-height: 110%; }
header .contact_info p.email { font-family: 'Circular Std Bold', sans-serif; line-height: 120%; }
header .contact_info p a { color: #572970; }
header .contact_info p a:hover { text-decoration: none; color: #ff733c; }
#navarea { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: #572970; z-index: 2; }
#navarea .container { height: 100%; }
#navarea #navspace { position: relative; height: 100%; }
#navmain { margin: -12em 0 0 0; padding: 0; list-style: none; list-style-type: none; width: 100%; position: absolute; top: 50%; }
#navmain > li { font-size: 1.5em; font-family: 'Circular Std Bold', sans-serif; margin: 0; padding: 0; }
#navmain > li > a { text-decoration: none; color: #FFF; display: block; padding: 0.4em 0; }
#navmain li ul { margin: 0; padding: 0; list-style: none; list-style-type: none; }
#navmain li ul li { font-size: 0.8em; margin: 0; padding: 0; }
#navmain li ul li a { color: #FFF; padding: 0.2em 0; display: block; }
#navmain li a:hover, #navmain li a.sel { color: #ff733c; text-decoration: none; }
@media (min-width: 992px) {
    header .contact_info { position: static; padding: 12px 0 18px 0; }
    #navarea { display: block; float: right; position: static; width: auto; height: auto; background-color: transparent; }
    #navarea .container { height: auto; margin: 0; padding: 0; }
    #navmain { margin: 0 -1.2em; padding: 0; width: auto; position: static; }
    #navmain > li { font-size: 1em; margin: 0; padding: 0; display: inline-block; position: relative; }
    #navmain > li a { display: block; color: #572970; padding: 0.5em 18px; }
    #navmain li ul { display: none; padding: 0.8em 0; position: absolute; background-color: #FFF; z-index: 1; text-align: left; }
    #navmain li ul li a { color: #572970; line-height: 125%; padding: 0.4em 18px; font-size: 1.1em; font-family: 'Circular Std Bold', sans-serif; white-space: nowrap; }
    #navmain li a:hover, #navmain li a.sel { color: #3bc5b0; }
    .navbutton { display: none; }
}

#banner, #banner_slider, #banner_slider .slide { height: 300px; background-color: #572970; }
#banner_slider .slide { background-color: #3d3d3d; background-repeat: no-repeat; position: relative; }
#banner_slider .slide .pos { width: 100%; position: absolute; bottom: 0; }
#banner_slider .slide .container { text-align: left; }
#banner_slider .slide strong { display: block; margin: 0.6em 0; color: #FFF; font-size: 2.5em; line-height: 125%; }
#banner_slider #slide1 { background-image: url(../img/main/banner1.png); background-size: cover; background-position: left center; }
#banner_slider #slide2 { background-image: url(../img/main/banner2.png); background-size: cover; background-position: center center; }
#banner_slider #slide3 { background-image: url(../img/main/banner3.png); background-size: cover; background-position: left center; }
#banner_slider #slide4 { background-image: url(../img/main/banner4.png); background-size: cover; background-position: center center; }
#banner_slider #slide5 { background-image: url(../img/main/banner5.png); background-size: cover; background-position: center center; }
@media (min-width: 768px) {
    #banner, #banner_slider, #banner_slider .slide { height: 360px; }
    #banner_slider .slide strong { font-size: 3em; }
}
@media (min-width: 992px) {
	#banner, #banner_slider, #banner_slider .slide { height: 360px; }
    #banner_slider .slide strong { font-size: 3.2em; }
}
@media (min-width: 1200px) {
	#banner, #banner_slider, #banner_slider .slide { height: 420px; }
    #banner_slider .slide strong { font-size: 3.8em; }
}

.feature_icon p { margin: 1.3em 0; }
.feature_icon i { display: block; margin: 0 auto; padding-bottom: 15px; font-size: 50px; color: #CCC; }

.feature_icon2 p { margin: 1.3em 0; }
.feature_icon2 img { display: block; margin: 0 auto; height: 55px; padding-bottom: 15px; }
.feature_icon2 a, .feature_icon2 a:hover { text-decoration: none; }

.feature_icon3 p { margin: 1.3em 0; color: #FFF; }
.feature_icon3 img { display: block; margin: 0 auto; height: 55px; padding-bottom: 15px; }
.feature_icon3 a, .feature_icon3 a:hover { text-decoration: none; color: #FFF; }

.halfspace-left, .halfspace-right { padding: 0 15px; }
@media (min-width: 576px) {
	.halfspace-left, .halfspace-right { max-width: 540px; margin: 0 auto; }
}
@media (min-width: 768px) {
    .halfspace-left { max-width: 323px; margin: 0 30px 0 auto; text-align: left; }
    .halfspace-right { max-width: 323px; margin: 0 auto 0 30px 0; text-align: left; }
    .custom-half { width: 50%; float: left; }
    .custom-half-right { float: right; }
    .white_space_1 { border-right: 7px solid #FFF; height: 340px; }
    .white_space_2 { border-left: 7px solid #FFF; height: 340px; }
    .white_space_0 { border-bottom: 14px solid #FFF; }
}
@media (min-width: 992px) {
	.halfspace-left { max-width: 433px; margin: 0 40px 0 auto; }
    .halfspace-right { max-width: 433px; margin: 0 auto 0 40px; }
    .white_space_1 { height: 310px; }
    .white_space_2 { height: 310px; }
}
@media (min-width: 1200px) {
	.halfspace-left { max-width: 503px; margin: 0 60px 0 auto; }
    .halfspace-right { max-width: 503px; margin: 0 auto 0 60px; }
    .white_space_1 { height: 340px; }
    .white_space_2 { height: 340px; }
}
.image1, .image2 { height: 250px; width: 100%; background-size: cover; }
.image1 { background-image: url(../img/main/pic1.jpg); background-position: center 30%; }
.image2 { background-image: url(../img/main/pic2.jpg); background-position: center 30%; }
@media (min-width: 768px) {
    .image1, .image2 { height: 100%; }
}

.contact_space { padding: 15px; }
@media (min-width: 768px) {
    .contact_space { padding: 15px 20px; }
}
@media (min-width: 992px) {
    .contact_space { padding: 15px 30px; }
}
@media (min-width: 1200px) {
    .contact_space { padding: 25px 40px; }
}

ul#social { margin: 0.8em -0.1em; padding: 0; list-style: none; list-style-type: none; }
ul#social li { display: inline-block; padding: 0 0.1em; }
ul#social li a { display: inline-block; font-size: 1.1em; background-color: #000; color: #FFF; border-radius: 100px; line-height: 120%; padding: 0.3em; }
ul#social li a:hover { background-color: #ff733c; color: #FFF; }

footer { background-color: #000; color: #FFF; padding: 1em 0; }
footer .container { position: relative; }
footer a { color: #FFF; }
footer a:hover { color: #ff733c; text-decoration: none; }
footer p { font-size: 0.9em; }
footer ul { padding: 0; list-style: none; list-style-type: none; }
footer ul li { display: inline-block; padding: 0 0.2em; }
footer ul li.social a { display: inline-block; font-size: 1.1em; background-color: #FFF; color: #000; border-radius: 100px; line-height: 120%; padding: 0.25em; }
footer ul li.social a:hover { background-color: #ff733c; color: #000; }
@media (min-width: 992px) {
    footer p { text-align: left; }
    footer ul { position: absolute; right: 15px; bottom: 0; margin: 0; }
}

/* ==========================================================================
   News classes
   ========================================================================== */

.click_blocks_3 .click_block_w .click_block { margin: 15px 0; height: 300px; position: relative; background-size: cover; background-position: center 30%; background-repeat: no-repeat; }
.click_blocks_3 .click_block_w .click_block a { line-height: 120%; display: block; height: 100%; background-color: rgba(170, 170, 170, 0.7); text-decoration: none; }
.click_blocks_3 .click_block_w .click_block a div { padding: 20px; }
.click_blocks_3 .click_block_w .click_block a div span.title { margin-top: 20px; display: block; color: #FFF; font-size: 1.4em; line-height: 120%; }
.click_blocks_3 .click_block_w .click_block a div span.button { display: inline-block; margin: 2em auto; border: 3px solid #FFF; border-radius: 15px; text-transform: uppercase; padding: 0.3em 3em; font-size: 0.8em; color: #FFF; letter-spacing: 0.08em; }
.click_blocks_3 .click_block_w .click_block a:hover { background-color: rgba(50, 50, 50, 0.7); }
.click_blocks_3 .click_block_w .click_block a:hover span.button { background-color: #ff733c; border-color: #ff733c; color: #FFF; }
@media (min-width: 576px) {
    .click_blocks_3 { margin: -15px; }
    .click_blocks_3 .click_block_w { float: left; width: 50%; }
    .click_blocks_3 .click_block_w .click_block { margin: 15px; }
}
@media (min-width: 768px) {
    .click_blocks_3 .click_block_w { width: 33.3333%; }
}
@media (min-width: 992px) {
    .click_blocks_3 .click_block_w .click_block a div span.title { font-size: 1.7em; }
}
@media (min-width: 1200px) {
    .click_blocks_3 .click_block_w .click_block { height: 350px; }
    .click_blocks_3 .click_block_w .click_block a div span.title { font-size: 1.9em; }
}

.click_image1 { position: relative; margin: 15px 0; }

/* ==========================================================================
   Testimonial classes
   ========================================================================== */

.slick_testimonials { margin: 0 15px; overflow-x: hidden; }
.slick_testimonials .slide { float: left; }
.slick_testimonials .slide:focus { outline: 0; }
.slick_testimonials .quote { font-size: 1.3em; line-height: 125%; font-weight: 200; }
.slick_testimonials .quotee { color: #572970; line-height: 125%; }
@media (min-width: 768px) {
    .slick_testimonials { margin: 0; }
	.slick_testimonials .slide { padding: 0 6em; }
}

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

#cookieconsent { display: none; position: fixed; z-index: 999; bottom: 0; left: 0; width: 100%; background-color: #572970; margin: 0; }
#cookieconsent .message { color: #FFF; margin: 1em; display: inline-block; }
#cookieconsent .message a { color: #ff733c; text-decoration: none; }
#cookieconsent .message a:hover { color: #ff733c; text-decoration: underline; }
#cookieconsent #accept_cookies { display: block; padding: 1em 2em; margin: 0 10px 10px 10px; background-color: #ff733c; color: #572970; cursor: pointer; }
#cookieconsent #accept_cookies:hover { background-color: #3bc5b0; color: #FFF; }
@media (min-width: 768px) {
    #cookieconsent #accept_cookies { display: inline-block; float: right; margin: 0; }
}

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

.area_vertical_space_small { padding-top: 1em; padding-bottom: 1em; }
.area_vertical_space { padding-top: 2em; padding-bottom: 2em; }
.area_vertical_space_max { padding-top: 2.5em; padding-bottom: 2.5em; }
.area_space_above_max { padding-top: 2.5em; }
.area_space_above { padding-top: 2em; }
.area_space_below { padding-bottom: 2em; }
.area_space_above_medium { padding-top: 2em; }
.area_space_below_medium { padding-bottom: 2em; }
@media (min-width: 768px) {
    .area_vertical_space_small { padding-top: 1.5em; padding-bottom: 1.5em; }
    .area_vertical_space { padding-top: 2.5em; padding-bottom: 2.5em; }
    .area_vertical_space_max { padding-top: 4.0em; padding-bottom: 4em; }
    .area_space_above_max { padding-top: 4em; }
    .area_space_above { padding-top: 2.5em; }
    .area_space_below { padding-bottom: 2.5em; }
    .area_space_above_medium { padding-top: 3.25em; }
    .area_space_below_medium { padding-bottom: 3.25em; }
    .area_horizontal_space { padding-left: 2%; padding-right: 2%; }
}
@media (min-width: 992px) {
    .area_horizontal_space { padding-left: 6%; padding-right: 6%; }
}
@media (min-width: 1200px) {
    .area_vertical_space_small { padding-top: 2em; padding-bottom: 2em; }
    .area_vertical_space { padding-top: 3em; padding-bottom: 3em; }
    .area_vertical_space_max { padding-top: 5em; padding-bottom: 5em; }
    .area_space_above_max { padding-top: 5em; }
    .area_space_above { padding-top: 3em; }
    .area_space_below { padding-bottom: 3em; }
    .area_space_above_medium { padding-top: 4em; }
    .area_space_below_medium { padding-bottom: 4em; }
    .area_horizontal_space { padding-left: 12%; padding-right: 12%; }
}

@media (min-width: 768px) {
    .left-col-extra-space { padding-right: 40px; }
}

/* ==========================================================================
   Form classes
   ========================================================================== */

input[type="text"], input[type="email"], textarea { width: 100%; display: block; border: 0; border-radius: 0; background-color: transparent; border: 0; border-bottom: 1px solid #999; color: #000; font-size: 1; padding: 0.4em; margin: 1em 0 1em 0; }
.checkbox { line-height: 120%; margin: 15px 0; }
.checkbox label { color: #000; font-size: 1em; }
.checkbox input[type="checkbox"] { margin-left: 0; }
.g-recaptcha { margin: 25px 0; }
button, input[type="submit"] { text-decoration: none; color: #999; background-color: transparent; border: 3px solid #CCC; border-radius: 15px; padding: 0.2em 4em; display: inline-block; font-size: 0.85em !important; letter-spacing: 0.08em; }
button:hover, input[type="submit"]:hover { text-decoration: none; background-color: #ff733c; border-color: #ff733c; color: #FFF; }
.error { color: #CC0000; font-size: 1em; }
input[type="text"].has-error, input[type="email"].has-error, textarea.has-error { border-color: #CC0000; }

/* ==========================================================================
   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; }
    a[href]:after { content: " (" attr(href) ")"; }
    abbr[title]:after { content: " (" attr(title) ")"; }
	a[href^="#"]:after, a[href^="javascript:"]:after { content: ""; }
	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; }
}