/*
	Theme Name: EUROKEY Base Theme
	Description: Wordpress Theme
*/

	/*=^.^=|=^.^=|=^.^=|=^.^=|=^.^=|=^.^=|=^.^=
			KEEP THES FILE ORGANISED
			IT EASYLY GETS 400+ LINES
	=^.^=|=^.^=|=^.^=|=^.^=|=^.^=|=^.^=*|=^.^=/

/+	====================================
		start	fonts
	====================================*/

@font-face {
    font-family: "exo_2.0bold";
	src: url("./fonts/Exo2.0-Bold-webfont.woff");
    font-weight: normal;
}

@font-face {
    font-family: 'exo_2.0semi_bold';
  src: url("./fonts/Exo2-SemiBold-webfont.woff");
    font-weight: normal;
}

@font-face {
    font-family: "exo_2.0medium";
	src: url("./fonts/Exo2.0-Medium-webfont.woff");
    font-weight: normal;
}

@font-face {
    font-family: "exo_2.0regular";
	src: url("./fonts/Exo2.0-Regular-webfont.woff");
    font-weight: normal;
}

@font-face {
    font-family: "exo_2.0light";
	src: url("./fonts/Exo2.0-Light-webfont.woff");
    font-weight: normal;
}

@font-face {
    font-family: "exo_2.0thin";
	src: url("./fonts/Exo2.0-Thin-webfont.woff");
    font-weight: normal;
}


	/*=================================
		end		fonts
	-----------------------------------
		start	image classes
	==================================*/

.smallImg {
    width: 120px;
    height: auto;
}

.textImg {
    vertical-align: bottom;
    max-height: 32px;
    width: auto;
}

.img-caption {
    padding-top: 8px;
    font-family: "exo_2.0regular",Arial,sans-serif;
    font-size: 14px;
    line-height: 1.2em;
    color: #323232;
	margin:0;
}

.bottom20 {
   padding-bottom: 20px;
}

.bottom30 {
   padding-bottom: 30px;
}


	/*=================================
		end		image classes
	-----------------------------------
		start	general style
	==================================*/

header, main, footer, article, nav, section, aside{
	display: block;
}

body {
	margin: 0px;
	font-size: 18px;
	color: #323232;
	line-height: 1.4em;
	font-family: "exo_2.0light", Arial, sans-serif;
}

h2, h3, h4, h5 {
	font-family: 'exo_2.0light', Arial, sans-serif;
}

h1 {
  font-size: 44px;
	line-height: 52px;
	font-weight: normal;
 	margin: 15px 0 25px 0;
  font-family: "exo_2.0regular", Arial, sans-serif;
}

h1 span.secondline {
   display: block;
   font-size: 32px;
   line-height: 40px;
   margin: 25px 0 30px 0;
}

h2{
  font-size: 32px;
  font-weight: normal;
  line-height: 40px;
  margin: 15px 0 15px 0;
}


h3{
  font-size: 27px;
  line-height: 36px;
  font-weight: normal;
  margin: 10px 0 0 0;

}

h4{
  font-size: 23px;
  line-height: 33px;
  font-weight: normal;
  margin: 10px 0 0 0;
}

h5{
  font-size: 20px;
  line-height: 27px;
  font-weight: normal;
  margin: 5px 0 0 0;
}

h1 span.secondline {
  display:block;
  font-size: 40px; 
  line-height: 48px;
  font-family: 'exo_2.0light';
  margin: 25px 0 30px 0;
}

h1.solo, h2.solo, h3.solo, h4.solo, h5.solo {
	margin: 0;
}

h3 + ul, h4 + ul, h5 + ul {
	margin-top: 0;
}

p {
	margin: 10px 0;
	hyphens: auto;
}

a:link, a:active, a:visited{
  color: #2C446C;
  text-decoration: none;
  font-family: "exo_2.0medium",Arial,sans-serif;
  transition: 0.4s;
}

a:hover{
  text-decoration: none;
  font-family: "exo_2.0medium",Arial,sans-serif;
  color: #dc911e;
}

a.white:link, a.white:active, a.white:visited{
  color: #FFFFFF;
  text-decoration: none;
  font-family: "exo_2.0medium",Arial,sans-serif;
}

a.white:hover{
  text-decoration: underline;
}

.link-nopadding:before, a.link-nopadding:link:before, a.link-nopadding:active:before, a.link-nopadding:visited:before
{
  content:"\f138";
  padding-right: 0.3em;  
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  color: #dc911e;
}

a.intextlink:before, a.intextlink:link::before, a.intextlink:active::before, a.intextlink:visited::before {
  content: "\f138";
  padding-right: 0.3em;
  padding-left: 0.2em;
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  color: #dc911e;
  white-space: nowrap;
}

ul, ol {
    margin: 10px 0 35px 0;
    padding-left: 21px;
}

li {
    margin: 5px 0;
}

ul.orangept {
    margin: 35px 0 20px 0;
    color: #dc911e;
}

ul.orangept li {
    padding-bottom: 10px;
}

.align-center {
    clear: both;
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.no-margin {
	margin: 0px !important;
}

.noP {
    padding: 0 !important;
}

.regular {
 font-family: "exo_2.0regular",Arial,sans-serif;
}

.medium {
 font-family: "exo_2.0medium",Arial,sans-serif;
}

.semibold {
 font-family: "exo_2.0semi_bold",Arial,sans-serif;
}

section {
    padding: 5px 0px;
}

.category-faq section:first-child {
    box-sizing: border-box;
    padding-top: 50px;
}

main article, #staticHeader, #header_after, .subheader, .category-faq section > h1{
	width: 100%;
	padding: 0px 2% 0 13%;
	box-sizing: border-box;
}

.textOverflow{
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}

#powered {
	position: fixed;
	right: 0px;
	bottom: 0;
	font-size: 12px;
	margin:0;
	opacity: 1;
	transition: 0.4s;
	background: rgba(237,241,243,0.7);
	padding: 0 4px 0 6px;
	border-radius: 5px 0 0 0;
	z-index: 888;
}

#powered a.button {
	display: inline;
	font-size: 10px;
    padding: 2px 5px;
	margin: 0;
	border-radius: 3px;
}

#powered a.button:before {
	display: none;
}

#top-link {
    display: none;
    position: fixed;
    right: 10px;
    bottom: 35px;
    width: 40px;
    height: 40px;
	background: #2c446c;
    cursor: pointer;
    -webkit-border-radius: 200px;
    border-radius: 200px;
    z-index: 999;
	color: #fff;
	text-align: center;
	line-height: 1em;
	font-size: 35px;
}

#top-link:hover {
	background-color: #dc911e;
	transition: 0.5s;
}


/*====================================  header ==================================== */
#header_after{
	background: #2c446c;
	color: #eee;
	height: 25px;
	line-height: 22px;
	box-sizing: border-box;
  font-size: 0.9em;
}

#header_after a:hover{
	color: inherit;
	text-decoration: underline;
}

#staticHeader {
	position: fixed;
	width: 100%;
	height: 140px;
	background: #fff;
	box-sizing: border-box;
	box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.6);
	display: flex;
	align-items: flex-end;
	z-index: 1;
	transition: all 0.8s ease 0s;
}

#headerSpace{
	height: 140px;
}

#topHeader {
	flex-wrap: wrap;
	justify-content: space-around;
	width: 40%;
}

#topHeader img{
	max-width: 350px;	
	height: auto;
	padding: 15px 0;
	transition: 0.8s ease 0s;
}

#header_right, #header_right h1 {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	margin: 0px 10px;
}

@media (max-width: 780px){
	#header_letft, #header_right{
		width: 90%;
		height: auto;
	}
}

/*====================================  main ==================================== */

main {
	min-height: 459px;
	min-height: calc(100vh - 110px - 260px);	/* 100vh - header - footer */
}

main article{
	padding-top: 50px;
	padding-bottom: 50px;
	color: rgb(50,50,50);
	font-size: 18px;
}

.page article{
	min-height: 100%;
}

.category article{
	min-height: 250px;
}

.category article:nth-child(2n + 1) {
	background: rgb(242,242,242);
}

.category .post-wrap {
	align-self: center;
	box-sizing: border-box;
	padding-left: 70px;
}

/*	==================================== start Container	====================================*/

.container-100 {
	width: 100%;
	box-sizing: border-box;
	padding: 6.5vw 0;
}

.container-100.less-padding {
	padding: 4vw 0;
	}

.bg-grey {
	background: #f2f2f2;
}

.bg-white {
	background: #ffffff;
}

.bg-orange {
	background: #dc911e;
}

.bg-gradient {
	background: linear-gradient(to bottom, rgba(255,255,255,1) 0%,rgba(242,242,242,1) 10%);
}

@media (min-width: 1200px) {
	.container {
			width: 1100px !important;
	}
}

@media (min-width: 1400px) {
	.container{
		width: 1200px !important;
	}
}

@media (max-width: 768px) {
	.container-100 {
		padding: 40px 0;
	}

	.container-100.less-padding {
		padding: 40px 0;
	}
}
	
/*	==================================== end Container	====================================*/


/*====================================  footer ==================================== */


footer {
	background: rgb(45,45,45);
	color: #fff;
	line-height: 22px;
	font-size: 15px;
}

footer .container-100 {
	padding: 40px 0;
}

footer a:link, footer a:active, footer a:visited {
	cursor: pointer;
	color: #ffffff;
}

footer a:hover {
	color: #dc911e;
}

footer p {
	margin-bottom: 16px;
}

footer p:last-child {
	margin-bottom: 0;
}

footer i {
	font-size: 20px;
	padding-right: 20px;
	vertical-align: -3px;
}

#img-EUROKEY {
    max-width: 55vw;
    margin-bottom: 20px;
}

#fr_heading {
	margin-right: 20px;
	font-weight: bold;
	font-size: 30px;
	white-space: nowrap;
}


/*	==================================
		end		general style
	----------------------------------
		start	start page
	==================================*/

	article{
		min-height: 100%;
		display: flex;
		text-align: justify;
	}

	article > img {
		height: 300px;
		width: auto;
		align-self: center;
		margin: 0px auto;
	}

@media (max-width: 1400px){
	article {
		flex-wrap: wrap;
	}
}

@media (max-width: 768px){
	article img {
		width: 100%;
		height: auto;
		margin: 0px;
	}
}



/*	==================================
		end		start page
	----------------------------------
	----------------------------------
		start	menu
	==================================*/

/* header menu */

#header-menu {
	color: #2c446c;
	width: 100%;
	min-height: 50px;
	line-height: 45px;
	margin: 0px 20px;
}

#userControl span{
	position: relative;
	padding-left: 5px;	/* distance to icon */
	margin-left: 20px;	/* prevent collisions with icon */
}

#userControl span::before {
	content: "";
	position: absolute;
	top: 0px;
	left: -20px;
	width: 20px;
	height: 20px;
	background: url('/wp-content/themes/TechnoPlus/Images/userControl.png');
}

/* ==================================== footer menu ====================================  */

#footer-menu {
	min-height: 50px;
	line-height: 50px;
	background: rgb(83,83,82);
}

#footer-menu .menu a {
	font-size: 14px;
}

#footer-menu li{
	flex: unset;
	padding: 0px 10px;
}

#footer-menu li:first-child {
	margin-left: -10px;
}

#footer-menu .menu > ul {
	margin: 0px;
}


/*====================================  general menu ==================================== */

.menu {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	height: inherit;
	margin-top: 0px;
	margin-bottom: 0px;
	padding: 0px;
}

.menu li {
	display: inline-block;
	height: inherit;
	cursor: pointer;
	transition: background 0.6s;
	transition: color 0.6s;
	white-space: nowrap;
	padding: 0px 10px;
	text-align: center;
	flex: auto;
}

.menu li:hover {
	color: #DC911E;
	transition: color 0.2s;
}

.menu li:hover a{
  text-decoration: none;
}

.menu li.current-menu-item a{
  text-decoration: none;
  color: #DC911E;
}

.menu li a{
	display: inline-block;
	padding: 0px 3.2%;
	box-sizing: border-box;
  font-size: 17px;
  font-family: "exo_2.0medium", Arial, sans-serif;
}

.menu li a:hover {
	color: inherit;
}

#header-menu .menu li.current-menu-item a::before {
    content: url(/wp-content/uploads/2020/01/icon_O_o.png);	
	padding-right: 2px;
	vertical-align: -3px;
	transition: 0.4s;
}

/*	==================================
		end		menu
	----------------------------------
     start soliloquy-slider
==================================*/

.soliloquy-container {
	margin: 0 auto !important;
}

.soliloquy-container .soliloquy-caption {
	bottom: 3vw !important;
	background: none !important;	
	font-weight: 200;
	padding-left: 45%;
  color: #ffffff;
	padding-bottom:0 !important;
}

.soliloquy-container .soliloquy-caption-inside {
	text-shadow: 2px 2px 4px #000 !important;	
	width: 80%;
	margin: 0 auto;
  text-align: left !important;
  white-space: inherit !important;
}

.soliloquy-container .soliloquy-caption-inside .soli-title {
	font-size: 5vw;
  margin: 0 0 20px 0;
	font-family: "exo_2.0light", Arial, sans-serif;
	line-height: 1vw;
}

.soliloquy-container .soliloquy-caption-inside .soli-subtitle {
	font-size: 2vw;
  margin: 20px 0 0 0;
	font-family: "exo_2.0light", Arial, sans-serif;
	line-height: 1vw;

}

.soliloquy-controls-direction {
	display:none;
}

/*==================================
	end 	soliloquy-slider
==================================
    start kontakt
==================================*/	

#map{
	height: 340px;
	border-bottom: 8px solid #dc911e;
	z-index: 0;
}

#kontakt .page-header{
	border-bottom: none;
    margin: 0;
    padding-bottom: 0;
}

#kontakt .page-header h1{
	margin-top: 0;
}

#kontakt label{
	display: block;
	font-size: 18px;
	font-weight: normal;
	max-width: 100%;
	margin: 9px 0 0 0;
}

#kontakt legend.check_legend{
	margin-top: 10px;
	font-size: 16px;
	margin-bottom: 2px;
}

#kontakt textarea.form-control.kontakt, input.form-control.kontakt {
    border-radius: 0;
    border: medium none transparent;
	margin-bottom: 20px;
}

#kontakt div.kontakt-end span, #kontakt div.kontakt-end a{
	font-size: 14px;	
}

#kontakt div.kontakt-end .button{
	background-image: none;
    background-repeat: repeat-x;
    border-color: transparent;
    box-shadow: none;
    background-color: #2c446c;
    border: none;
    text-shadow: transparent;
    border-radius: 4px;
    font-size: 20px;
    font-family: "exo_2.0regular",Arial,sans-serif;
    transition: 0.5s;	
}

#kontakt > .wpcf7 p {
	margin-bottom: 0px;
}

span.wpcf7-list-item {
	display: flex;
	align-items: baseline;
	margin: 5px 0 !important;
	line-height: 1.3em;
}

input[name="checkbox-377[]"] {
	margin-right: 7px;
}

/*	==================================
	end kontakt
==================================*/

/*	==================================
	error 404
==================================*/

#error_404 {
        font-size: 18px;
}
		
#error_404 .container.not-found-error {
			display: flex;
			align-items: center;
			flex-wrap: wrap;
		}
	
#error_404	.error-left {
			text-align: center;
		}
		
#error_404	.error-left, .error-right {			
			width: 100%;
			padding: 30px;
		}
		
#error_404	img {
			max-width: 250px;
			margin: 0 auto;			
		}
		
@media only screen and (min-width: 500px){			
	#error_404 .error-left, .error-right {								
		text-align: left;
		width: 50%;
	}

	#error_404 img {
		max-width: 330px;
	}
}
    

#button_404 {
	display: inline-block;
}

#button_404 i {
		padding-right: 5px;
	}

/*	==================================
	end error 404
==================================*/



#responciveMenuButton, #responciveMenuToggle{
	display: none;
}

#responciveMenuButton, #responciveMenuButton::before, #responciveMenuButton::after {
    background: #555;
    width: 25px;
    height: 3px;
}

#responciveMenuButton::before {
    content: "";
    top: -8px;
    position: absolute;
}

#responciveMenuButton::after {
    content: "";
    top: 8px;
    position: absolute;
}

#responciveMenuButton {
    position: absolute;
	margin-bottom: 11px;
	margin-right: 3px;
}

#responciveMenuToggle {
    opacity: 0;
    width: 32px;
    height: 29px;
    margin: 0px;
    position: absolute;
    cursor: pointer;
}

#responciveMenuToggle, #responciveMenuButton{
	bottom: 11px;
	right: 30px;
}



@media (max-width: 1500px) {
	#topHeader img{
		max-width: 300px;	
	}
	
	main article, #staticHeader, #header_after, .subheader, .category-faq section > h1{
		width: 100%;
		padding: 0px 1% 0 5%;
		box-sizing: border-box;
	}
	
	#kontakt_container {
		padding: 40px 5%;
	}
}

@media (max-width: 1250px) {
	#responciveMenuButton, #responciveMenuToggle{
		display: block;
	}
	
	#staticHeader, #headerSpace {
		height: 55px;
	}
	
	#staticHeader {
		border-bottom: 1px solid 
		rgb(50, 50, 50);
	}
	
	#topHeader img {	
    max-width: 170px;
	max-height: 70px;
    height: auto;
    padding: 5px 0;	
	}

	#header-menu {
		display: none;
		position: absolute;
		z-index: 2;
		width: 100%;
		right: 0px;
		top: 55px;
		margin: 0px;
		line-height: 40px;
		background: #f2f2f2;
		background: linear-gradient(to bottom, rgba(255,255,255,1) 0%,rgba(207,211,220,1) 100%);
		padding-top: 15px;
		padding-bottom: 15px;
		box-shadow: 0 5px 5px 0 rgba(0,0,0,0.5);
	}

	#header-menu .menu {
		flex-direction: column;
	}

	#responciveMenuToggle:checked ~ #header-menu {
		display: block;
	}
	
	#menu-footer-menu {
		flex-direction: column;
		padding-bottom: 40px;
		padding-top: 10px;
	}
	
	#menu-footer-menu li {
		line-height: 2em;
	}
	
	#powered {
    	width: 100%;
		height: 29px;
		background:	#fff;
		text-align: center;
		border-radius: 0;
		border-top: 1px solid #c8c8c8;
		padding: 1px 0;
	}
	
	#top-link {
		width: 20px;
		height: 20px;
		bottom: 3px;
		right: 10px;
		font-size: 17px;
	}
}

@media (max-width: 991px) {
	
	h1{
	  font-size: 32px;
	  line-height: 38px;
	  margin: 5px 0 25px 0;
	  font-family: "exo_2.0regular",Arial,sans-serif;
	}

	h1 span.secondline {
	  display:block;
	  font-size: 25px;
	  line-height: 30px;
	  font-family: 'exo_2.0light';  
	}

	h2 {
	  font-size: 25px;
	  line-height: 30px;
	  font-family: "exo_2.0regular",Arial,sans-serif;
	}

	h3 {
	  font-size: 20px;
	  line-height: 26px;
	  font-family: "exo_2.0regular",Arial,sans-serif;
	}

	h4 {
	  font-size: 18px;
	  line-height: 26px;
	  margin-bottom: 5px !important;
		font-family: "exo_2.0regular",Arial,sans-serif;
	}
	#kontakt div.kontakt-end .button {
		float: left;
		margin-top: 30px;
	}
	
	.hidden-sm {
		display:none;
	}
}

@media (max-width: 768px) {

body {
	font-size: 16px;
	line-height: 22px;
}		

p {
	hyphens: none;
}

#kontakt_container {
	padding: 40px 0;
}
	
#kontakt_container > * {
   margin: 15px;
}
	
main article, #staticHeader, #header_after, .subheader, .category-faq section > h1{
	padding: 0px 20px;
}
	
.soliloquy-container .soliloquy-caption {
	display: block !important;
}
	
.soliloquy-container .soliloquy-caption img{
	display: none;
}

.soliloquy-container .soliloquy-caption-inside .soli-subtitle {
    font-size: 3vw;
    line-height: 4vw;
}
}


@media (max-width: 500px) {
		
	#responciveMenuToggle, #responciveMenuButton{
	right: 20px;
	
}


@media (max-width: 350px){
		h1 {
			font-size: 25px;
		}
	
		h1 span.secondline {		  
		  font-size: 23px;
		}
	
		h2 {
			font-size: 22px;
		}
	
		h3 {
			font-size: 20px;
		}
	
}