:root {

--red: #da1d24;

}

img {max-width: 100%; height: auto !important;}
.item_type_content img {height: auto !important;}
p {margin: 10px 0; line-height: 1.45;}
a { text-decoration: underline;}
a:hover {color: inherit; text-decoration: none;}
hr {display:block; line-height: 0; height:0; font-size:0; overflow: hidden; border: none; border-top: 1px solid #eee; padding:0; margin: 15px 0 15px 0; _margin: 6px 0 7px 0; *margin:6px 0 7px 0; }
table {border-collapse: collapse;}
input, option, select {background: transparent;}
::-webkit-input-placeholder { /* Chrome/Opera/Safari */ color: #ddd; } ::-moz-placeholder { /* Firefox 19+ */ color: #ddd; } :-ms-input-placeholder { /* IE 10+ */ color: #ddd; } :-moz-placeholder { /* Firefox 18- */ color: #ddd; }


html {margin: 0; padding: 0; background: #da1d24; scroll-behavior: smooth;}
body {font-family: 'Montserrat', sans-serif; font-size: 16px; color: black; margin: 0; padding: 0; height: 100%; position: relative; }

.hlavni {margin: 0 auto;}
.width {max-width: 1260px; margin: 0 auto; position: relative; padding: 0 50px; box-sizing: border-box;}
section {padding: 60px 0;}

section.white {background: white;}
section.grey {background: #eee;}

h1, h2, h3, h4, h5 {font-weight: 300; text-transform: uppercase;}
h1 {font-size: 20px;}
h2 {color: #da1d24; font-weight: bold; font-size: 34px;}
h3 {text-transform: unset; font-size: 18px; font-weight: bold; margin: 40px 0;}



/* TOP */

.top {background: #da1d24; color: white;}
.top .logo a {text-decoration: none; color: white; display: flex; align-items: center; flex-shrink: 0;}
.top .logo a h1 {flex-shrink: 0;}
.top .logo a img {margin-right: 10px;}
.top .width {display: flex; justify-content: space-between; align-items: center; font-size: 17px; font-weight: bold;}


/* Menu */

.top_menu {position: relative;}
.top_menu ul {margin: 0; padding: 0; display: flex;}
.top_menu ul li {list-style: none; padding: 0; margin: 0; position: relative;}
.top_menu ul li a {display: flex; padding: 0 30px; line-height: 50px; font-weight: 300; color: white; text-decoration: none;}
.top_menu ul li.lang {display: flex; align-items: center; font-weight: 300;}
.top_menu ul li.lang a {padding: 0 5px;}
.top_menu ul li.lang a.active {color: black;}
.top_menu ul li a:hover,
.top_menu ul li.active a {color: black;}


/* Responsive menu */

.responsive-menu {position: absolute; z-index: 90; right: 36px; top: 50%; transform: translateY(-50%);}
.responsive-menu a { color: #fff; text-decoration: none; display: block; width: 44px; height: 44px; background: #fff url('../images/responsive-menu-btn.svg') center center no-repeat; border-radius: 3px;}
.responsive-menu a {background: transparent url('../images/responsive-menu-btn_w.svg') center center no-repeat; }
.responsive-menu a:hover { opacity: 0.8; }
.responsive-menu .pagelabel { color:#fff; text-align:center; padding:9px 0; font-size:13px; }
.responsive-menu-bubble { text-align:left; padding-top: 1px; width: 100%; left: 0px !important;}
.responsive-menu-bubble ul { padding: 0; margin: 0;}
.responsive-menu-bubble li { list-style:none; padding:0; margin:0; position: relative;}
.responsive-menu-bubble a { background: white; color: #000; text-decoration:none; display: block; padding: 16px 15px; font-size: 1.0625em; line-height: 14px; border-top: 1px solid #eee; text-align: center;}
.responsive-menu-bubble a.active,
.responsive-menu-bubble a:hover { background: #eee; color: #444;}
.responsive-menu-bubble a.hasChildren { /* padding-right:60px; */ }
.responsive-menu-bubble a.reveal { position:absolute; width:50px; height:100%; top:0; right:0; padding:0; margin:0; background:url('../images/responsive-menu-arrR.svg') center no-repeat; border-left: 1px solid #eee; }
.responsive-menu-bubble a.reveal span { display:none; }
.responsive-menu-bubble .responsive-menu-back a { background-image:url('../images/responsive-menu-arrL.svg'); background-position:15px center; background-repeat:no-repeat; padding-left:35px; }
.responsive-menu-bubble li.home a {padding-top: 0px !important; padding-bottom: 0px !important;}
.responsive-menu-bubble li.home a img {display: block;}
.responsive-menu-bubble a.home {display: none;}


/* HEADER */

header {position: relative; overflow: hidden;}
header::after {content:""; position: absolute; width: 120%; height: 120%; left: -10%; top: -10%; background: black url('../images/bg_header.jpg') center center no-repeat; background-size: cover; filter: blur(1.5rem); z-index: 0;}
header .width {background: black url('../images/bg_header.jpg') center top no-repeat; background-size: cover; min-height: 500px; position: relative; z-index: 1;}


/* MAIN */

.main {position: relative; z-index: 2; background: #da1d24;}
.main > .width {width: 100%; padding: 0; background: white; box-shadow: 0 0 25px rgba(0, 0, 0, 0.20);}
.main > .width .red_box {position: absolute; top: 0; left: 50%; padding: 20px 50px; background: #da1d24; color: white; width: 90%; max-width: 770px; font-size: 32px; margin: 0 auto; text-align: center; transform: translate(-50%, -50%); margin-bottom: 50px; box-shadow: 0 0 25px rgba(0, 0, 0, 0.25); margin-bottom: 50px; box-sizing: border-box; z-index: 4;}
.main > .width .red_box p {margin: 0;}

.main .perex {padding: 60px 0;}
.main .perex .width {background: white; padding-top: 60px;}
.main .perex p {text-align: center; max-width: 660px; margin: 0 auto;}

/* sachy */

section.white.sachy {position: relative; overflow: hidden;}
section.white.sachy {background: #F0F0F0; position: relative; padding-top: 100px; padding-bottom:  100px; overflow: hidden; z-index: 0;}
section.white.sachy::before {content:""; position: absolute; top: 0; left: 0; width: 50%; height: 100%; background: #E5E5E5; z-index: -1;}
section.white.sachy .tecky {position: absolute; top: 160px; left: 50%; transform: translateX(-50%); width: 5px; background: url("../images/bg_tecky.svg"); z-index: 1; bottom: 440px;}

section.white.sachy .box img {display: block;}	
section.white.sachy .box .text {background: white; padding: 30px; max-width: 410px; box-sizing: border-box;}
section.white.sachy .box h2 { margin-top: 0; padding-top: 0;}	
section.white.sachy .label {color: #3E3E3E; font-size: 28px; margin-bottom: 20px;}
section.white.sachy .text strong {color: #da1d24; font-weight: bold; text-transform: uppercase;}


/* Řeseni */

section.case {text-align: center;}
.img_a a {display: block; margin: 0 auto; margin-bottom: 60px; position: relative;}	
.img_a a span {display: inline-flex; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); background: rgba(218, 29, 36, 0.8);color: white; text-decoration: none; font-size: 30px; font-weight: bold; padding: 20px 60px; text-transform: uppercase; align-items: center; box-shadow: 0 6px 25px rgba(0, 0, 0, 0.25); max-width: 100%; width: 500px; box-sizing: border-box;}	
.img_a a span::after {content:""; margin-left: 40px; width: 46px; height: 46px; background: url('../images/sipka.svg') center center no-repeat; background-size: cover; flex-shrink: 0;}	

section.case p {max-width: 540px; margin: 0 auto;}
section.case ul {max-width: 540px; margin: 0 auto; text-align: left;}
section.case ul li {margin-bottom: 10px;}

/* kontakt */

.kontakt h2 {text-align: center; margin-top: 0; max-width: 550px; margin-left: auto; margin-right: auto;}
.osoby_list {display: flex; justify-content: center; margin-bottom: 60px; flex-wrap: wrap;}
.osoby_list .osoba {margin: 10px 20px; text-align: center;}
.osoby_list .osoba > div {margin: 6px 0;}
.osoby_list .osoba .jmeno {font-weight: bold; margin-top: 25px;}
.osoby_list .osoba a {color: #da1d24; text-decoration: none;}


/* paticka */

footer {background: #da1d24;}
footer .f_top {padding: 0; background: black url('../images/bg_footer.jpg') bottom center no-repeat; background-size: contain; height: 430px;}
footer .width {display: flex; justify-content: space-between; padding: 20px 0; text-align: center; color: white; justify-content: center;}
footer .width a {color: white; text-decoration: none;}



/* Large devices (desktops, less than 1400px) */
@media (min-width: 1200px) {
	
section.white.sachy {min-height: 1724px;}
.box .figurka {position: absolute; width: 100%; z-index: 4;}
.box.levy .figurka::before {content:""; position: absolute; top: 50%; right: 0; width: 28px; height: 32px; background: url('../images/triangl_r.svg'); margin-right: 64px; display: block; transform: translateY(-50%);}
.box.pravy .figurka::before {content:""; position: absolute; top: 50%; left: 0; width: 28px; height: 32px; background: url('../images/triangl_l.svg'); margin-left: 64px; display: block; transform: translateY(-50%);}
.box.pravy .figurka img {transform: translateX(-50%);}
.box.levy .figurka img {transform: translateX(50%); margin-left: auto; margin-right: 0;}
.box.levy {position: absolute; left: 0; width: 50%;}
.box.pravy {position: absolute; right: 0; width: 50%;}
.box.levy .text {margin-right: 90px; margin-left: auto;}
.box.pravy .text {margin-left: 90px; margin-right: auto;}


.fig_k {top: 0;}
.fig_q {top: 146px;}
.fig_n {top: 517px;}
.fig_b {top: 741px;}
.fig_r {top: 967px;}
.fig_p {top: 1276px;}

.fig_k .figurka {top: 40px;}
.fig_q .figurka {top: 167px;}
.fig_n .figurka {top: 54px;}
.fig_b .figurka {top: 84px;}
.fig_r .figurka {top: 113px;}
.fig_p .figurka {top: 40px;}


.en_page .fig_n {top: 532px;}
.en_page .fig_r {top: 974px;}
.en_page .fig_b {top: 709px;}
.en_page .fig_p {top: 1240px;}



.en_page .fig_q .figurka {top: 150px;}
.en_page .fig_n .figurka {top: 24px;}
.en_page .fig_b .figurka {top: 84px;}
.en_page .fig_r .figurka {top: 80px;}


}



/* Large devices (desktops, less than 1400px) */
@media only screen and (max-width: 1399px) {
	

}



/* Large devices (desktops, less than 1200px) */
@media only screen and (max-width: 1199px) {

	section.white.sachy .box {display: flex; margin-bottom: 40px;}
	section.white.sachy .box img {margin: 0 auto;}
	section.white.sachy .box .figurka {margin-right: 60px; flex-shrink: 0; width: 52px; justify-content: center; padding-top: 15px; position: relative;}
	.box .figurka::before {content:""; position: absolute; top: 35px; left: auto; right: -60px; width: 28px; height: 32px; background: url('../images/triangl_l.svg'); display: block;}
	section.white.sachy .box .text {max-width: inherit; flex-grow: 1;}
	section.white.sachy > .tecky {display: none;}
	section.white.sachy > .width > .tecky {left: 77px; z-index: -1; top: 45px; bottom: 300px;}
}

/* Large devices (desktops, less than 1040px) */
@media only screen and (max-width: 1040px) {
	

}


/* Medium devices (tablets, less than 992px) */
@media only screen and (max-width: 991px) {

	h2 {font-size: 24px;}
	section.white.sachy .label {font-size: 19px; font-weight: bold;}
}

/* Small devices (landscape phones, less than 768px) */
@media only screen and (max-width: 767px) {

	.main > .width .red_box {font-size: 26px;}
	footer .f_top {height: 330px;}
}


/* phones */

@media only screen and (max-width: 575px) {	
		
	h1 {font-size: 15px; padding: 6px 0;}
	.responsive-menu {right: 10px;}
	.width {padding: 0 20px;}
	header .width {min-height: 330px;}
	.main > .width .red_box {font-size: 19px; padding: 20px;}
	section.white.sachy .box .figurka {width: 36px; margin-right: 20px;}
	section.white.sachy > .width > .tecky {left: 39px;}
	section.white.sachy .box .text {padding: 20px;}
	section.white.sachy .box .text h2 {font-size: 20px;}
	section.white.sachy .label {font-size: 16px;}
	.box .figurka::before {right: -36px;}
	.img_a a span {font-size: 20px; max-width: 90%;}
	.img_a a span::after {margin-left: 25px; width: 30px; height: 30px;}
	footer .f_top {height: 230px;}
	.fig_p .figurka::after {content: ""; width: 100%; height: 100%; display: flex; background: #e5e5e5;}

}



/* @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
   style pro IE 10-11
	
} */