:root
{
	--color-blue: #3da4fb;
	--color-green: #94b121;

	--color-text: #042B4E;
	--color-text-headline: #044C8B;
	--color-text-anchor: #3da4fb;

	--color-bg-grey: #aec3b0;
	--color-bg-grey-light: #598392;
/*    --color-bg-grey-light: #858888;*/
	--color-bg-grey-dark: #1a1717;

	--color-bg-blue: #124559;
	--color-bg-blue-light: #527786; /*#9cd2e7;*/
	--color-bg-blue-dark: #124559;


	--color-bg-header: #1b223f;

	--color-white: #fff;
	--color-black: #1b223f;

	--color-button-1: #fe5d26;

	--color-ico: #82a1c1;
}

*
{
box-sizing: border-box;
line-height: 120%;
margin: 0;
padding: 0;
border: 0;
}



.boxSquare
{
	width: 100%;
	height: 0;
	padding-bottom: 100%;
}



/****************************************/
/* Aspect ratio hack */
/****************************************/

.wrapAspectRatioHack
{
	position: relative;
	height: 0;
	padding-top: calc(1 / 1 * 100%);
}

	.boxAspectRatioHack
	{
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}



/**************************************************/
/* lazyload images */
/**************************************************/

@keyframes lazyAnimation
{
	0% {
	opacity: 0;
	}
	100% {
	visibility: visible;
	opacity: 1;
	}
}

.lazyAni
{
	animation: lazyAnimation 1s;
}



/**************************************************/
/* loading pro lazyloading obrázků */
/**************************************************/

.lazyBakery
{
	background: transparent url('/templates/__shared__/images/loading.svg') no-repeat center center;
	background-size: 48px !important;
}



body
{
	display: flex;
	flex-direction: column;
	min-height: 100vh;

	margin: 0;
	padding: 0;

	background: var(--color-white);
}

body, p, li, ol, td, input, textarea, a, span, div, body, .menuSide a, .menuSide .dir a, .titleCircle span
{
	color: #050710;
	font-size: 1em; /* 1em = 16px */
	font-family: 'Open Sans', Tahoma, Arial, sans-serif;
	font-weight: 300;
	line-height: 1.5;
	letter-spacing: 1px;
}

h1, h2, h3, h4, h5, h6, .labelFooterSection, .mediaTitle, label, button, h3 > a, .boxFaqQuestion .faqTitle
{
	display: block;
	float: none;
	font-family: 'Baloo 2', serif;
	color: #2F46A3;
	line-break: 1;
	margin-top: 0;
	padding-top: 0;
	line-height: 1.25em;
	position: relative;
}

h1, h2, h3, h4, h5, h6
{
	width: 100%;
}

h1, h2
{
	margin-bottom: 20px;
	color: #2F46A3;
	font-size: 187.5%;
	text-align: center;
	font-weight: 500;
}

h2{ text-align: center; }
h3{ font-size: 131.25%; font-weight: 400; padding: 0; border: 0; text-decoration: none;}
h4{ font-size: 110%; padding: 0; border: 0; margin: 0 0 10px; }
h5{ font-size: 100%; padding: 0; border: 0; margin: 0 0 10px; }
h6{ font-size: 100%; padding: 0; border: 0; margin: 0 0 10px;  }

h1 + h2, h2 + h3, h3 + h4, h4 + h5, h5 + h6
{
}

h2 + p, h3 + p, h4 + p, h5 + p, h6 + p, h2 + ul, h3 + ul, h4 + ul, h5 + ul, h6 + ul
{
	margin-top: 10px;
}

p + h2, p + h3, p + h4, p + h5, p + h6, ul + h2, ul + h3, ul + h4, ul + h5, ul + h6
{
	margin-top: 20px;
}

ul + h2, ul + h3, table + h3
{
	margin-top: 32px;
}

p
{
	width: 100%;
}

p + p
{
	margin-top: 2.5%;
}

p, ul, ol
{

}

b, strong
{
	font-weight: 600;
}

a
{
	color: #F08F2D;
	text-decoration: underline;
}

a:hover
{
	color: #88071A;
	text-decoration: underline;
}

a img
{
	border: none;
}

ul, ol
{
	width: 100%;
	margin: 16px 0px 16px 0px;
	padding-left: 4px;
}


ol li
{
	margin: 0px 0px 16px 26px;
	padding: 0px;
	list-style-type: decimal;
}

ul li, ol li + ul li
{
	margin: 0px 0px 16px 0;
	padding: 2px 0 0 32px;
	list-style-type: none;
	background: transparent url('/templates/__shared__/images/li.svg') no-repeat 14px 10px;
	background-size: 10px;
}

ul ul, ol ol
{
	margin-top: 16px;
}

p + ul
{
/*    margin-top: 5px;*/
}

ul + p, ul + ul
{
/*    margin-top: 24px;*/
}

hr
{
	color: #f6f6f6;
	height: 1px;
	border: none;
	background-color: #f6f6f6;
}

/* pomocne tridy */
.cl
{
	clear: both;
	width: 100%;
	line-height: 0px;
	height: 0px;
	font-size: 0px;
	overflow: hidden;
	margin: 0px;
}

.tal { text-align:left; }
.tac { text-align: center; }
.tar { text-align:right; }

.fl { float: left; }
.fr { float: right; }
.fn { float: none; }



/**************************************************/
/* základní prvky */
/**************************************************/

.block
{
	display: block;
	/* overflow: hidden; */
	float: none;
	margin: 0;
	padding: 0;
}

.containerFlex
{
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
}

.grid
{
	display: grid;
}

.hidden { display: none; }

.overflowHidden { overflow: hidden !important; }
.overflowVisible { overflow: visible !important; }

.main
{
	max-width: 1000px;

	margin: 0 auto;
	padding: 0;

	text-align: left;
	overflow: hidden;
}


/**************************************************/
/* kulaté rohy */
/**************************************************/

.boxRounded, .inputCaptcha, .butContactMe, .butMore, .wrapAspectRatioHack.wrapTileAspectImage, .boxTileGalleryItem
{
	overflow: hidden;
	-webkit-border-top-left-radius:12px;
	-moz-border-radius-topleft:12px;
	border-top-left-radius:12px;
	-webkit-border-top-right-radius:12px;
	-moz-border-radius-topright:12px;
	border-top-right-radius:12px;
	-webkit-border-bottom-right-radius:12px;
	-moz-border-radius-bottomright:12px;
	border-bottom-right-radius:12px;
	-webkit-border-bottom-left-radius:12px;
	-moz-border-radius-bottomleft:12px;
	border-bottom-left-radius:12px;
}

.boxCircle, .wrapMenuLogin div.level1 a, .menuFooterSocial div.level1, .wrapPager a, .butOrange, .butMoreSmall,.swiper-button-prev.swiper-button-white,
.swiper-button-next.swiper-button-white, .swiper-button-prev, .swiper-button-next, .wrapMenuHomePage .level1 a
{
	overflow: hidden;
	-webkit-border-top-left-radius:1000px;
	-moz-border-radius-topleft:1000px;
	border-top-left-radius:1000px;
	-webkit-border-top-right-radius:1000px;
	-moz-border-radius-topright:1000px;
	border-top-right-radius:1000px;
	-webkit-border-bottom-right-radius:1000px;
	-moz-border-radius-bottomright:1000px;
	border-bottom-right-radius:1000px;
	-webkit-border-bottom-left-radius:1000px;
	-moz-border-radius-bottomleft:1000px;
	border-bottom-left-radius:1000px;
}



/**************************************************/
/* efekty */
/**************************************************/

.fx, .fx:hover, a, a:hover, .wrapMenuMain div.level1, .wrapMenuMain div.level1:hover, .wrapMasonry a:hover img, .wrapMasonry a img,
.wrapTileService:hover:before, .wrapTileService:before, .wrapContactFormInputs textarea:focus-within, .wrapContactFormInputs input:focus-within
{
	transition: all ease-in-out 0.5s;
}



/**************************************************/
/* message box */
/**************************************************/

.ok, .err
{
padding: 10px;
margin: 5px 0 0 0;
padding: 2% 2% 2% 60px;
font-size: 100%;
}

.ok
{
border: 1px solid #78b800;
background: #78b800 url('/templates/__shared__/images/ico-ok.png') no-repeat  10px center;
color: #fff;
}

.err
{
border: 1px solid #c80002;
background: #c80002 url('/templates/__shared__/images/ico-err.png') no-repeat  10px center;
color: #fff;
}


/**************************************************/
/* čtverec */
/**************************************************/

.boxSquare
{
	width: 100%;
	height: 0;
	padding-bottom: 100%;
}




/************************************************/
/* text ve sloupcích  */
/************************************************/

.textInColumns
{
	column-count: 3;
}

.fontSizeBigger .textInColumns li
{
	padding: 2px 15px 0 20px;
	background-position-y: 12px;
}



/************************************************/
/* tabulka  */
/************************************************/

table
{
	margin-top: 12px;
}

	table tr td, table tr th
	{
		border-top: 1px solid #8bc5f9;
		border-left: 1px solid #8bc5f9;

		padding: 4px 8px;
	}

	table tr td:last-child, table tr th:last-child
	{
		border-right: 1px solid #8bc5f9;
	}

	table tr:last-child td
	{
		border-bottom: 1px solid #8bc5f9;
	}



/**************************************************/
/* minišablona - title & content */
/**************************************************/

.wrapTitleAndContent, .wrapSection
{
	padding: var(--margin-section) 0;
}

.wrapTitleAndContent.containerFlex
{
	justify-content: center;
}

.wrapContentNoMargins
{
	margin: 0;
	padding: 0;
}


.sectionNoMargin > div, .sectionNoMargin > .wrapSection, .sectionNoMargin > .wrapTitleAndContent,
.wrapSection.sectionNoMargin
{
	margin-top: 0;
	margin-bottom: 0;
	padding-top: 0;
	padding-bottom: 0;
}

.wrapSection.containerFlex > .block
{
	margin-left: auto;
	margin-right: auto;
}


.butMore
{
	text-decoration: none;
	font-size: 12px;
}

.butMore:hover
{
	text-decoration: none;
}
