*{font-family: Raleway, sans-serif; color: #1c1f2d; font-size: 15px; line-height: 21px;  margin:0; padding:0;}

body{padding:100px 0 0;}

h2 {box-shadow: inset 0 -22px 0 0 rgb(246 164 22 / 60%); font-size: 50px; line-height: 52px; font-weight: 800; display: inline-block; margin-bottom:20px; width:min-content;}
h3 {font-size:24px; line-height:30px; font-weight:800; margin-bottom:10px;}
p {margin-bottom:20px;}
a{text-decoration:none; color: #f6a416; transition: all 0.2s ease;}
a:hover{background:#1c1f2d; color:#ffd58d; transition: all 0.2s ease;}

.container{padding:0 10%;}
.container_inner{padding:0 20%;}

.floatend{clear:both;}

.kopf_menu{background:#fff; position:fixed; width:100%; top:0; z-index:999; border-bottom: 1px solid rgba(97, 87, 153, 0.1);}
.logo{float:left; padding-top:10px; transition:all 0.2s ease;}
.logo:hover{background:none; opacity:0.8; transition:all 0.2s ease;}
.logo img{width:140px;}
.hauptmenu{float:right; display:flex; align-items:center; padding:20px 0;}
.hauptmenu_wrap{display:flex; margin-block:0; margin-inline:0; padding-inline:0;}
.hauptmenu li{list-style:none; position:relative;}
.toggle_button{display:none;}

.menuitem.first a, .menuitem.first span{padding: 20px;  border-radius: 30px; cursor:pointer; margin-left:4px; text-decoration:none; font-size:16px; font-weight:400; color:#1c1d2d;}
.menuitem.first a:hover, .menuitem.first span:hover{background: rgba(255, 173, 31, 0.3);}
.menuitem a.w--current{color: #f6a416;}

.hauptmenu ul.submenu {display:block; position:absolute; background:#fff; top:40px; min-width:100%;}
.menuitem.second a{display:block; color: #1c1f2d; padding:10px 20px; transition: all 0.2s ease; border-radius:initial;margin-left:0;}
.menuitem.second a:hover{background:#1c1d2d; color: #fff; transition: all 0.2s ease;  color:#f6a416;}

.contact_24h{padding: 20px; background: rgba(246, 164, 22, 0.6); border-radius:30px; margin-left:4px; color:#fff; cursor:pointer; transition: all 0.2s ease;}
.contact_24h:hover{background: rgba(246, 164, 22, 1); transition: all 0.2s ease;}

.contact_24h_inner.inactive {display: none;}
.contact_24h_inner{position:absolute; top:0; left:0; bottom:0; right:0; background: #f6a416; z-index:999; height:100vh; }
.contact_wrapper{padding: 0 10%; text-align:center; margin-top:calc(50vh - 120px);}
.contact_wrapper .contact_head{color:#fff; font-size:80px; line-height:74px; }
.contact_wrapper .contact_link{display:block; font-size:50px; line-height:36px; font-weight:800; text-decoration:none;margin:20px 0 10px; transition: all 0.2s ease; color:#1c1f2d;}
.contact_wrapper .contact_link:hover{color:#fff; transition: all 0.2 ease;}
.contact_close{position:fixed; top:60px; right:40px; cursor:pointer;}

.content_iconlist{padding:100px 0; border-bottom: 1px solid rgba(97, 87, 153, 0.1);}
.grid_twice{display:grid; grid-template-columns:1fr 1fr; gap:60px 20px;}
.iconlist_wrapper {display: grid; grid-template-columns: 1fr 1fr 1fr 1fr; gap: 30px; margin-top:60px;}
.icon_col{text-align:center;}
.icon_col img{margin-bottom:20px;}
.icon_description{font-weight:800; font-size:18px; line-height:24px;}

.call_to_action{background:rgba(97, 87, 153, 0.1); padding:115px 0; text-align:center;}
.call_to_action .headline{font-size:50px; line-height:36px; font-weight:800; margin-bottom:10px;}
.call_to_action .subhead{font-size:24px; line-height:30px; margin-top:20px; font-weight:800; margin-bottom:10px; }
.call_to_action .hint{margin-top:20px;}

.button{color: #1c1f2d; margin-top:10px;  padding: 20px 30px; border: 2px solid #1c1f2d; display:inline-block; border-radius:30px; font-size:19px; transition: all 0.2s ease; text-decoration:none; font-weight:600;}
.button:hover{background:#1c1f2d; color:#fff; transition:all 0.2s ease;}

footer{background: #1c1f2d; padding-top:60px;}
.footer_wrapper {display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 40px; border-bottom: 1px solid rgba(255, 255, 255, 0.15); padding-bottom: 40px;}
footer h4{font-weight:800; color:#c4c7d9; margin-bottom:20px;}
footer p{color:#c4c7d9;}
footer a{color:#f6a416; text-decoration:none;}
img.zertifikat{width:200px; padding:5px; }
img.zertifikat:hover{background:#d0d2da; border-radius:8px;}
.footer_bottom{text-align:center; padding:10px 0 30px; color:#d0d2da;}
.foot_button {display: block; padding: 10px 0; border-bottom: 1px solid rgba(255, 255, 255, 0.15);}
.foot_button:hover{color:#ffd58d; border-bottom:1px solid rgba(172, 179, 212, 0.5);}
.social_media{margin-top:20px;}
.dynamo-freund{display:block; margin-left:auto;}

.service_overview{padding:100px 0; text-align:center; background-position: 50% 0%; background-size: cover; background-repeat: repeat-y; background-attachment: scroll; }
.service_list{margin-top:100px;}
.service_wrap{display:grid; grid-template-columns:1fr 1fr; gap:100px; align-items:center; margin-bottom:60px;}
.service_img img{width:100%;}
.service_content{text-align:left;}
.service_button{color:#f6a416; padding: 14px 20px; border:2px solid #f6a416; font-weight:600; border-radius:30px; text-decoration:none; display:inline-block; transition: all 0.2s ease;}
.service_button:hover{background:#f6a416; color:#fff; transition: all 0.2 ease;}

.slider_wrapper{background:rgba(97, 87, 153, 0.1); padding-bottom:100px;}
.slider{position:relative; height:700px;}
.w-slider-mask{position:relative; display:block; overflow:hidden; z-index:1; height:100%; white-space:nowrap;}
.slide{background-position:50% 50%; background-size:cover; background-repeat:no-repeat; height:700px; position:relative; display:inline-block; white-space:normal; width:100%;}
.slide_content{position:absolute; right:140px; top:300px; padding:40px; max-width:calc(100% - 400px);}
.slide_content h1{color:#fff; font-size:80px; line-height:74px; font-weight:400;margin-bottom:20px;}
.slide_content p{color:#fff; width:300px; font-size:16px; max-width:100%;}
.w-slider-aria-label {display: none;}
.w-slider-dot {width: 14px; height: 14px; background: rgba(255, 255, 255, 0.4); display: inline-block; border-radius: 14px; cursor:pointer;}
.w-slider-dot.w-active{background: rgba(255, 255, 255, 1);}
.w-slider-nav.w-round { position: absolute; bottom: 20px; left: 0; right: 0; text-align: center; z-index:2;}

.left-arrow {position: absolute; width: 80px; background: none; left: 0; top: 0; bottom: 0; z-index: 2; transition: all 0.2s ease; cursor: pointer;}
.right-arrow {position: absolute; width: 80px; background: none; right: 0; top: 0; bottom: 0; z-index: 2; transition: all 0.2s ease; cursor: pointer;}
.left-arrow:hover, .right-arrow:hover{background:rgba(255, 255, 255, 0.4); transition: all 0.2s ease;}


.kopfbild{background: rgba(97, 87, 153, 0.1); padding-bottom:100px;}
.kopfbild_grid{display:grid; grid-template-columns:1fr 1fr;  align-items: center;   background-color:#1c1f2d;}
.kopfbild_grid .img_col{background-position:50% 50%; background-size:cover; background-repeat: no-repeat;min-height:700px; }
.kopfbild_grid .content_col{ padding:60px 85px; }
.kopfbild h1{margin-bottom: 30px; color: #f6a416; font-size: 40px; font-weight:400; line-height:36px;}
.kopfbild p{font-size: 20px; line-height:26px; font-weight:200; color: #fff;}

.content_with_icon{padding:60px 0; border-bottom: 1px solid rgba(172, 179, 212, 0.5);}
.content_with_icon_col {padding-right: 20%;}
.content_with_icon_col .icon {margin-bottom: 20px;}

.ansprechpartner_wrap{padding: 60px 0;}
.ansprechpartner_wrap h2{margin-bottom: 60px;}
.ansprechpartner a{text-decoration:none; color: #f6a416; transition: all 0.2s ease;}
.ansprechpartner a:hover{background:#1c1f2d; color:#ffd58d; transition: all 0.2s ease;}

.kontakt{padding:100px 0; background: rgba(97, 87, 153, 0.1);}
.kontakt h2{margin-bottom:40px;}
.kontakt .hint{font-style:italic;}
.kontaktform{margin-top:40px;}
.kontaktform .grid_twice{margin-bottom:20px;}
.kontaktform label{display:block; font-weight:800; margin-bottom: 5px;}
.kontaktform input[type=text], .kontaktform input[type=email] {width:100%; border: 1px solid #ccc; padding: 8px 12px; margin-bottom:10px;}
.kontaktform textarea{width: 100%; height: 60px; padding: 8px 12px; margin-bottom: 30px;}
.kontaktform button{color: #1c1f2d; margin-top:10px;  padding: 20px 30px; border: 2px solid #1c1f2d; display:inline-block; border-radius:30px; font-size:19px; transition: all 0.2s ease; text-decoration:none; font-weight:700; background:none;}
.kontaktform button:hover{background:#1c1f2d; color:#fff; transition:all 0.2s ease;}
.success{margin-top:40px;}

.content_one{padding:60px 0; border-bottom:1px solid rgba(97, 87, 153, 0.1);}

.jobs_overview{text-align:center; padding: 60px 0;}
.jobs_grid {display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 0px; margin: 60px 0;}
.job_col{padding:60px; transition: all 0.3s ease;}
.job_col:hover{background: rgba(246, 164, 22, 0.2); }
.job_col_content{min-height:150px;}
.job_col .button{display:block; width: fit-content; margin:20px auto;}
.job_button{background: rgba(246, 164, 22, 0.6); color:#fff; border:none;}
.job_button:hover{background:rgba(246, 164, 22, 1);}

.job_detail{padding-bottom:40px;}
.job_headline{padding:60px 0; text-align:center;}
.job_headline h1{box-shadow: inset 0 -22px 0 0 rgb(246 164 22 / 60%); font-size: 50px; line-height: 52px; font-weight: 800; display: inline-block; margin-bottom:20px; max-width:50%;}
.job_detail .button{display:block; max-width:fit-content; margin: 40px auto 0;}

.referenz-liste {display: grid; grid-template-columns: repeat(4, 1fr); align-items: center; gap: 40px;}
.referenz-img {max-width: 200px; margin: auto; display: block;}

.content-galery{margin-top:60px;}
.galery-grid {display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px;}
.referenz-link {height: 200px; background-size: cover; background-position: 50%;}
.referenz-link:hover{transition:initial; background-size:cover; background-position:50%;}

@font-face{font-family:'icomoon';font-display: swap;src:url('/assets/resources/font/icomoon.eot?-qk6xo1');src:url('/assets/resources/font/icomoon.eot?#iefix-qk6xo1') format('embedded-opentype'),
url('/assets/resources/font/icomoon.woff?-qk6xo1') format('woff'),
url('/assets/resources/font/icomoon.ttf?-qk6xo1') format('truetype'),
url('/assets/resources/font/icomoon.svg?-qk6xo1#icomoon') format('svg');font-weight:normal;font-style:normal;}

.menuitem.first span:after,
.left-arrow:after,
.right-arrow:after,
.contact_close:after,
.facebook:before,
.instagram:before,
.toggle_button:before{font-family: 'icomoon'; speak: none; font-style: normal; font-weight: normal; font-variant: normal; text-transform: none; line-height: 1;    -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;}

.menuitem.first span:after {content:'\e901'; margin-left:8px; font-weight:bold;}
.left-arrow:after {content: '\e902'; font-size: 40px; top: calc(50% - 20px); position: absolute; left: 18px; color:#fff;}
.right-arrow:after {content: '\e903'; font-size: 40px; top: calc(50% - 20px); position: absolute; right: 18px; color: #fff;}
.contact_close:after{content:'\e908'; padding:20px; font-size:50px; border:2px solid #fff; color:#fff; transition:all 0.2s ease;}
.contact_close:hover:after{background:#1c1d2d; border-color:#1c1d2d; transition:all 0.2s ease; cursor:pointer;}

.facebook:before{content:'\ea91'; color: #c4c7d9; font-size:24px; margin: 0 8px; transition: all 0.2s ease;}
.instagram:before{content:'\ea92'; color: #c4c7d9; font-size:24px; margin:0 8px; transition: all 0.2s ease;}
.facebook:hover:before, .instagram:hover:before{color:#fff; transition: all 0.2s ease;}

.toggle_button:before{content:'\e905'; font-size:30px; margin-left:25px;}

@media(max-width:1600px){
	.referenz-liste{grid-template-columns:repeat(3, 1fr);}
	.galery-grid {grid-template-columns:repeat(3, 1fr);}
}

@media (max-width: 1200px){
	.container_inner{padding: 0 16%;}
	.slide_content{width:calc(100% - 360px); right:80px;}
	.slide_content h1{font-size: 60px; line-height:54px;}
	
}

@media (max-width:1023px){
	.container{padding:0 5%;}
	.container_inner{padding:0 10%;}
	.slide_content{padding:20px; width:60%;}
	.hauptmenu_wrap{display:none; position:absolute; top:100px; background:#fff; left:0; right:0; text-align:center; padding-bottom:30px; border-bottom:1px solid rgba(97, 87, 153, 0.1);}
	.menuitem{padding:10px;}
	.hauptmenu ul.submenu{position:relative; background: rgba(97, 87, 153, 0.1); top:initial; margin-top: 20px;}
	.menuitem.first a:hover, .menuitem.first span:hover{background:initial;}
	.toggle_button{display:block;}
	
	.kopfbild_grid .content_col{padding:50px; }
	.kopfbild h1{font-size:30px; line-height:26px;}
	.kopfbild p{font-size:18px; line-height:24px;}
	
	.jobs_grid{grid-template-columns:1fr 1fr;}
	.job_col{padding:40px;}
	.job_headline h1{max-width:initial;}
}

@media (max-width:920px){
	.slide_content h1{font-size: 50px; line-height:44px;}
	.iconlist_wrapper{grid-template-columns:1fr 1fr; row-gap:60px;}
	
	.footer_wrapper{grid-template-columns: 1fr 1fr; gap:60px;}
	.col_footmenu{grid-column-start:1; grid-column-end:3;}
	
	.content_with_icon_col { padding-right: 10%;}
	
	.referenz-liste{grid-template-columns:repeat(2, 1fr); gap:40px;}
	.galery-grid {grid-template-columns:repeat(2, 1fr); gap:40px;}
	.referenz-img{max-width:100%;}
}

@media (max-width:768px){
	
	.slider{height: calc(100vh - 150px);}
	.slider_wrapper{padding-bottom:50px;}
	.slide{height: calc(100vh - 150px);}
	
	.slide_content{right: initial; top:30%; left: 30%; max-width:calc(70% - 120px);}
	
	.slide_content{width:100%;}
	.slide_content h1{font-size: 40px; line-height:34px;}
	
	.grid_twice{grid-template-columns:1fr;}
	
	.service_list{margin-top:20px;}
	.service_wrap{grid-template-columns:1fr; gap:20px;}
	.service_wrap .service_img{grid-row-start:1;}
	.service_wrap .service_content{grid-row-start:2;}
	
	.call_to_action .headline{font-size:40px; line-height:38px;}
	
	h2{font-size:36px; line-height:32px; box-shadow:inset 0 -14px 0 0 rgb(246 164 22 / 60%);}
	
	.contact_wrapper .contact_head{ font-size:60px; line-height:54px; }
	.contact_wrapper .contact_link{font-size:35px; line-height:21px; }
	
	.kopfbild_grid{grid-template-columns:1fr;}
	.kopfbild_grid .img_col{min-height:300px;}
	
	.content_with_icon{border:none; padding:0;}
	.content_with_icon .grid_twice{gap:0;}
	.content_with_icon_col{padding: 30px 0 20px;}
	
	.jobs_grid{grid-template-columns:1fr;}
	.job_col{min-height:initial; padding:20px;}
	
}

@media (max-width:600px){
	.footer_wrapper{display:block;}
	.footer_wrapper .col{margin-bottom:40px;}
	
	.slide_content{ top:30%; left: 80px; right:80px; padding:0; width:calc(100% - 160px); max-width:calc(100% - 160px);}
	.slide_content h1{font-size: 34px; line-height: 28px;}
	
	.contact_close:after{font-size:30px;}
	.contact_wrapper .contact_head{ font-size:40px; line-height:34px; }
	.contact_wrapper .contact_link{font-size:25px; line-height:11px; }
	
	.call_to_action .headline {font-size: 30px; line-height: 24px;}
	
	
	
}

@media(max-width:420px){
	body{padding:98px 0 0;}
	.contact_24h{padding:15px;}
	.logo{padding-bottom:10px;}
	.hauptmenu_wrap{top:92px;}
	
	.slide_content h1{font-size: 26px; line-height: 20px;}
	
	.contact_wrapper{padding: 0 5%;}
	.contact_wrapper .contact_head{ font-size:35px; line-height:29px; }
	.contact_wrapper .contact_link{font-size:20px; line-height:6px; }

	h2 {font-size: 28px; line-height: 24px; box-shadow: inset 0 -10px 0 0 rgb(246 164 22 / 60%);}
	h3{font-size:18px; line-height:24px;}
}
