/**
Theme Name: IM.PULS
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: im-puls
Template: astra
*/


/* lato-300 - latin */
@font-face {
  font-family: 'Lato';
  font-style: normal;
  font-weight: 300;
  src: url('includes/fonts/lato-v16-latin-300.eot'); /* IE9 Compat Modes */
  src: local('Lato Light'), local('Lato-Light'),
       url('includes/fonts/lato-v16-latin-300.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('includes/fonts/lato-v16-latin-300.woff2') format('woff2'), /* Super Modern Browsers */
       url('includes/fonts/lato-v16-latin-300.woff') format('woff'), /* Modern Browsers */
       url('includes/fonts/lato-v16-latin-300.ttf') format('truetype'), /* Safari, Android, iOS */
       url('includes/fonts/lato-v16-latin-300.svg#Lato') format('svg'); /* Legacy iOS */
}
/* lato-regular - latin */
@font-face {
  font-family: 'Lato';
  font-style: normal;
  font-weight: 400;
  src: url('includes/fonts/lato-v16-latin-regular.eot'); /* IE9 Compat Modes */
  src: local('Lato Regular'), local('Lato-Regular'),
       url('includes/fonts/lato-v16-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('includes/fonts/lato-v16-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
       url('includes/fonts/lato-v16-latin-regular.woff') format('woff'), /* Modern Browsers */
       url('includes/fonts/lato-v16-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
       url('includes/fonts/lato-v16-latin-regular.svg#Lato') format('svg'); /* Legacy iOS */
}
/* lato-700 - latin */
@font-face {
  font-family: 'Lato';
  font-style: normal;
  font-weight: 700;
  src: url('includes/fonts/lato-v16-latin-700.eot'); /* IE9 Compat Modes */
  src: local('Lato Bold'), local('Lato-Bold'),
       url('includes/fonts/lato-v16-latin-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('includes/fonts/lato-v16-latin-700.woff2') format('woff2'), /* Super Modern Browsers */
       url('includes/fonts/lato-v16-latin-700.woff') format('woff'), /* Modern Browsers */
       url('includes/fonts/lato-v16-latin-700.ttf') format('truetype'), /* Safari, Android, iOS */
       url('includes/fonts/lato-v16-latin-700.svg#Lato') format('svg'); /* Legacy iOS */
}

@font-face {
  font-family: 'Quarca';
  font-style: normal;
  font-weight: 300;
   src: url('includes/fonts/QuarcaExtBook.otf') format("opentype");
}

@font-face {
  font-family: 'Quarca';
  font-style: normal;
  font-weight: 700;
   src: url('includes/fonts/QuarcaExtMedium.otf') format("opentype");
}


/* GENERAL */

body {
	font-family: 'Lato';
	font-style: normal;
	font-weight: 400;
}

h1, h2, h3 {
	font-family: 'Quarca';
	color: #2e3895;
	-webkit-hyphens: auto;
  -webkit-hyphenate-limit-chars: auto 3;
  -webkit-hyphenate-limit-lines: 4;
  -ms-hyphens: auto;
  -ms-hyphenate-limit-chars: auto 3;
  -ms-hyphenate-limit-lines: 4;
  hyphens: auto;
}

h2 a, h2 a:hover {
	width: inherit;
	text-align: center;
	font-family: 'Quarca';
	font-weight: 700;
	font-size: 30pt;
	color: #2e3895;
	display: inline-block;
	padding: 0px 25px;
	width: auto;
	position: relative;
}

h2 a:after {
	position: absolute;
	content: "";
	width: 40px;
	height: 40px;
	top:-10px;
	right: 0;
	border-top: 4px solid #2e3895;
	border-right: 4px solid #2e3895;
}


.entry-content h2 {
	font-family: 'Lato';
	font-size: 30pt;
	color: #2e3895;
}

.vc_btn3-color-blue {
	background-color: #2e3895 !important;
}

input[type=email], input[type=password], input[type=search], input[type=tel], input[type=text], input[type=url], textarea {
	border: 0;
	border-radius: 0;
	background-color: #f0f0f0;
}

input[type="submit"] {
	width: 100%;
	border-radius: 0;
}




/* HEADER */

.custom-logo {
	width: 240px;
	margin-bottom: 5px;
}

.main-navigation > ul > li {
	text-transform: uppercase;
	letter-spacing: 1px;
	font-weight: 700;
	font-size: 10pt;
	background-image: linear-gradient(#2e3895, #2e3895);
	background-size: 0% 2px;
	background-position: center top;
	background-repeat: no-repeat;
	transition: 0.3s ease-out 0s;
}

.main-navigation > ul > li:hover {
	background-size: 100% 2px;
}

.main-navigation > ul > li > ul > li {
	transition: 0.3s ease-out 0s;
}

.main-navigation > ul > li > ul > li:hover {
	background-color: #2e3895;
	color: white !important;
}

.main-navigation > ul > li > ul > li:hover a {
	color: white !important;
}

.main-navigation .menu-item > a {
	height: 53%;
	position:relative;
}

.ast-small-footer .nav-menu a {
	padding: 0 1rem;
}

.post-thumbnail-bg {
	position:relative;
	height: calc(100vh - 90px);
	background-size: cover;
	background-position: center top;
}

.post-thumbnail-bg-layer {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background-color: rgba(0,0,0,0.25);
}

.post-thumbnail-bg .ast-container {
	height: 100%;
	position:relative;
}

.post-thumbnail-bg-teaser {
    position: absolute;
	top: 50%;
	left: 20px;
	right: 20px;
	transform: translateY(-50%);
	width: 50%;
	color: white;
	
}

.post-thumbnail-bg-teaser div {
	display: block;
	font-family: 'Quarca';
	font-weight: 700;
	font-size: 50pt;
	line-height: 120%;
}

.post-thumbnail-bg-teaser p {
	display: block;
	margin-top: 20px;
	font-size: 20pt;
}

.post-thumbnail-bg-contact img {
	position: fixed;
	width: 80px;
	bottom: 50px;
	right: 50px;
	z-index: 9999;
	transition: all .3s ease-in-out;
}

.post-thumbnail-bg-contact img:hover {
	transform: scale(1.05);
}

.post-thumb-img-content {
	display: none;
}

.ast-no-title {
	margin: 0 !important;
}


/* FOOTER */
.icons-footer {
	margin-top: 30px;
}

.icons-footer img {
	display: inline-block;
	width: 35px;
	margin: 0 40px 40px 0;
}




/* PAGE */
.site-main {
	margin-top: 30px;
}





/* ELEMENTS */
/* teaser-with-button */
.teaser-with-button {
	position:relative;
	height: 650px;
	background-size: cover;
	background-position: center center;
}

.teaser-with-button-layer {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background-color: rgba(0,0,0,0.25);
}

.teaser-with-button .ast-container {
	height: 100%;
	position:relative;
	cursor: pointer
}

.teaser-with-button .teaser-with-button-text1 {
	position: absolute;
	top: 50px;
	left: 20px;
	color: white;
	font-family: 'Quarca';
	font-weight: 700;
	font-size: 50pt;
	line-height: 1.2;
	max-width: calc(100% - 40px);
}

.teaser-with-button .teaser-with-button-text2 {
	position: absolute;
	bottom: 50px;
	right: 20px;
	color: white;
	font-family: 'Quarca';
	font-weight: 700;
	font-size: 50pt;
	line-height: 1.2;
	text-align: right;
	max-width: calc(100% - 40px);
}

.teaser-with-button .teaser-with-button-text3 {
	display: none;
	position: absolute;
	margin-left: auto;
	margin-right: auto;
	bottom: 80px;
	width: inherit;
	text-align: center;
	color: white;
	font-family: 'Quarca';
	font-weight: 700;
	font-size: 30pt;
	line-height: 1.2;
}

.teaser-with-button:hover .teaser-with-button-text3 {
	color: #2e3895;
	display: inline-block;
	padding: 0px 25px;
	width: auto;
	
}

.teaser-with-button .teaser-with-button-text3:after {
	position: absolute;
	content: "";
	width: 40px;
	height: 40px;
	top:0;
	right: 0;
	border-top: 4px solid #2e3895;
	border-right: 4px solid #2e3895;
}

/* image-with-text-fw */

.image-with-text {
	position:relative;
	height: 600px;
	background-size: cover;
	background-position: center center;
}

.image-with-text-layer {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background-color: rgba(0,0,0,0.25);
}

a .image-with-text {
	cursor: pointer;
}

.image-with-text .text {
	display: none;
	position:absolute;
	top: 50%;
	left: 20px;
	right: 20px;
	transform: translateY(-50%);
	text-align: center;
	color: white;
	font-family: 'Quarca';
	font-weight: 700;
	font-size: 30pt;
	letter-spacing: 2px;
}

.image-with-text.no-link .text, .image-with-text:hover .text {
	display: block;
}

.vc_btn3-color-grey {
	padding: 30px 20px !important;
	color: #2e3895 !important;
}


/* References */
.reference {
	margin: 60px 0 180px;
}

quote {
    position: relative;
    font-weight: 800;
    padding: 30px 30px;
    width: 100%;
    max-width: 1000px;
    display: block;
    z-index: 1;
    margin: 80px auto;
    align-self: center;
    
}

quote:after {
	position: absolute;
	content: "";
	width: 40px;
	height: 40px;
	top:-10px;
	right: 0;
	border-top: 4px solid #2e3895;
	border-right: 4px solid #2e3895;
}

quote:before {
	position: absolute;
	content: "";
	width: 40px;
	height: 40px;
	bottom:-10px;
	left: 0;
	border-bottom: 4px solid #2e3895;
	border-left: 4px solid #2e3895;
}

.reference .quote {
	font-family: 'Quarca';
	font-size: 34pt;
	color: #2e3895;
	text-align: center;
	line-height: 1.2;
}

.reference .name {
	text-align: center;
	font-weight: 400;
	margin-top: 15px;

}

.reference .name:before {
	content: '—';
	margin-right: 6px;
	
}

quote .image img {
	width: 100px;
	height: 100px;
	border-radius: 200px;
	float:right;
	margin-top: -100px;
}

quote .quote:after {
	font-family: 'Lato';
    position: absolute;
    content: "”";
    color: #2e3895;
    font-size: 10rem;
    line-height: 0;
    bottom: -43px;
    right: 30px;
}

.reference .text {
	text-align: center;
	max-width: 600px;
	margin: 0 auto;
}


/* Training Number */
.wpb_single_image.tutorialbildnummer {
	position: relative;
}

.wpb_single_image.tutorialbildnummer h2 {
	position: absolute;
	bottom: -22.5px;
	left: 50%;
	transform: translateX(-50%);
	width: 45px;
	height: 45px;
	background-color: #2e3895;
	font-size: 16pt;
	color: white;
	border-radius: 45px;
	padding: 8px;
	margin-bottom: 0;
	text-align: center
}


.square-colorfull.empty .wpb_wrapper, .square-colorfull a {
	display: block;
	background-color;
	padding: 60px 0 80px;
	height: 0;	
	color: white;
}

.square-colorfull .vc_column-inner::after, .square-colorfull .vc_column-inner::before {
	display: none;
}




@media only screen and (max-width: 768px) {
	.main-navigation > ul > li {
		background: none;
	}
	
	.ast-header-break-point .main-navigation ul .button-custom-menu-item a, .ast-header-break-point .main-navigation ul li a {
		border-bottom: none;
	}

	.post-thumbnail-bg-teaser {
		width: calc(100% - 40px);
	}	
	.post-thumbnail-bg-teaser div {
		font-size: 30pt;
	}
	.post-thumbnail-bg-teaser p {
		font-size: 16pt;
	}
	
	.square-colorfull .vc_column-inner {
		margin-left: 30px !important;
		margin-bottom: 30px;
	}
	
	.post-thumbnail-bg-contact {
		display: none;
	}
	
	.entry-content h2 a {
		font-size: 20pt;
	}
	
	.large-text {
		font-size: 50pt !important;
	}

}