﻿/*
 *
 * ORWIN
 * Author: Martin Winkler
 * url: http://www.martinwinkler.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; }

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

html { height: 100%; }

body {
	font-family: Roboto,sans-serif;
	font-size: 15px;
	line-height: 1.5em;
	color: #000;
	background: #fff;
	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 45px/1.3em Roboto,sans-serif; color: #000; margin: 0 0 30px 0; }
h2, .h2 { font: 600 35px/1.3em Roboto,sans-serif; color: #000; margin: 0 0 10px 0; }
h3, .h3 { font: 600 25px/1.3em Roboto,sans-serif; color: #000; margin: 0 0 10px 0; }
h4, .h4 { font: 600 20px/1.3em Roboto,sans-serif; color: #000; margin: 0 0 10px 0; }
h5, .h5 { font: 600 17px/1.3em Roboto,sans-serif; color: #000; margin: 0 0 10px 0; }
h6, .h6 { font: 600 14px/1.3em Roboto,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; 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;
	image-rendering: optimizeSpeed;             /*                     */
    image-rendering: -moz-crisp-edges;          /* Firefox             */
    image-rendering: -o-crisp-edges;            /* Opera               */
    image-rendering: -webkit-optimize-contrast; /* Chrome (and Safari) */
    image-rendering: optimize-contrast;         /* CSS3 Proposed       */
    -ms-interpolation-mode: nearest-neighbor;   /* IE8+                */
}
img.alignnone { margin-bottom: 20px; }
img.alignleft { float: left; margin-right: 20px; margin-bottom: 20px; border: 1px solid #d5d5d6; position: relative; top: 7px; }
img.alignright { float: right; margin-left: 20px; margin-bottom: 20px; border: 1px solid #d5d5d6; position: relative; top: 7px; }
img.aligncenter { margin: 0 auto 20px auto; padding-top: 10px; }
img.border { border: 1px solid #d5d5d6; }

.bold { font-weight: bold; }
.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; text-align: right; position: relative; z-index: 200; border-bottom: 2px solid #e3e3e3; }
.header .inner { padding: 0; height: 75px; position: relative; display: flex; align-items: center; justify-content: flex-end; }
.header .logo { display: block; position: absolute; left: 0; top: 20px; }
.header .container { width: 100%; max-width: 1680px; padding-left: 15px; padding-right: 15px; }

/* Main navigation */

.main-nav { margin: 0 40px 0 0; }
.main-nav ul { margin: 0 -15px; display: flex; }
.main-nav ul li { padding: 0 15px; margin: 0; background: none; }
.main-nav ul li a { font-family: Roboto Condensed,sans-serif; font-weight: 600; }
.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 #fff; border-top: 4px solid #fff; content:""; display: block; text-decoration: none; box-sizing: content-box; -moz-box-sizing: content-box; -webkit-box-sizing: content-box; }

.mobile-nav { background: #2d2124; height: 100%; position: fixed; right: 0; top: 0; z-index: 2000; overflow-y: scroll; width: 100%; max-width: 320px; padding: 50px 20px 40px 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; }
.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.1); }
.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: 10px 15px; color: #fff; border: none; position: relative; text-decoration: none; }
.mobile-nav ul li a span.more { position: absolute; right: 0; top: 0; width: 47px; height: 100%; border-left: 1px solid rgba(255,255,255,0.1); }
.mobile-nav ul li a span.more:after { content: ''; position: absolute; left: 50%; top: 50%; margin-top: -5px; margin-left: -5px; display: inline-block; width: 0.6em; height: 0.6em; border-right: 0.15em solid #fff; border-top: 0.15em solid #fff; transform: rotate(135deg); display: block; -webkit-transition: all 0.3s; -moz-transition: all 0.3s; -ms-transition: all 0.3s; -o-transition: all 0.3s; transition: all 0.3s; }
.mobile-nav ul li a.active span.more:after { transform: rotate(-45deg); }

.mobile-nav ul ul { display: none; border-top: none; border-bottom: none; }
.mobile-nav ul ul.active { display: block; }
.mobile-nav ul ul li { font-size: 15px; }
.mobile-nav ul ul li a { padding-left: 40px; }
.mobile-nav ul ul ul li a { padding-left: 80px; }

.mobile-nav-overlay { position: fixed; left: 0; top: 0; z-index: 250; 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: #000; color: #fff; }
.block.alt a { color: #fff; }

.block.alt-2 { background: #999; color: #fff; }
.block.alt-2 a { color: #fff; }

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

/* Section head */

.section-head { margin: 0 auto 30px auto; }
.section-head h2 { margin: 0; }
.section-head h3 { margin: 0; }

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

/* Services */

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

/* Notices */

.notices { margin-bottom: 30px; }
.notices .item { display: flex; justify-content: space-between; padding: 10px; background: #e3e3e3; margin-bottom: 10px; }

/* Box */

.box { background: #000; padding: 40px; }

/* Gmap */

.acf-map { width: 100%; height: 220px; }
.acf-map 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; vertical-align: top; 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: 700 20px/20px Roboto,sans-serif; padding: 20px 30px; background: #aac800; color: #fff; display: inline-block; vertical-align: top; border: none; text-decoration: none; position: relative; }
.btn:hover { background-color: #98b300; }

/* Vertical align */

.va-wrap { display: table; width: 100%; height: 100%; }
.va-m { position: relative; top: 50%; -webkit-transform: translate(0,-50%); -moz-transform: translate(0,-50%); -ms-transform: translate(0,-50%); -o-transform: translate(0,-50%); transform: translate(0,-50%); }
.va-t { display: table-cell; vertical-align: top; height: 100%; }
.va-b { display: table-cell; vertical-align: bottom; height: 100%; }

/* Icons */

svg { pointer-events: none; }

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

/* Hidden content */

.sh-content { display: none; }
.admin-list .table tr.sh-content { display: none; }

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

.ib { font-family: Arial,sans-serif; letter-spacing: -0.31em; *letter-spacing: normal; *word-spacing: -0.43em; }
.ib > * { font-family: Roboto,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; }

.mw { position: absolute; right: 15px; top: -5px; color: rgba(255,255,255,0.4); display: block; }
.mw:hover { color: #00daee; }
.mw .text { position: absolute; left: 0; top: 0; text-indent: -80000px; display: block; }
.mw .icon-mw { width: 70px; height: 30px; }

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

.entry { margin: 0; }
.entry h2 { margin: 40px 0 10px 0; }
.entry h3 { margin: 40px 0 10px 0; }
.entry ul li { position: relative; }
.entry ul li:before { content: ''; position: absolute; left: 0; top: 10px; width: 4px; height: 4px; 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 14px/24px Roboto,sans-serif; color: #000; margin: 0 0 10px 0; display: block; }
form.std input.text { font: normal 14px/24px Roboto,sans-serif; color: #000; border: 1px solid #939698; padding: 8px 15px 6px 15px; width: 100%; }
form.std textarea { font: normal 14px/24px Roboto,sans-serif; color: #000; resize: vertical; border: 1px solid #939698; padding: 8px 15px; margin: 0; width: 100%; min-width: 100%; max-width: 100%; height: 150px; min-height: 150px; max-height: 300px; }
form.std select { font: normal 14px/24px Roboto,sans-serif; color: #000; width: 100%; height: 35px; padding: 2px 10px; }
form.std option { font: normal 14px/20px Roboto,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; }

:-moz-placeholder { color: #fff; opacity: 1; }
::-moz-placeholder { color: #fff; opacity: 1; }
:-ms-input-placeholder { color: #fff; }
::-webkit-input-placeholder { color: #fff; }

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

/* Standard */

form.std .cell { margin: 0 0 30px 0; position: relative; text-align: left; }

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 login */

.form-login { margin: 0 auto; max-width: 250px; }
.form-login h3 { margin-bottom: 30px; }
.form-login label { display: block; margin-bottom: 5px; }
.form-login input.input { font: normal 17px/20px Roboto,sans-serif; color: #666; border: 1px solid #c9c9c9; padding: 10px 15px 8px 15px; width: 100%; }
.form-login input.input:-webkit-autofill { background: #fff !important; }
.form-login .img { margin: 0 0 40px 0; max-width: 180px; }
.form-login .img img { display: block; }
.form-login .button { font: 700 15px/20px Roboto,sans-serif; padding: 10px 30px; background: #555; color: #fff; display: inline-block; vertical-align: top; border: none; text-decoration: none; position: relative; }
.form-login .button:hover { background-color: #000; }

:-webkit-autofill,
:-webkit-autofill:hover,
:-webkit-autofill:focus {
    -webkit-text-fill-color: #666;
    -webkit-box-shadow: 0 0 0px 1000px #fff inset;
}

/* Form filter */

.form-admin-filter { margin-bottom: 20px; display: block; }
.form-admin-filter .cell { display: flex; align-items: center; }

/* Ajax form */

#form-ajax-content { position: relative; }
#form-ajax-content.loading:after { content: ''; position: absolute; z-index: 90; left: 50%; top: 50%; width: 70px; height: 70px; background: url('../img/spinner.svg') center center no-repeat; background-size: cover !important; -webkit-transform: translate(-50%,-50%); -moz-transform: translate(-50%,-50%); -ms-transform: translate(-50%,-50%); -o-transform: translate(-50%,-50%); transform: translate(-50%,-50%); }
#form-ajax-content > .inner { -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; filter: alpha(opacity=100); -moz-opacity: 1; -khtml-opacity: 1; opacity: 1; -webkit-transition: all 0.3s; -moz-transition: all 0.3s; -ms-transition: all 0.3s; -o-transition: all 0.3s; transition: all 0.3s; }
#form-ajax-content.loading > .inner { -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=40)"; filter: alpha(opacity=40); -moz-opacity: 0.4; -khtml-opacity: 0.4; opacity: 0.4; }

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

.tabs { position: relative; }

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

/* Tab nav - basic */

.tab-nav-basic li { margin: 0; width: 33.33333%; position: relative; top: 1px; z-index: 20; }
.tab-nav-basic li a { font-size: 15px; font-weight: 600; color: #0071aa; background: #fff; text-transform: uppercase; text-align: center; border: 1px solid #ced0d0; border-right: none; }
.tab-nav-basic li:last-child a { border-right: 1px solid #ced0d0; }
.tab-nav-basic li a:hover { background: #fff; color: #db3214; }
.tab-nav-basic li a.active { background: #fff; color: #db3214; border-bottom: 1px solid #db3214; }

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

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

/* Modal contact */

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

/************************************************************************************
FIXER
*************************************************************************************/

.fixer-start { position: relative; }
.fixer { position: relative; top: 0; max-width: px; }
.fixer.fixed { position: fixed; }

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

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

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

}

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

@media screen and (max-width: 991px) {
	.main-nav { display: none; }

  .nav-btn { display: inline-block; }
}

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

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

}

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

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

}

/************************************************************************************
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;
}