/*          
            Custom DEKRA classes for the basis of the bootstrap-dekra theme
------------------------------------------------------------------------------------------------
   Company: DEKRA
*/

/* 
   Styles definitions for all media queries 
------------------------------------------------------------------------------------------------ 
*/
/* Open Sans local font */
@font-face {
	font-family: 'Open Sans';
	font-style: normal;
	font-weight: 400;
	src: url('fonts/OpenSans-Regular.eot');
	src: url('fonts/OpenSans-Regular.eot?#iefix') format("embedded-opentype"), 
		 url('fonts/OpenSans-Regular.woff2') format("woff2"), 
		 url('fonts/OpenSans-Regular.woff') format("woff"),
		 url('fonts/OpenSans-Regular.ttf') format('truetype');
}

@font-face {
	font-family: 'Open Sans';
	font-style: semi-bold;
	font-weight: 600;
	src: url('fonts/OpenSans-Semibold.eot');
	src: url('fonts/OpenSans-Semibold.eot?#iefix') format("embedded-opentype"), 
		 url('fonts/OpenSans-Semibold.woff2') format("woff2"), 
		 url('fonts/OpenSans-Semibold.woff') format("woff"),
		 url('fonts/OpenSans-Semibold.ttf') format('truetype');
}

@font-face {
	font-family: 'Open Sans';
	font-style: bold;
	font-weight: 700;
	src: url('fonts/OpenSans-Bold.eot');
	src: url('fonts/OpenSans-Bold.eot?#iefix') format("embedded-opentype"), 
		 url('fonts/OpenSans-Bold.woff2') format("woff2"), 
		 url('fonts/OpenSans-Bold.woff') format("woff"),
		 url('fonts/OpenSans-Bold.ttf') format('truetype');
}

html {
	overflow-y: scroll;
	overflow-x: hidden !important;
	max-width: 100% !important;
}

body {
	color: #333;
	font-size: 13px;
	padding: 0px !important;
	margin: 0px !important;
	overflow-x: hidden !important;
	max-width: 100% !important;
}

b, strong {
	font-weight: 600;
}

a span:hover {
	cursor: pointer;
}

a.disabled:hover {
	text-decoration: none;
}

a.disabled span {
	color: #777;
}

a.disabled span:hover {
	cursor: not-allowed;
}

a:focus {
	outline: none;
}

img.svg-3x {
	width: 40px;
    margin-right: 1em;
}

div.bg-semi-transparent {
	padding: 30px 20px 30px 30px;
	background-color: rgba(0, 125, 64, 0.85);
	border-radius: 0px 5px 5px 0px;
}

.carousel-content {
	padding-top: 75px; 
}

.inline {
	display: inline;
}

.inline-block {
	display: inline-block;
}

.block {
	display: block;
}

.right-border {
	border-right: 1px solid #BCBCBC;
}

.bottom-border {
	border-bottom: 1px solid #BCBCBC;
}

.left-border {
	border-left: 1px solid #BCBCBC;
}

.top-border {
	border-top: 1px solid #BCBCBC;
}

.valign-top {
	vertical-align: top;
}

.valign-middle {
	vertical-align: middle;
}

.valign-sup {
	vertical-align: super;
}

.valign-sub {
	vertical-align: sub;
}

.bg-darker {
	background-color: #333;
    border-left: 10px solid #007D40;
}

.bg-darker * {
	color: #FFF;
}

.bg-darker .color-alt {
	color: #F3F3F3;
}

.bg-dark {
	background-color: #F1F1F1;
}

.bg-light {
	background-color: #FFFFFF;
}

.color-base-light {
	color: #666;
}

.color-base {
	color: #333;
}

.color-dekra-dark {
	color: #007D40;
}

.color-dekra-light {
	color: #57AB27;
}

.indent {
	text-indent: 30px;
}

.bold {
	font-weight: bold;
}

p.small {
	font-size: 10px;
}

p.justify {
	text-align: justify;
}

.text-center {
	text-align: center;
}

.margin-bottom {
	margin-bottom: 10px;
}

.margin-top {
	margin-top: 10px;
}

.fa {
	vertical-align: middle;
}

.fa.baseline {
	vertical-align: baseline;
}

.fa.black {
	color: #333;
}

body, h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
	font-family: 'Open Sans', 'Roboto', 'Arial';
}

h1, h2, h3, h4, h5, h6 {
	margin-top: 0px;
	margin-bottom: 0px;
	font-weight: normal;
}

h1, .h1 {
	color: #333;
	font-weight: 300;	
	font-size: 36px;
}

h2, .h2 {
	font-size: 24px;
	font-weight: 300;
}

h3, .h3 {
	font-size: 16px;
}

h4, .h4 {
	font-size: 15px;
}

h5, .h5 {
	color: #777;
	font-weight: normal;
	font-size: 13px;
}

.margin-top {
	margin-top: 10px;
}

.padding-top {
	padding-top: 10px;
}

.padding-right {
	padding-right: 10px;
}

.padding-bottom {
	padding-bottom: 10px;
}

.padding-left {
	padding-left: 10px;
}

.no-padding-top {
	padding-top: 0px;
}

.no-margin-bottom {
	margin-bottom: 0px;
}

.arrow-down {
	width: 0; 
	height: 0; 
	border-left: 20px solid transparent;
	border-right: 20px solid transparent;
	border-top: 20px solid #F5F5F5;
	margin-left: auto;
    margin-right: auto;
    margin-top: -15px;
}

footer {
    background: -moz-linear-gradient(top, #333333 0%, #333333 91%, #f7f7f7 100%);
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#333333), color-stop(91%,#333333), color-stop(100%,#f7f7f7));
    background: -webkit-linear-gradient(top, #333333 0%,#333333 91%,#f7f7f7 100%);
    background: -o-linear-gradient(top, #333333 0%,#333333 91%,#f7f7f7 100%);
    background: -ms-linear-gradient(top, #333333 0%,#333333 91%,#f7f7f7 100%);
    background: linear-gradient(to bottom, #333333 0%,#333333 91%,#f7f7f7 100%);
 	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#333333', endColorstr='#f7f7f7',GradientType=0 );
	color: #FFF;
	font-size: 11px;
	height: 79px;
}

footer p#credits {
	font-weight: normal;
}

footer img#company-logo {
	margin: 28px 55px 12px 12px;
}

footer img.company-logo-tacs4 {
	margin: 28px 55px 12px 12px;
	margin-top: 29px;
}

div#goToTop {
	position: fixed;
	bottom: 15px;
    right: 0px;
    background-color: #57AB27;
    cursor: pointer;
    border-top-left-radius: 5px;
    border-bottom-left-radius: 5px;
    color: #FFF;
    z-index: 1;
}

div#goToTop > div {
	padding: 10px 10px 10px 12px;
}

div.feature {
	min-height: 160px;
}

.clear {
	clear: both;
}

.centered {
	margin-left: auto;
	margin-right: auto;
	display: block;
}

#devicesMap {
	height: 400px;
	width: 510px;
	border-radius: 5px;
	margin-left: auto;
	margin-right: auto;
	border: 1px solid #BCBCBC;
	cursor: none;
}

#devicesMap * {
	cursor: default;
}

.awesome-marker > i.fa.fa-mobile-phone {
	font-size: 22px;
    margin-top: 7px;
}

.counter {
	font-size: 24px;
    color: #FFF;
    display: inline-block;
    background-color: #555;
    padding: 10px;
    border-radius: 10px;
    font-weight: 300;
    letter-spacing: 1px;
    height: 45px;
}

.img-rounded {
	border-radius: 10px;
}

i.fa-3x {
	width: 40px;
	text-align: center;
}

ul.fa-ul > li > i.fa-li {
	top: .30285714em;
}

iframe.video-player {
	width: 100%;
    height: 250px;
/*     max-width: 350px; */
    border: 0px;
    border-radius: 5px;
}

div.video-title-container {
	height: 35px;
}

hr {
	border: 0;
    height: 1px;
    background-image: linear-gradient(to right, rgba(51, 51, 51, 0), rgba(51, 51, 51, 0.75), rgba(51, 51, 51, 0));
    margin-top: 0px;
    margin-bottom: 0px;
}

img.margin {
	margin: 10px;
}

a:hover, a:focus {
	color: #007D40;
}

a {
	color: #007D40;
}

a.dark-gray {
	color: #333;
}

/* Cookies consent */
div#cookiesContainer {
    position: fixed;
    bottom: 0;
    left: 15%;
    width: 70%;
    background-color: rgba(0, 125, 64, 0.85);
    border-radius: 5px 5px 0px 0px;
    color: #FFF;
}

div#cookiesContainer p {
	margin: 0px;
    line-height: 2;
}

div#cookiesContainer button.btn-primary {
	border: 0px !important;
	-webkit-transition: background-color 0.5s linear;
    -moz-transition: background-color 0.5s linear;
    -o-transition: background-color 0.5s linear;
    -ms-transition: background-color 0.5s linear;
    transition: background-color 0.5s linear;
}

div#cookiesContainer button.btn-primary:hover, div#cookiesContainer button.btn-primary:focus {
	background-color: #555 !important;
	color: #FFF !important;
	-webkit-box-shadow: 3px 3px 3px 0px rgba(243,243,243,0.50) !important;
	-moz-box-shadow: 3px 3px 3px 0px rgba(243,243,243,0.50) !important;
	box-shadow: 3px 3px 3px 0px rgba(243,243,243,0.50) !important;
}

div#cookiesContainer button.btn-primary:active {
	background-color: #333 !important;
	color: #FFF !important;
	-webkit-box-shadow: 3px 3px 3px 0px rgba(243,243,243,0.50) !important;
	-moz-box-shadow: 3px 3px 3px 0px rgba(243,243,243,0.50) !important;
	box-shadow: 3px 3px 3px 0px rgba(243,243,243,0.50) !important;
}

div#cookiesContainer button.btn-secondary {
	border: 0px !important;
	background-color: #00572c;
	-webkit-transition: background-color 0.5s linear;
    -moz-transition: background-color 0.5s linear;
    -o-transition: background-color 0.5s linear;
    -ms-transition: background-color 0.5s linear;
    transition: background-color 0.5s linear;
}

div#cookiesContainer button.btn-secondary:hover, div#cookiesContainer button.btn-secondary:focus {
	background-color: #003e20 !important;
	color: #FFF !important;
	-webkit-box-shadow: 3px 3px 3px 0px rgba(243,243,243,0.50) !important;
	-moz-box-shadow: 3px 3px 3px 0px rgba(243,243,243,0.50) !important;
	box-shadow: 3px 3px 3px 0px rgba(243,243,243,0.50) !important;
}

div.bg-darker a:hover, div.bg-darker a:focus {
	color: #F3F3F3;
	text-decoration: underline;
	text-decoration-color: #FFF;
}

div.bg-darker a, div.bg-darker span {
	color: #F3F3F3;
}

div.bg-darker i.fa {
	color: #F3F3F3;
}

div.bg-darker i.fa-stack-1x.icon-background  {
	color: #F3F3F3;
}

div.bg-darker i.fa-stack-1x  {
	color: #333;
}

i.left {
	margin-right: .3em; 
	vertical-align: sub;
}

.line-height-3x {
	line-height: 2.5;
}

div.bg-darker h2.subtitle {
	border-bottom: 1px solid #79B158;
    padding-bottom: 10px;
}

div.bg-darker h4.subtitle {
	font-size: 13px;
	font-weight: 300;
}

div#resourcesContainer h4 {
	min-height: 38px;
}

div#top-showcase {
	min-height: 310px;
	overflow: hidden;
}

div#top-showcase ul li {
	font-weight: normal;
}

div#top-showcase p {
	font-weight: normal;
}

i.icon-background {
	color: #555;
}

i.fa-stack-1x {
	color: #FFF;
}

div#features h3 {
	margin-top: 10px;
}

img.app-icon {
	background-color: #007D40;
    padding: 10px;
    border-radius: 10px;
    height: 65px;
    border: 1px solid #BCBCBC;
}

.helper {
    display: inline-block;
    height: 100%;
    vertical-align: middle;
}

img.img-badge {
	margin-left: 0px;
	margin-right: 5px;
	margin-top: 10px;
}

.border-bottom {
	border-bottom: 1px solid #BCBCBC;
}

.padding-bottom {
	padding-bottom: 10px;
}

h2.subtitle {
	border-bottom: 1px solid #BCBCBC;
    padding-bottom: 10px;
}

/* Clouds border shape */
#clouds {
	background-color: #F1F1F1;
}

#clouds path {
	fill: #007D40;
	stroke: #007D40;
}

/* zigzag border shape */
.border-zigzag {
	margin-top: -45px;
}

.border-zigzag .bg-dark {
	background-color: #F1F1F1;
}

.border-zigzag .bg-light {
	background-color: #FFFFFF;
}

.border-zigzag::before {
  right: 0;
  left: 0;
  z-index: 10;
  display: block;
  height: 90px;
  background-size: 25px 100%;
}

.border-zigzag::before {
  content: "";
  background-image: -webkit-gradient(linear, 0 0, 300% 100%, color-stop(0.25, transparent), color-stop(0.25, #00572c));
  background-image: linear-gradient(315deg, #007D40 25%, rgba(0, 0, 0, 0) 25%), linear-gradient(45deg, #00572c 25%, rgba(0, 0, 0, 0) 25%);
  background-position: 50%;
}
/* zigzag border shape end */

/* zigzag-simple border shape */
.border-zigzag-simple {
	margin-top: 0px;
}

.border-zigzag-simple::before {
  right: 0;
  left: 0;
  z-index: 10;
  display: block;
  height: 46px;
  background-size: 25px 100%;
}

.border-zigzag-simple::before {
  content: "";
  background-image: -webkit-gradient(linear, 0 0, 300% 100%, color-stop(0.25, #007D40), color-stop(0.25, teal));
  background-image: linear-gradient(135deg, #007D40 25%, rgba(0, 0, 0, 0) 25%), linear-gradient(225deg, #007D40 25%, rgba(0, 0, 0, 0) 25%);
  background-position: 50%;
}

.border-zigzag-simgple .bg-dark {
	background-color: #F1F1F1;
}

.border-zigzag-simple .bg-light {
	background-color: #FFFFFF;
}

.valign-baseline {
	vertical-align: baseline;
}

h3 > i.fa {
	line-height: 1;
}

h2 > i.fa {
	line-height: 1.3;
}

/* Center recaptcha container */
div[vc-recaptcha].center > div {
	margin-left: auto;
	margin-right: auto;
}

div#left-border {
	position:absolute;
	width: 10px;
	height: 80px;
	
	background: -moz-linear-gradient(top, #57AB27 0%, #57AB27 90%, #f7f7f7 100%);
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#57AB27), color-stop(90%,#57AB27), color-stop(100%,#f7f7f7));
    background: -webkit-linear-gradient(top, #57AB27 0%,#57AB27 90%,#f7f7f7 100%);
    background: -o-linear-gradient(top, #57AB27 0%,#57AB27 90%,#f7f7f7 100%);
    background: -ms-linear-gradient(top, #57AB27 0%,#57AB27 90%,#f7f7f7 100%);
    background: linear-gradient(to bottom, #57AB27 0%,#57AB27 90%,#f7f7f7 100%);
}

/* Publication */
p.publication {
	color: #777;
    font-weight: normal;
    font-size: 13px;
    text-align: justify;
}

p.publication > span.title {
	font-style: italic;
}

/* Loading messages */
h2.loading-msg {
	text-align: center;
    padding: 15px 20px 15px 15px;
    background-color: #777;
    display: inline-block;
    border-radius: 5px;
    color: #FFF;
    margin: 15px;
}

h2.loading-msg > i.fa {
	vertical-align: baseline;
	margin-right: 5px;
}

img#apps-slide-1-container {
	display: none;
}

p.pre-line {
	white-space: pre-line;
}

/* --------------------------------------------------------------------------------------------- */

/* 
   Styles definitions for specific media queries 
------------------------------------------------------------------------------------------------ 
*/
@media (min-width: 1100px) {
	div.new {
		min-height: 270px;
	}
	
	img#apps-slide-1 {
		position: absolute;
	    top: 425px;
	    right: 15px;
	    height: 370px;
	}
}

@media (min-width: 1300px) {
	div.new {
		min-height: 260px;
	}
}

@media (max-width: 1263px) {
	div#cookiesContainer p {
	    line-height: 1;
	}
}

@media (max-width: 1099px) {
	#apps-slide-1-container {
	    width: 440px;
	    overflow: hidden;
	    position: absolute;
	    top: 445px;
	    height: 370px;
	    right: 0px;
    }
	
	img#apps-slide-1 {
		position: relative;
	    height: 370px;
	}
	
	div#cookiesContainer {
	    left: 10%;
	    width: 80%;
	}
	
	.row.center-content-alt.map {
		margin-left: 0px;
		margin-right: 0px;
	}
}

@media (min-width: 992px) {
	img.img-badge {
		margin-top: 25px;
	}
}

@media (min-width: 768px) {
	h1.section-title, h2.section-title {
		display: block;
		text-align: center;
		padding-bottom: 5px;
	}
	
	div.title-container {
		width: 500px; margin-left: auto; margin-right: auto;
	}
	
	h3.section-subtitle, h4.section-subtitle, h5.section-subtitle {
		display: block;
		text-align: center;
		margin-top: 15px;
		margin-left: 30%;
		margin-right: 30%;
	}
	
	footer img#company-logo, footer img.company-logo-tacs4 {
		float: right;
	}
	
	footer p#credits {
		margin: 25px 15px 15px 25px;
	}
	
	.row.center-content {
		margin-left: 15%;
	    margin-right: 15%;	
	}
	
	.row.center-content-alt {
		margin-left: 10%;
	    margin-right: 10%;	
	}
}

@media (max-width: 767px) {
	h1.section-title, h2.section-title {
		display: block;
		text-align: center;
		padding-bottom: 5px;
	}
	
	h3.section-subtitle, h4.section-subtitle, h5.section-subtitle {
		display: block;
		text-align: center;
		margin-top: 15px;
	}
	
	#devices-map {
		display: none;
	}
	
	#carousel {
		display: none;
	}
	
	footer {
	    background: -moz-linear-gradient(top, #333333 0%, #333333 95%, #f7f7f7 100%);
	    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#333333), color-stop(95%,#333333), color-stop(100%,#f7f7f7));
	    background: -webkit-linear-gradient(top, #333333 0%,#333333 95%,#f7f7f7 100%);
	    background: -o-linear-gradient(top, #333333 0%,#333333 95%,#f7f7f7 100%);
	    background: -ms-linear-gradient(top, #333333 0%,#333333 95%,#f7f7f7 100%);
	    background: linear-gradient(to bottom, #333333 0%,#333333 95%,#f7f7f7 100%);
	 	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#555555', endColorstr='#f7f7f7',GradientType=0 );
	 	height: 147px;
	}
	
	footer p#credits {
		margin: 15px;
		text-align: center;
	}
	
	footer img#company-logo, footer img.company-logo-tacs4 {
		display: block;
		margin: 15px auto 15px auto;
	}
	
	footer img#company-logo-tacs4 {
		margin-top: 15px;
	}
	
	.row.center-content {
		padding-left: 0px;
	    padding-right: 0px;	
	}
	
	img#apps-slide-1 {
		position: relative;
		top: -0px;
    	left: 0;
		display: block;
	    height: 370px;
	    padding: 0 15px 0 15px;
	    margin-left: auto;
    	margin-right: auto;
	}
	
	#apps-slide-1-container {
	    position: relative;
	    top: 0px;
	    left: 0px;
	    width: 100%;
    }
	
	div#top-showcase {
		/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#f3f3f3+0,f3f3f3+0,007d40+15,007d40+100 */
		background: #f3f3f3; /* Old browsers */
		background: -moz-linear-gradient(top,  #f3f3f3 0%, #f3f3f3 0%, #007d40 15%, #007d40 100%); /* FF3.6-15 */
		background: -webkit-linear-gradient(top,  #f3f3f3 0%,#f3f3f3 0%,#007d40 15%,#007d40 100%); /* Chrome10-25,Safari5.1-6 */
		background: linear-gradient(to bottom,  #f3f3f3 0%,#f3f3f3 0%,#007d40 15%,#007d40 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
		filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f3f3f3', endColorstr='#007d40',GradientType=0 ); /* IE6-9 */
		border-left: 0px;
	}
	
	div#left-border {
		height: 147px;
		
		background: -moz-linear-gradient(top, #57AB27 0%, #57AB27 95%, #f7f7f7 100%);
	    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#57AB27), color-stop(95%,#57AB27), color-stop(100%,#f7f7f7));
	    background: -webkit-linear-gradient(top, #57AB27 0%,#57AB27 95%,#f7f7f7 100%);
	    background: -o-linear-gradient(top, #57AB27 0%,#57AB27 95%,#f7f7f7 100%);
	    background: -ms-linear-gradient(top, #57AB27 0%,#57AB27 95%,#f7f7f7 100%);
	    background: linear-gradient(to bottom, #57AB27 0%,#57AB27 95%,#f7f7f7 100%);
	}
	
	div#cookiesContainer {
		background-color: rgba(51,51,51,0.75);
	}
}

