/*
 *
 * PROJECT NAME
 * Author: Martin Winkler @ PORTA
 * url: http://www.portadesign.cz/
 *
 */

/************************************************************************************
RESET
*************************************************************************************/

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, figure, footer, header, hgroup, menu, nav, section, menu,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}

ol, ul { list-style: none; }

blockquote, q { quotes: none; }
blockquote:before, blockquote:after,
q:before, q:after { content: ''; content: none; }

:focus { outline: 0; }

table { border-collapse: collapse; border-spacing: 0; }

article, aside, figure, footer, header, hgroup, nav, section, img { display: block; }

input[type="radio"] { vertical-align: text-bottom; }
input[type="checkbox"] { vertical-align: bottom; *vertical-align: baseline; }

label, input[type=button], input[type=submit], button { cursor: pointer; overflow: visible; }

em, i { font-weight: inherit; }

/************************************************************************************
VARS AND MIXINS
*************************************************************************************/

$sectionMargin: 0 0 40px 0;

/* Mixins */

@mixin border-radius($radius) {
  	-webkit-border-radius: $radius;
    -moz-border-radius: $radius;
    -ms-border-radius: $radius;
    -o-border-radius: $radius;
    border-radius: $radius;
}

@mixin transition($transition) {
  	-webkit-transition: $transition;
	-moz-transition: $transition;
	-ms-transition: $transition;
	-o-transition: $transition;
	transition: $transition;
}

@mixin scale($scale) {
  	-webkit-transform: scale($scale);
 	-moz-transform: scale($scale);
 	-ms-transform: scale($scale);
 	-o-transform: scale($scale);
 	transform: scale($scale);
}

@mixin translate($translateX,$translateY) {
  	-webkit-transform: translate($translateX,$translateY);
 	-moz-transform: translate($translateX,$translateY);
 	-ms-transform: translate($translateX,$translateY);
 	-o-transform: translate($translateX,$translateY);
 	transform: translate($translateX,$translateY);
}

/************************************************************************************
GENERAL
*************************************************************************************/

html { height: 100%; }

body {
	font-family: 'Arial',sans-serif;
	font-size: 16px;
	line-height: 1.8em;
	color: #000;
	background: #f6f6f6;
	margin: 0;
	padding: 0;
	min-height: 100%;
}

/* Box sizing */

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

/* Anchors */

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

/* Heading */

h1, .h1 { font: 600 35px/1.3em 'Arial',sans-serif; color: #000; margin: 0 0 30px 0; }
h2, .h2 { font: 600 30px/1.3em 'Arial',sans-serif; color: #000; margin: 0 0 10px 0; }
h3, .h3 { font: 600 25px/1.3em 'Arial',sans-serif; color: #000; margin: 0 0 10px 0; }
h4, .h4 { font: 600 20px/1.3em 'Arial',sans-serif; color: #000; margin: 0 0 10px 0; }
h5, .h5 { font: 600 17px/1.3em 'Arial',sans-serif; color: #000; margin: 0 0 10px 0; }
h6, .h6 { font: 600 14px/1.3em 'Arial',sans-serif; color: #000; margin: 0 0 10px 0; }

/* Paragraphs */

p { margin: 0 0 20px 0; }
address { font-style: normal; }
cite { font-style: normal; }

/* Lists */

ul, ol { list-style: none;  margin: 0 0 20px 0; }
ul li { padding: 0 0 0 20px; background: url('../img/li.gif') 0 13px no-repeat; margin: 0 0 5px 0; }
ul.unstyled li { padding: 0; background: none; }

ol { counter-reset: counter; margin-left: 0; *margin-left: 54px; }
ol li { margin: 0 0 10px 0; padding: 0 0 0 20px; *list-style-type: decimal; counter-increment: counter; position: relative; }
ol li:before { color: #2285c8; content: counter(counter)'. '; position: absolute; left: 0; top: 0; }

dl { margin: 0 0 20px 0; }
dt { font-weight: bold; }

/* Forms */

form { display: block; }
fieldset { border: none; }
label { font-weight: bold; }
input, select, button { vertical-align: top; }

/* Various */

sup,sub { height: 0; line-height: 1; vertical-align: baseline; _vertical-align: bottom; position: relative; }
sup { bottom: 1ex; }
sub { top: .5ex; }

hr { display: block; height: 1px; border: 0; border-top: 1px solid #ccc; margin: 1em 0; padding: 0; }

p.small { font-size: 70%; }
p.big { font-size: 130%; }

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

.bold, b, strong { font-weight: 600; }
.italic, i, em { font-style: italic; }
.nowrap, .nobr { white-space: nowrap !important; }

/* Alignment */

.v-top { vertical-align: top; }
.v-middle { vertical-align: middle; }
.v-bottom { vertical-align: bottom; }

.l { float: left; }
.r { float: right; }
.a-l { text-align: left; }
.a-r { text-align: right; }
.a-c { text-align: center; }

/************************************************************************************
HEADER
*************************************************************************************/

.header { padding: 0; background: #fff; height: 100px; }
.header .logo { display: block; position: absolute; left: 15px; top: 35px; }

/* Main navigation */

.main-nav { margin: 0; position: absolute; right: 15px; top: 38px; }
.main-nav ul { margin: 0 0 0 -30px; }
.main-nav ul li { padding: 0 0 0 30px; background: none; display: inline-block; vertical-align: top; }
.main-nav ul li a { font-size: 18px; }
.main-nav ul li a:hover { color: #000; }
.main-nav ul li.active a { color: #000; }

/* Mobile nav */

.nav-btn { display: none; vertical-align: top; margin-top: 20px; float: right; }
.nav-btn span { width: 30px; height: 5px; border-bottom: 13px double #ffa70e; border-top: 4px solid #ffa70e; content:""; display: block; text-decoration: none; box-sizing: content-box; -moz-box-sizing: content-box; -webkit-box-sizing: content-box; }

.mobile-nav { background: #253841; height: 100%; position: fixed; right: 0; top: 0; z-index: 2000; overflow-y: scroll; width: 100%; max-width: 320px; padding: 50px 20px 0 20px; -webkit-transition: all 0.3s; -moz-transition: all 0.3s; -ms-transition: all 0.3s; -o-transition: all 0.3s; transition: all 0.3s; -webkit-transform: translate(100%,0); -moz-transform: translate(100%,0); -ms-transform: translate(100%,0); -o-transform: translate(100%,0); transform: translate(100%,0); }
.mobile-nav.active { -webkit-transform: translate(0,0); -moz-transform: translate(0,0); -ms-transform: translate(0,0); -o-transform: translate(0,0); transform: translate(0,0); }
.mobile-nav .close { font-size: 30px; width: 15px; height: 15px; position: absolute; right: 30px; top: 13px; color: #fff; text-decoration: none; }
.mobile-nav .close .icon { width: 15px; height: 15px; }
.mobile-nav .close:hover { color: #fff; }
.mobile-nav ul { margin: 0; padding: 0; border-bottom: 1px solid rgba(255,255,255,0.2); }
.mobile-nav ul li { font-size: 18px; color: #fff; margin: 0; padding: 0; background: none; border: none; border-top: 1px solid rgba(255,255,255,0.2); }
.mobile-nav ul li.active a { color: #ffa70e; }
.mobile-nav ul li.last { border: none; }
.mobile-nav ul li a { font-size: 15px; font-weight: 400; display: block; width: 100%; padding: 15px 20px; color: #fff; border: none; position: relative; text-decoration: none; }
.mobile-nav ul li span.more { position: absolute; right: 0; top: 0; width: 47px; height: 100%; background: #f6f6f6 url('../img/sprite.png') -116px -35px no-repeat; }

.mobile-nav ul ul { display: none; border-top: none; border-bottom: none; }
.mobile-nav ul ul.active { display: block; }
.mobile-nav ul ul li a { background: #f6f6f6; padding-left: 50px; }

.mobile-nav-overlay { position: fixed; left: 0; top: 0; z-index: 100; width: 100%; height: 100%; background: rgba(0,0,0,0.9); display: none; }

/************************************************************************************
CONTENT
*************************************************************************************/

.content { padding: 0; }

/* Block */

.block { padding: 70px 0; }
.block.narrow { padding: 30px 0; }

.block.alt { background: #ededed; }

.block.alpha { padding-top: 0; }
.block.omega { padding-bottom: 0; }

/* Various */

.section-head { text-align: center; margin-bottom: 20px; }
.section-head h1 { margin-bottom: 0; }
.section-head h2 { margin-bottom: 0; }
.section-head h3 { margin-bottom: 0; }

.intro { max-width: 500px; margin: 0 auto 40px auto; text-align: center; }

.narrow-col-700 { max-width: 700px; margin-left: auto; margin-right: auto; }
.narrow-col-500 { max-width: 500px; margin-left: auto; margin-right: auto; }

/* Teaser */

.teaser { margin: 0; height: 500px; }
.teaser .teaser-content { height: 500px; }

/* Services */

.services { margin: $sectionMargin; }
.services .item-list { margin: 0 0 0 -30px; }
.services .item { width: 25%; margin: 0 0 20px 0; padding-left: 30px; }
.services .item .img { display: block; }
.services .item-inner { background: #fff; color: #000; padding: 20px; }

/* Gmap */

.gmap { width: 100%; height: 220px; }
.gmap img { max-width: inherit; }

.popup-contact { font-size: 15px; background: #fff; color: #000; width: 190px; height: 80px; padding: 10px; }
.popup-contact ul { margin: 0; }
.popup-contact ul li { padding: 0; background: none; }

/* Pager */

.pager { margin: 30px 0; text-align: center; position: relative; }
.pager li { display: inline-block; padding: 0; background: none; }
.pager li a { display: block; width: 36px; height: 36px; line-height: 36px; background: #e3e3e3; text-align: center; }
.pager li a.active { background: #4045bf; color: #fff; text-decoration: none; }
.pager .prev { position: absolute; left: 0; top: 0; }
.pager .next { position: absolute; right: 0; top: 0; }
.pager .counter { display: none; }

/*================================= Various Content =================================*/

.last { margin-bottom: 0 !important; }

/* Buttons */

.btn { font-family: 'Arial',sans-serif; font-size: 17px; line-height: 20px; height: 45px; display: inline-block; vertical-align: top; border: none; background: #aac800; color: #fff; padding: 15px 30px 12px 30px; text-decoration: none; position: relative; }
.btn:hover { background-color: #98b300; }

.btn.alt { background: #fff; color: #aac800; }
.btn.alt:hover { background: #aac800; color: #fff; }

/* Vertical align */

.va-wrap { display: table; width: 100%; height: 100%; }
.va-m { display: table-cell; vertical-align: middle; height: 100%; }
.va-t { display: table-cell; vertical-align: top; height: 100%; }
.va-b { display: table-cell; vertical-align: bottom; height: 100%; }

/* SVG icons */

.icon { width: 20px; height: 20px; display: inline-block; *display: inline; zoom: 1; vertical-align: top; position: relative; fill: currentColor; }
.icon-porta { width: 65px; }

/* Hidden content */

.sh-content { display: none; }

/*================================= Columns =================================*/

.col2-set, .col3-set { letter-spacing: -0.31em; *letter-spacing: normal; *word-spacing: -0.43em; }
.col { display: inline-block; *display: inline; zoom: 1; vertical-align: top; letter-spacing: normal; word-spacing: normal; }

.col2-set { margin: 0 0 30px -20px; }
.col2-set .col { width: 50%; padding: 0 0 0 20px; }

.col3-set { margin: 0 0 30px -20px; }
.col3-set .col { width: 33.33333%; padding: 0 0 0 20px; }

.col4-set { margin: 0 0 30px -20px; }
.col4-set .col { width: 25%; padding: 0 0 0 20px; }

.ib { font-family: 'Arial',sans-serif; letter-spacing: -0.31em; *letter-spacing: normal; *word-spacing: -0.43em; }
.ib > * { font-family: 'Arial',sans-serif; display: inline-block; *display: inline; zoom: 1; vertical-align: top; letter-spacing: normal; word-spacing: normal; }

/************************************************************************************
FOOTER
*************************************************************************************/

.footer { background: #000; padding: 30px 0; }

.porta { width: 69px; height: 15px; display: block; float: right; color: rgba(255,255,255,0.5); }
.porta:hover { color: #ff4942; }

/************************************************************************************
ENTRY
*************************************************************************************/

.entry { margin-bottom: 40px; }
.entry h2 { margin-top: 30px; }
.entry h3 { margin-top: 30px; }
.entry h2:first-child { margin-top: 0; }
.entry h3:first-child { margin-top: 0; }
.entry ul li { position: relative; }
.entry ul li:before { content: ''; position: absolute; left: 3px; top: 12px; width: 4px; height: 4px; display: block; background: #000; }

/************************************************************************************
TABLES
*************************************************************************************/

.entry table { width: 100%; margin: 0 0 30px 0; }
.entry table th { font-weight: normal; border-bottom: 1px solid #c9cacb; padding: 14px 30px; background: #e3e3e3; color: #000; }
.entry table td { border-bottom: 1px solid #c9cacb; padding: 14px 30px; }

/************************************************************************************
FORMS
*************************************************************************************/

form.std label { font: normal 16px/24px 'Arial',sans-serif; color: #000; margin: 0 0 10px 0; display: block; }
form.std input.text { font: normal 16px/24px 'Arial',sans-serif; color: #000; border: 1px solid #939698; padding: 8px 15px 6px 15px; width: 100%; }
form.std textarea { font: normal 16px/24px 'Arial',sans-serif; color: #000; resize: vertical; border: 1px solid #939698; padding: 8px 15px; width: 100%; min-width: 100%; max-width: 100%; height: 150px; min-height: 150px; max-height: 300px; }
form.std select { font: normal 16px/24px 'Arial',sans-serif; color: #000; width: 100%; padding: 2px 10px; }
form.std option { font: normal 16px/20px 'Arial',sans-serif; padding: 2px 20px; }

form.std input.text[required="required"] { background-image: url('../img/req.png'); background-position: right center; background-repeat: no-repeat; }

/*================================= Form standard =================================*/

/* Standard */

form.std .cell-set { margin: 0 0 0 -20px; }
form.std .cell { margin: 0 0 30px 0; padding-left: 20px; position: relative; text-align: left; }
form.std .cell.full { width: 100%; }

/* Inline */

form.std .set-2 .cell { width: 50%; }
form.std .set-3 .cell { width: 33.3333%; }
form.std .set-4 .cell { width: 25%; }
form.std .set-5 .cell { width: 20%; }

/* Checkbox & radio wrapper */

form.std .toggle { position: relative; padding: 0 0 0 25px; }
form.std .toggle label { display: inline-block; *display: inline; zoom: 1; vertical-align: top; margin: 0 0 0 0; }
form.std .toggle .note { font-size: 16px; max-width: 100%; }

/* Various */

form.std .radio,
form.std .checker { position: absolute; left: 0; top: 0; }

/* Form contact */

form.form-contact {  }

/************************************************************************************
FLASH MESSAGES
*************************************************************************************/

.flash-message { font: normal 16px/24px 'Arial',sans-serif; background: #fc796b; color: #fff; width: 100%; padding: 15px 50px 15px 20px; margin: 0 0 20px 0; display: inline-block; *display: inline; *zoom: 1; vertical-align: top; position: relative; border-radius: 0 0 4px 4px; -moz-border-radius: 0 0 4px 4px; -webkit-border-radius: 0 0 4px 4px; }
.flash-message .close { font: normal 36px/24px 'Arial',sans-serif; width: 20px; height: 20px; padding: 0; line-height: 18px; text-align: center; color: #c96055; border: none; display: block; position: absolute; right: 17px; top: 16px; background: none; }
.flash-message .close:hover { color: #fff !important; }

.flash-message.alert-danger { background: #d14233; color: #fff; }
.flash-message.alert-danger .close { color: #912519; }

.flash-message.alert-success { background: #19b698; color: #fff; }
.flash-message.alert-success .close { color: #13927a; }

.modal-content .flash-message { margin: 0 0 20px 0; }

.error, form.std label.error { font-size: 16px; font-weight: 400; color: #ff0030; display: block; margin-top: 5px; }

#flash-messages { position: fixed; top: 0; left: 0; width: 100%; z-index: 9999; }
#flash-messages .flash-message { margin: 0 auto; width: 1180px; display: block; }

/************************************************************************************
TABS
*************************************************************************************/

.tabs { position: relative; }

.tabs .tab-nav ul { margin: 0 0 0 -1px; padding: 0; }
.tabs .tab-nav li { float: left; list-style-type: none; padding: 0; background: none; margin: 0 0 0 1px; }
.tabs .tab-nav li a { display: block; text-decoration: none; outline: 0; padding: 15px 30px; background: #000; color: #fff; }
.tabs .tab-nav li a:hover {  background: #a0a0a0; color: #000; }
.tabs .tab-nav li a.selected { background: #e3e3e3; color: #000; }

.tabs .tab-content .tab { float: left; width: 100%; padding: 30px; background: #e3e3e3; display: none; }
.tabs .tab-content .tab.selected { position: static !important; display: block; }

/************************************************************************************
QTIP
*************************************************************************************/

.qtip-default { font: normal 15px/20px 'Arial',sans-serif; text-transform: uppercase; padding: 8px 15px; background-color: #000; color: #000; border-radius: 5px; -moz-border-radius: 5px; -webkit-border-radius: 5px; }
.qtip-content { font-size: 17px; color: #fff; }

/************************************************************************************
FANCYBOX
*************************************************************************************/

body .fancybox-wrap { padding-bottom: 20px; }

body .fancybox-inner { overflow: visible !important; }

body .fancybox-close { width: 40px; height: 40px; background: url('../img/fancybox/fancybox.png') 0 0 no-repeat; right: -50px; top: 0; }
body .fancybox-close:hover { background-position: 0 -40px; }

body .fancybox-prev { position: static; }
body .fancybox-prev span { width: 40px; height: 40px; display: block; background: url('../img/fancybox/fancybox.png') -40px 0 no-repeat; position: absolute; top: 50%; text-indent: -80000px; left: -50px; visibility: visible; }
body .fancybox-prev:hover span { background-position: -40px -40px; }

body .fancybox-next { position: static; }
body .fancybox-next span { width: 40px; height: 40px; display: block; background: url('../img/fancybox/fancybox.png') -80px 0 no-repeat; position: absolute; top: 50%; text-indent: -80000px; right: -50px; visibility: visible; }
body .fancybox-next:hover span { background-position: -80px -40px; }

/************************************************************************************
MODAL
*************************************************************************************/

.modal-box { display: none; background: #eee; }
.modal-content { padding: 40px 30px; }

/* Modal contact */

.modal-contact { max-width: 600px; }

/************************************************************************************
UNIFORM
*************************************************************************************/

/* Select */

div.selector { font-size: 18px; background: #fff; color: #024b41; line-height: 45px; height: 42px; padding: 0; position: relative; overflow: hidden; cursor: pointer; text-align: left; }
div.selector span { text-overflow: ellipsis; display: block; overflow: hidden; white-space: nowrap; background: #fff url('../img/select.png') right 0 no-repeat; border: none; padding: 0; text-indent: 15px; height: 42px; line-height: 42px; cursor: pointer; display: block; }
div.selector select { text-align: left; opacity: 0; filter: alpha(opacity=0); -moz-opacity: 0; border: none; background: none; position: absolute; height: 42px; line-height: 42px; top: 0; left: 0; width: 100%; cursor: pointer; }
div.selector select option { padding: 2px 10px; }

div.selector.active span { background-position: right 0; }
div.selector.focus span { background-position: right 0; }
div.selector.hover span { background-position: right -52px; }
div.selector.hover.active span { background-position: right -52px; }
div.selector.focus.active span { background-position: right -52px; }

/* Checkbox */

div.checker { position: relative; }
div.checker, div.checker span, div.checker input { width: 20px; height: 18px; }
div.checker span { display: -moz-inline-box; display: inline-block; *display: inline; zoom: 1; text-align: center; background: url('../img/uf.png') -52px -11px no-repeat; }
div.checker span.checked { background-position: -52px -51px; }
div.checker input { margin: 0; cursor: pointer; opacity: 0; filter: alpha(opacity=0); -moz-opacity: 0; border: none; background: none; display: -moz-inline-box; display: inline-block; *display: inline; zoom: 1; vertical-align: top; }

div.checker.active span { background-position: -52px -51px; }
div.checker.active span.checked { background-position: -52px -11px; }
div.checker.hover span, div.checker.focus span { background-position: -52px -11px; }
div.checker.hover span.checked, div.checker.focus span.checked { background-position: -52px -51px; }
div.checker.hover.active span, div.checker.focus.active span { background-position: -52px -11px; }
div.checker.hover.active span.checked, div.checker.focus.active span.checked { background-position: -52px -51px; }

/* Radio */

div.radio { position: relative; }
div.radio, div.radio span, div.radio input { width: 24px; height: 26px; cursor: pointer; }
div.radio span { display: -moz-inline-box; display: inline-block; *display: inline; zoom: 1; text-align: center; background: url('../img/uf.png') -8px -8px no-repeat; }
div.radio span.checked { background-position: -8px -48px; }
div.radio input { margin: 0; opacity: 0; filter: alpha(opacity=0); -moz-opacity: 0; margin: 0; border: none; background: none; display: -moz-inline-box; display: inline-block; *display: inline; zoom: 1; text-align: center; }

div.radio.active span { background-position: -8px -48px; }
div.radio.active span.checked { background-position: -8px -8px; }
div.radio.hover span, div.radio.focus span { background-position: -8px -48px; }
div.radio.hover span.checked, div.radio.focus span.checked { background-position: -8px -48px; }
div.radio.hover.active span, div.radio.focus.active span { background-position: -8px -48px; }
div.radio.hover.active span.checked, div.radio.focus.active span.checked { background-position: -8px -48px; }

/* Uploader */

div.uploader { background-position: 0 -297px; height: 28px; width: 190px; cursor: pointer; position: relative; overflow: hidden; }
div.uploader span.action { background-position: right -409px; height: 28px; line-height: 28px; width: 85px; text-align: center; float: left; display: inline; overflow: hidden; cursor: pointer; }
div.uploader span.filename { text-overflow: ellipsis; display: block; overflow: hidden; white-space: nowrap; float: left; cursor: default; height: 24px; margin: 2px 0 2px 2px; line-height: 24px; width: 82px; padding: 0 10px; }
div.uploader input { opacity: 0; filter: alpha(opacity=0); -moz-opacity: 0; border: none; background: none; position: absolute; top: 0; right: 0; float: right; cursor: default; width: 100%; height: 100%; }
div.uploader.active span.action { background-position: right -465px; }
div.uploader.hover, div.uploader.focus { background-position: 0 -353px; }
div.uploader.hover span.action, div.uploader.focus span.action { background-position: right -437px; }
div.uploader.hover.active span.action, div.uploader.focus.active span.action { background-position: right -493px; }
div.uploader.disabled, div.uploader.disabled.active { background-position: 0 -325px; }
div.uploader.disabled span.action, div.uploader.disabled.active span.action { background-position: right -381px; }

/************************************************************************************
SUDO SLIDERS
*************************************************************************************/

.slider ul, .slider li.panel { margin: 0; padding: 0; list-style: none; position: relative; display: block; }
.slider, .slider li.panel { overflow: hidden; background: none; }

.slider-nav { margin-top: 20px; display: block; text-align: center; width: 100%; }
.slider-nav ol { margin: 0 0 0 -10px; }
.slider-nav li { margin: 0 0 0 10px; padding: 0; background: none; display: inline-block; font-size: 0; }
.slider-nav li:before { content: none; }
.slider-nav li a { width: 8px; height: 8px; display: block; background: #2f4e75; text-indent: -80000px; border-radius: 50%; -moz-border-radius: 50%; -webkit-border-radius: 50%; }
.slider-nav li.current a { background: #b8bdc5; }

.slider-nav .prev { position: absolute; left: 20px; top: 50%; display: inline-block; width: 2em; height: 2em; border-left: 0.2em solid #87cff6; border-bottom: 0.2em solid #87cff6; transform: rotate(45deg); margin-right: 0.5em; display: block; }
.slider-nav .prev:hover { border-color: #e2001a; }
.slider-nav .next { position: absolute; right: 20px; top: 50%; display: inline-block; width: 2em; height: 2em; border-right: 0.2em solid #87cff6; border-top: 0.2em solid #87cff6; transform: rotate(45deg); margin-right: 0.5em; display: block; }
.slider-nav .next:hover { border-color: #e2001a; }

/* Service slider */

.service-slider { margin-bottom: 40px; margin-left: -10px; margin-right: -10px; }
.service-slider li.panel .item { padding: 0 10px; }
.service-slider li.panel .item-inner { padding: 20px; background: #fff; }

/************************************************************************************
PIMCORE
*************************************************************************************/

img.x-form-trigger { display: inline !important; }
div.pimcore_tag_multihref { background-color: #fff; }
table.x-btn { line-height: normal !important; margin: 0 !important; padding: 0 3px 0 3px !important; }
table.x-btn td { line-height: normal !important; margin: 0 !important; padding: 0 !important; }
table.x-btn tr { border: none !important; }
.x-menu-list-item { line-height: normal !important; }
.ib script { display: none !important; }

/*========================= Editor =========================*/

.cke_panel_container { background: #fff !important; }

.cke_ltr { background: #fff !important; }
.cke_ltr ul li { background: none; padding: 0; }
.cke_panel_listItem p, .cke_panel_listItem h1, .cke_panel_listItem h2, .cke_panel_listItem h3, .cke_panel_listItem h4, .cke_panel_listItem h5, .cke_panel_listItem h6, .cke_panel_listItem pre { font-size: inherit; font-style: normal; font-family: sans-serif; line-height: 30px; color: #000 !important; margin: 0; padding: 0; text-shadow: none; }
.cke_panel_listItem a { color: #000 !important; }
.cke_panel_listItem a:hover { color: #000 !important; }

.pimcore_editable { line-height: normal !important; }
.pimcore_area_entry { margin: 0 !important; padding: 0 !important; }

/************************************************************************************
WORDPRESS
*************************************************************************************/

/* WP gallery */

.gallery { letter-spacing: -0.31em; *letter-spacing: normal; *word-spacing: -0.43em; font-family: 'Arial',sans-serif; }
.gallery > * { font-family: 'Arial',sans-serif; display: inline-block; *display: inline; zoom: 1; vertical-align: top; letter-spacing: normal; word-spacing: normal; }

.gallery-columns-2 { margin-left: -20px !important; }
.gallery-columns-2 .gallery-item { width: 50%; padding-left: 20px; }

/* WP forms */

.cform label { font-size: 18px; font-weight: 600; color: #000; margin: 0 0 10px 0; display: block; }
.cform textarea { font: 400 16px/24px 'Arial',sans-serif; color: #000; resize: vertical; border: none; padding: 15px 20px; width: 100%; min-width: 100%; max-width: 100%; height: 150px; min-height: 150px; max-height: 300px; }
.cform input.single, input.secinput { font: 400 16px/22px 'Arial',sans-serif; color: #000; height: 45px; width: 100%; padding: 12px 20px 13px 20px; border: none; background: #fff; float: left; }
.cform input.single:focus { color: #747e92; }
.cform input.sendbutton { font: 600 18px/45px 'Arial',sans-serif; background: #f00808; color: #fff; text-align: center; text-decoration: none; text-transform: uppercase; width: 100%; height: 50px; padding: 2px 20px 0 20px; border: none; }
.cform input.sendbutton:hover { background: #c60202; }

.cf-sb { float: none; margin: 0; }

.emailreqtxt,
.reqtxt { font-weight: 600; float: right; color: #f00808; position: absolute; right: 10px; top: 50px; }

/* Form contact */

.form-contact { display: block; width: 100%; margin: 0 auto 0 auto; }
.form-contact .cf-ol { margin: 0 0 0 -20px; }
.form-contact .cf-ol li { float: left; width: 33.33333%; margin: 0 0 20px 0; padding: 0 0 0 20px; position: relative; }
.form-contact .cf-ol li.full { width: 100%; }
.form-contact .cf-ol li:before { content: ''; }

/* Messages */

.cf_info.failure { background: #fae7ea; border: 1px solid #f1c7d2; color: #e5547a; padding: 15px 20px; margin: 0 0 30px 0; }
.cf_info.success { background: #ebf5bc; border: 1px solid #c7d198; color: #98b028; padding: 15px 20px; margin: 0 0 30px 0; }

/************************************************************************************
NEXT GEN GALLERY
*************************************************************************************/

body .ngg-navigation { font-size: 15px !important; padding: 0; margin-top: 30px; position: relative; }
body .ngg-navigation .current { font-family: 'Arial',sans-serif; font-weight: normal; display: inline-block; background: #f30c48; padding: 5px; width: 30px; margin: 0; color: #fff; }
body .ngg-navigation a.page-numbers { font-family: 'Arial',sans-serif; font-weight: normal; display: inline-block; background: #2d2124; border: none; padding: 5px; width: 30px; color: #fff; margin: 0 5px; }
body .ngg-navigation a.next { background: none; border: none; display: inline; margin: 0; padding: 0; position: absolute; right: 0; top: 0; text-decoration: underline; line-height: 30px; }
body .ngg-navigation a.next:hover { background: none; color: #f30c48 !important; text-decoration: none; }
body .ngg-navigation a.prev { background: none; border: none; display: inline; margin: 0; padding: 0; position: absolute; left: 0; top: 0; text-decoration: underline; line-height: 30px; }
body .ngg-navigation a.prev:hover { background: none; color: #f30c48 !important; text-decoration: none; }
body .ngg-navigation a.page-numbers:hover { background: #f30c48; }

body .ngg-galleryoverview { clear: none; margin: 0 0 0 -20px; width: auto; letter-spacing: -0.31em; *letter-spacing: normal; *word-spacing: -0.43em; }
body .ngg-gallery-thumbnail-box { margin: 0 0 15px 0; float: none; width: 25%; padding-left: 20px; display: inline-block; vertical-align: top; letter-spacing: normal; word-spacing: normal; }

body .ngg-gallery-thumbnail { border: 1px solid #e2ddcf; padding: 4px; }
body .ngg-gallery-thumbnail img { max-width: 100%; height: auto; background-color: #fff; border: none; display: block; padding: 0; margin: 0 auto; display: block; }
body .ngg-gallery-thumbnail a { width: 100%; display: block; }
body .ngg-gallery-thumbnail:hover { border: 1px solid #F30C48; }

body .ngg-albumoverview { margin-left: -20px; letter-spacing: -0.31em; *letter-spacing: normal; *word-spacing: -0.43em; }
body .ngg-albumcontent { text-align: center; }
body .ngg-album { width: 25%; border: none; margin: 0 0 20px 0; padding: 0 0 0 20px; float: none; display: inline-block; vertical-align: top; letter-spacing: normal; word-spacing: normal; }
body .ngg-thumbnail { float: none; margin-bottom: 12px; }
body .ngg-thumbnail img { max-width: 100%; height: auto; background-color: #fff; border: none; display: block; padding: 0; margin: 0 auto; display: block; }

body .ngg-albumtitle { font-size: 15px; font-weight: 600; }

/************************************************************************************
AJAX
*************************************************************************************/

.loader-overlay { display: none; z-index: 9990; width: 100%; height: 100%; position: fixed; left: 0; top: 0; background-image: url('../img/fancybox/fancybox_overlay.png');  }
.loader-box { position: absolute; width: 44px; height: 44px; margin-top: -22px; margin-left: -22px; opacity: 0.8; left: 50%; top: 50%; background-image: url('../img/fancybox/fancybox_sprite.png'); background-position: 0 -108px; background-repeat: no-repeat; }
.loader {width: 100%; height: 100%; position: absolute; left: 0; top: 0; background-image: url('../img/fancybox/fancybox_loading.gif'); background-position: center center; background-repeat: no-repeat; }

/************************************************************************************
MEDIA QUERIES
*************************************************************************************/

/*========================= Viewport width 1199px and lower =========================*/

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

}

/*========================= Viewport width 991px and lower =========================*/

@media screen and (max-width: 991px) {
    .nav-btn { display: inline-block; vertical-align: top; }
    .main-nav { display: none; }
}

/*========================= Viewport width 767px and lower =========================*/

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

}

/*========================= Viewport width 640px and lower =========================*/

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

}

/*========================= Viewport width 540px and lower =========================*/

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

}

/*========================= Viewport width 420px and lower =========================*/

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

}

/************************************************************************************
TRANSITIONS & ANIMATIONS
*************************************************************************************/

a {
	transition: color 0.1s;
	-moz-transition: color 0.1s;
	-webkit-transition: color 0.1s;
	-o-transition: color 0.1s;
	-ms-transition: color 0.1s;
}

/************************************************************************************
CLEARFIX
*************************************************************************************/

/* http://www.yuiblog.com/blog/2010/09/27/clearfix-reloaded-overflowhidden-demystified */

.clearfix:before,
.clearfix:after {
  content: '\0020';
  display: block;
  overflow: hidden;
  visibility: hidden;
  width: 0;
  height: 0;
}

.clearfix:after {
  clear: both;
}

.clearfix {
  zoom: 1;
}
