/*------------------------------------------------------------------------------
Fonts
------------------------------------------------------------------------------*/

@font-face {
    font-family: 'PT Sans';
    font-style:  normal;
    font-weight: 400;
    font-display: swap;
    src: local('PT Sans regular'),
	url('../fonts/pt-sans-v12-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
	url('../fonts/pt-sans-v12-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
	url('../fonts/pt-sans-v12-latin-regular.woff') format('woff'), /* Modern Browsers */
	url('../fonts/pt-sans-v12-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
	url('../fonts/pt-sans-v12-latin-regular.svg#PTSans') format('svg'); /* Legacy iOS */
}

@font-face {
    font-family: 'PT Sans';
    font-style:  normal;
    font-weight: 700;
    font-display: swap;
	src: local('PT Sans bold'),
		 url('../fonts/pt-sans-v12-latin-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
		 url('../fonts/pt-sans-v12-latin-700.woff2') format('woff2'), /* Super Modern Browsers */
		 url('../fonts/pt-sans-v12-latin-700.woff') format('woff'), /* Modern Browsers */
		 url('../fonts/pt-sans-v12-latin-700.ttf') format('truetype'), /* Safari, Android, iOS */
		 url('../fonts/pt-sans-v12-latin-700.svg#PTSans') format('svg'); /* Legacy iOS */
  }

@font-face {
    font-family: 'it-sonix-iconfont';
    src:  url('../fonts/it-sonix-iconfont.eot?nm88j5');
    src:  url('../fonts/it-sonix-iconfont.eot?nm88j5#iefix') format('embedded-opentype'),
        url('../fonts/it-sonix-iconfont.ttf?nm88j5') format('truetype'),
        url('../fonts/it-sonix-iconfont.woff?nm88j5') format('woff'),
        url('../fonts/it-sonix-iconfont.svg?nm88j5#it-sonix-iconfont') format('svg');
    font-weight: normal;
    font-style: normal;
    font-display: block;
}

.icon {
    /* use !important to prevent issues with browser extensions that change fonts */
    font-family: 'it-sonix-iconfont' !important;
    speak: never;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;

    /* Better Font Rendering =========== */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.icon-download-1:before {
    content: "\e90f";
}
.icon-download-2:before {
    content: "\e910";
}
.icon-download-3:before {
    content: "\e911";
}
.icon-play-2:before {
    content: "\e912";
}
.icon-play-3:before {
    content: "\e913";
}
.icon-play:before {
    content: "\e914";
}
.icon-calendar-icon-line:before {
    content: "\e90d";
}
.icon-calendar-icon-lineV2:before {
    content: "\e90e";
}
.icon-fb-icon-line:before {
    content: "\e900";
}
.icon-instagram-icon-line:before {
    content: "\e901";
}
.icon-linked-icon-line:before {
    content: "\e902";
}
.icon-twitter-icon-line:before {
    content: "\e903";
}
.icon-xing-icon-line:before {
    content: "\e904";
}
.icon-Arrow-down:before {
    content: "\e905";
}
.icon-Arrow-left:before {
    content: "\e906";
}
.icon-Arrow-right:before {
    content: "\e907";
}
.icon-Arrow-up:before {
    content: "\e908";
}
.icon-Chevron-down:before {
    content: "\e909";
}
.icon-Chevron-left:before {
    content: "\e90a";
}
.icon-Chevron-right:before {
    content: "\e90b";
}
.icon-Chevron-up:before {
    content: "\e90c";
}

/*------------------------------------------------------------------------------
Global Definitions
------------------------------------------------------------------------------*/

html {
    height: 100%;
}
body {
    color: #444;
    font-family: 'PT Sans', Arial, sans-serif;
    font-style: normal;
    font-weight: 400;
    height: 100%;
}
#body {
	padding-top: 2.75rem;
}
button { 
	outline: none !important;
}
::-moz-selection { 
	background: #5B656D; color: #fff; 
}
::selection { 
	background: #5B656D; color: #fff; 
}
h1 {
	color: white;
	font-size: 3rem !important;
    font-weight: 400 !important;
	line-height: 1.25;
	padding-bottom: 1.25rem;
}
h2 {
	color: calystoblue;
	font-size: 2.5em !important;
    font-weight: 400 !important;
	line-height: 1.25;
	padding-bottom: 1.25rem;
}
h3 {
	color: calystogrey;
	font-size: 1.5rem !important;
	line-height: 1.25;
	padding-bottom: 1.5rem;

}
h4 {
	color: calystobgrey;
	font-size: 1.25rem !important;
	line-height: 1.25;
	padding-bottom: 0.25rem;
}
h5 {
	color: white;
	font-size: 1rem !important;
	font-weight: 700 !important;
	padding-bottom: 0.25rem;
}
.wud h2,
.wud h4 {
	color: #111c24;
}
a {
    font-weight: 400;
}

div[class*="bg-"] a,
a[class*="bg-"] {
	transition-property: background-color, border-color, color, fill, stroke, opacity, box-shadow, transform;
	transition-duration: 500ms;
	transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

.bg-calystoblue p,
.bg-calystoblue	li,
.bg-calystoblue h2,
.bg-calystoblue h3,
.bg-calystoblue h4, .bg-calystoblue h4 {
	color: #fff;
}
.bg-green a, .bg-white .bg-green a,
.bg-green a:active, .bg-white .bg-green a:active,
.bg-green a:visited, .bg-white .bg-green a:visited,
.bg-wudblue a, .bg-wudgreen a,
.bg-wudblue a:active, .bg-wudgreen a:active,
.bg-wudblue a:visited, .bg-wudgreen a:visited {
	color: #111c24;
}

.bg-white a,
.bg-white a:active,
.bg-white a:visited,
.bg-greylight a,
.bg-greylight a:active,
.bg-greylight a:visited {
	color: #025b9b;
}
.bg-white a:hover,
.bg-white a:focus,
.bg-greylight a:hover,
.bg-greylight a:focus {
	color: #025b9b;
}

/*------------------------------------------------------------------------------
Helper Classes
------------------------------------------------------------------------------*/

.content-wrapper {
	max-width: 960px;
	margin: auto;
	padding: 3rem 1.25rem; /* py-12 px-5 */
}
.yt-wrapper {
	height: 0;
	padding-bottom: 56.25%;
	position: relative;
	width: 100%;
}
.yt-video {
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
}


/*------------------------------------------------------------------------------
Header
------------------------------------------------------------------------------*/

header {
	background-color: #fff;
	z-index: 100;
}
header .logo {
	max-height: 1.75rem;
}

/* Media Queries -------------------------------------------------------------*/
@media all and (min-width : 768px) and (max-width : 1023px) {
    header .logo {
        max-height: 1.25rem;
        margin-top: 3px;
    }
}

/*------------------------------------------------------------------------------
Navigation (Main Menu)
------------------------------------------------------------------------------*/

[id^=drop] {
	display: none;
}
nav ul li {
	display: inline-block;
    white-space: nowrap;
}
nav a {
	color: #111c24;
	display: block;
	font-size: .875rem;
	line-height: 1.75rem;
}

/* Hide dropdowns by default and giving it a position of absolute ------------*/
nav ul ul {
	display: none;
    position: absolute; 
    -webkit-transition: all .3s ease-out;
    -moz-transition: all .3s ease-out;
    -ms-transition: all .3s ease-out;
    -o-transition: all .3s ease-out;
    transition: all .3s ease-out;
}	
/* Display dropdowns on hover ------------------------------------------------*/
nav ul li:hover > ul,
nav ul li:focus-within > ul {
	display: inherit;
}
/* First tier dropdown -------------------------------------------------------*/
nav ul ul li {
	float: none;
	display: list-item;
	position: relative;
}
nav .has-children li a,
nav .has-children li a:active,
nav .has-children li a:visited {
	color: #111c24; 
}
nav .has-children li a:hover,
nav .has-children li a:focus {
	color: #025b9b;
}
.selected > a {
	color: #025b9b;
}

/* Hamburger icon + animation ------------------------------------------------*/
.hamburgericon {
	background: #111c24;
	display: block;
	height: 2px;
	position: relative;
	transition: background .2s ease-out;
	width: 18px;
	margin: 14px auto 0;
}
.hamburgericon:before,
.hamburgericon:after {
	background: #111c24;
	content: '';
	display: block;
	height: 100%;
	position: absolute;
	transition: all .2s ease-out;
	width: 100%;
}
label:hover {
	cursor: pointer;
}
label:hover .hamburgericon,
label:hover .hamburgericon:before,
label:hover .hamburgericon:after {
	background: #025b9b;
}
.hamburgericon:before {
	top: 5px;
}
.hamburgericon:after {
	top: -5px;
}
[id^=drop]:checked + .toggle .hamburgericon {
	background: transparent;
}
[id^=drop]:checked + .toggle .hamburgericon:before {
	transform: rotate(-45deg);
}
[id^=drop]:checked + .toggle .hamburgericon:after {
	transform: rotate(45deg);
}
[id^=drop]:checked + .toggle .hamburgericon:before,
[id^=drop]:checked + .toggle .hamburgericon:after {
	top: 0;
}

/* Media Queries -------------------------------------------------------------*/
@media all and (max-width : 767px), (hover: none) {
	.menu {
		display: none;
	}
	.toggle {
		border: none;
		display: block;
		line-height: 1.75rem;
		text-decoration: none;
	}
	.toggle-btn {
		width: 1.75rem;
		height: 1.75rem;
	}
	/* Display dropdown when clicked on parent lable */
	[id^=drop]:checked ~ ul {
		display: block;
	}
	nav ul li {
		display: block;
	}
	/* Hide dropdowns by default */
	nav ul ul {
		float: none;
		position: static;
	}
	/* Hide menus on hover */
	nav ul ul li:hover > ul,
	nav ul li:hover > ul {
		display: none;
	}
	/* First tier dropdown */
	nav ul ul li {
		display: block;
		width: 100%;
	}
	nav ul ul ul li {
		position: static;
	}
	.has-children label {
		transition: all .2s ease-out;
	}
	.has-children [id^=drop]:checked + label {
		transform: rotate(180deg);
		transform-origin: center center;
	}
}

/*------------------------------------------------------------------------------
Footer
------------------------------------------------------------------------------*/

footer {
	box-shadow: 0 -4px 6px -1px rgba(0, 0, 0, 0.1), 
	0 -2px 4px -1px rgba(0, 0, 0, 0.06);
}

/*------------------------------------------------------------------------------
Scroll to top Button
------------------------------------------------------------------------------*/

.scrollToTopBtn {
	z-index: 150;
	bottom: 6px;
	right: 6px;
	opacity: 0;
	transform: translateY(100px);
	transition: all .5s ease
}
.showBtn {
	opacity: 1;
	transform: translateY(0)
}

/*------------------------------------------------------------------------------
Cookie Banner
------------------------------------------------------------------------------*/

#cookie-banner {
    bottom: 1rem;
    left: 1rem;
    max-width: 300px;
}
@media all and (min-width : 768px) {
    #cookie-banner {
        max-width: 350px;
    }
}

/*------------------------------------------------------------------------------
Modulars
------------------------------------------------------------------------------*/

.heroimg ul,
.text ul,
.feature ul {
	padding-top: 1rem;
}
.heroimg p:empty ~ ul,
.heroimg h2 + ul,
.heroimg h3 + ul,
.heroimg div ul:only-child,
.heroimg ul ul,
.text p:empty ~ ul,
.text h2 + ul,
.text h3 + ul,
.text div ul:only-child,
.text ul ul,
.feature p:empty ~ ul,
.feature h2 + ul,
.feature h3 + ul,
.feature div ul:only-child,
.feature ul ul {
	padding-top: 0;
}
.heroimg li,
.text li,
.feature li {
	list-style-type: disc;
	padding: 0.25rem 0 0 0.25rem;
	margin-left: 1.5rem;
}
.softgarden iframe {
	height: 484px;
	width: 100%;
}
.projects li,
.service-projects li {
	color: #111c24;
	list-style-type: disc;
	padding: 0.25rem 0 0 0.25rem;
	margin-left: 1.5rem;
}
.recent-blog-posts a p {
    color: #111c24;
}
.services a div.opacity-0,
.services a p {
    transition: opacity 0.3s cubic-bezier(0.4, 0, 1, 1);;
}
.services a:hover div.opacity-0 {
    opacity: 1;
}

/* Media Queries -------------------------------------------------------------*/
@media all and (max-width : 1023px) {
    div.heroimg {
        min-height: 400px !important;
    }
}
@media all and (max-width : 767px) {
	.softgarden iframe {
		height: 1016px;
	}
    div.heroimg,
    .feature div.bg-cover {
        min-height: 240px !important;
    }
}
@media (min-width: 768px) {
    .feature > div {
        flex-basis: 50%;
    }
}

/*------------------------------------------------------------------------------
Blog
------------------------------------------------------------------------------*/

.blog .date-wrapper {
	right: 1rem;
	text-align: right;
	top: 2.5rem;
}
.blog p,
.blog ul {
    padding-bottom: 0.75rem;
}
.blog li {
	list-style-type: disc;
	padding: 0.25rem 0 0 0.25rem;
	margin-left: 1.5rem;
}
.blog .tags a.active {
    background-color: #025b9b;
    color: #fff;
}
.blog ul.archives {
    padding: 0;
}
.blog .archives li {
    list-style-type: none;
    margin-left: 0;
    padding: 0;
}

/*------------------------------------------------------------------------------
WUD Programm
------------------------------------------------------------------------------*/

/* Table ---------------------------------------------------------------------*/
table.wud-prog-table {
	display: none;
	width: 100%;
}
table.wud-prog-table tr th, 
table.wud-prog-table tr td {
	border: 2px solid #fff !important;
	padding: 16px;
	text-align: center;
}
.bg-greylight .wud-prog-table tr th, 
.bg-greylight table.wud-prog-table tr td {
	border: 2px solid #ebedf0 !important;
}
table.wud-prog-table tr td {
	color: #fff;
	font-size: 18px;
	font-weight: 700;
}
table.wud-prog-table tr td:first-child {
	color: #111c24;
}
table.wud-prog-table p {
	line-height: 1.5;
	padding-bottom: 3px;
}
table.wud-prog-table a {
	color: #fff !important;
    font-size: 15px;
}
table.wud-prog-table a:hover {
	color: #111c24 !important;
}
table.wud-prog-table .event-time,
table.wud-prog-table .event-speaker {
	font-size: 15px;
	font-weight: 300;
}
table.wud-prog-table .bg-gradient {
	background: #33a7b0;
	background: -moz-linear-gradient(-45deg,  #33a7b0 0%, #a4b424 100%);
	background: -webkit-linear-gradient(-45deg,  #33a7b0 0%,#a4b424 100%);
	background: linear-gradient(135deg,  #33a7b0 0%,#a4b424 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#33a7b0', endColorstr='#a4b424',GradientType=1 );
}

.subtitle-line {
	color: #444;
	display: none;
	margin: 2rem 0 2rem 20%;
	overflow: hidden;
	text-align: center;
}
.subtitle-line div {
	display: inline-block;
	position: relative;
}
.subtitle-line div::before {
	margin-right: 1rem;
	right: 100%;
}
.subtitle-line div::after {
	margin-left: 1rem;
	left: 100%;
}
.subtitle-line div::before, 
.subtitle-line div::after {
	content: "";
	position: absolute;
	border-top: 1px solid #a4aeb5;
	top: 50%;
	width: 2000px;
}

/* List (Mobile) -------------------------------------------------------------*/
.wud-prog-list ul {
	list-style-type: none;
}
.wud-prog-list li {
	border-left: 4px solid #CECDCD;
	list-style-type: none;
	margin: 0 0 1.25rem 0;
	padding: 8px 0 8px 20px;
}
.wud-prog-list p {
	font-weight: bold;
	line-height: 1.2;
	padding: 0;
}
.wud-prog-list a {
	font-weight: 400;
}
.wud-prog-list .event-time {
	font-size: 15px;
	margin-bottom: 8px;
}
.wud-prog-list .event-speaker {
	color: #777777;
}
.wud-prog-list .border-gradient {
	border-color: #33a7b0;
	border-image-source: linear-gradient(180deg, #33a7b0, #a4b424);
	border-image-slice: 1;
}

/* Media Queries -------------------------------------------------------------*/
@media only screen and (min-width: 768px) {
	.wud-prog-list {
		display: none;
	}
	table.wud-prog-table {
		display: table;
	}
	.subtitle-line {
		display: block;
	}
}

/*------------------------------------------------------------------------------
Plugin: Form
------------------------------------------------------------------------------*/

.form-label {
	color: #a4aeb5;
}
.form-input-wrapper input,
.form-textarea-wrapper textarea {
	border: 1px solid rgba(164, 174, 181, .5);
	border-radius: 0.125rem;
	padding: 0.75em;
	width: 100%;
}
.form-input-wrapper input:focus,
.form-textarea-wrapper textarea:focus {
	outline: none;
	border-color: #025b9b;
}
.form .notices {
    padding: 1px 1px 1px 10px;
}

/*------------------------------------------------------------------------------
Plugin: Language Selector
------------------------------------------------------------------------------*/

header .language-selector {
	margin: 0 0 0 .75rem!important;
	top: 0;
	transform: none;
}
header .language-selector .btn {
	border: 0;
	line-height: 1.75rem;
	padding: 0 10px;
}
header .language-selector img {
	display: inline-block;
}
.language-selector .dropdown-menu {
	background-color: #ebedf0 !important;
	left: auto !important;
	padding: 4px 0;
	right: 0;
}
.language-selector .dropdown-menu li:hover {
	background-color: #ebedf0 !important;
}
.language-selector .dropdown-menu>li>a {
	color: #111c24 !important;
	padding: 3px 12px;
	transition-property: color;
	transition-duration: 500ms;
	transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
.language-selector .dropdown-menu>li:hover>a {
	color: #025b9b !important;
}

/*------------------------------------------------------------------------------
Plugin: Shortcode Modal
------------------------------------------------------------------------------*/

.jquery-modal.blocker {
	background-color: rgba(17, 28, 36, 0.4);
	z-index: 200;
}
.jquery-modal.blocker .jqmodal {
	box-shadow: 0 10px 15px -3px rgba(0,0,0,0.1),
	0 4px 6px -2px rgba(0,0,0,0.05);
	max-width: 560px;
	padding: 2rem;
}
.jquery-modal.blocker .jqmodal#anfahrt {
	max-width: 734px;
}
.jquery-modal.blocker .jqmodal a.close-modal {
	background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAACXBIWXMAABYlAAAWJQFJUiTwAAABc0lEQVR4nO2ZQWrDMBBFf9tVN6XOOsscKEdIjtCT9AjpkXKAbApZ16GrLsuACyaoqiX9GVHyH5iARMb5L5Y9whBCCCGEEEIIIYQQoo5hvdkN6804HTu2Rq/6d6xC9sMAPM+G9uP59EaqbYEPs6HLeD4NjNr3jCK/cGD8U4nwVJgCXhJjTRIy4VPnquKBVejr8+P4+LR6B7C9mtrauM2X1MuEpy0tgyYARAlR4Q2qABAkRIY36ALQICE6vOEiABUSeoQ33ASgQEKv8AatEcqRCzh9dglvhAhAeUMTEt5wXQJzMsvhmrDwRpgALJMQGt7w3Av8C0KvgAX3gaq2uYUwAQU3wVAJN/8YdL8C/mpy2LvIUlwFLO3wekpwE1Da3vaS4CKgtrfvIYEuoHVjEy2BKoC1q4uUQBPA3tJGSWC2wq+JsaZn+fTdfWIqda4qPPcClEYmI4EC+73AZTqoXdxMwk992nsBIYQQQgghhBBCCHFTAPgGlHwmVeiub/oAAAAASUVORK5CYII=);
	height: 2rem;
	right: 0px;
	top: 0px;
	width: 2rem;
}