/*
Theme Name: Divi Child
Theme URI: https://diviextended.com/
Version: 1.0
Description: Child Theme of Divi
Author: Divi Extended
Template: Divi
*/
@import url("../Divi/style.css");

/*
 Theme Name: Divi Child
 Theme URI: https://www.elegantthemes.com/gallery/divi/
 Description: Divi Child Theme
 Author: Elegant Themes
 Author URI: https://www.elegantthemes.com
 Template: Divi
 Version: 1.0.0
*/
 
/* =Theme customization starts here
------------------------------------------------------- */

/* JFM Custom Styles hier rein!
------------------------------------------------------- */

/*-------- Bessere Darstellung der Bilder in Chrome -------- */

img {
	image-rendering: auto;
	pointer-events: none;
}

#main-header { display:none; }
#page-container { padding-top:0px !important; margin-top:-1px !important; }

/*-------- Video im Banner --------*/

.kus-banner {
	height: 90vh !important;
	padding-top: 100px !important;
	padding-bottom: 100px !important;
}

.kus-banner.et_pb_section {
	display: flex;
}

.kus-banner h1 {
	font-size: clamp(1.875rem, 1rem + 2.9167vw, 4.5rem);
}

/*

.kus-banner p {
	font-size: clamp(1.25rem, 1.1667rem + 0.2778vw, 1.5rem);
}

*/

.kus-banner video {
	position: relative;
	top: 50%;
	transform: translateY(-50%);
}

/*############ Preventing FOUT ############*/
 html {display:block !important;}

/*############################## TYPO ##############################*/

h1 {
	font-size: clamp(2.625rem, 0.6702rem + 3.1915vw, 4.5rem);
	line-height: 1.2;
	color: #000000;
	min-height: 0vw;
	font-weight: 700;
	margin-bottom: 10px;
	letter-spacing: 1px;
}

h2,
.et_post_meta_wrapper h1 {
	font-size: clamp(40px, calc(2.1875rem + ((1vw - 4.8px) * 1.0417)), 80px) !important;
	color: #000000 !important;
	min-height: 0vw;
	font-weight: 700;
	margin-bottom: 10px;
	letter-spacing: 1px;
	line-height: 1.2;
}

h3,
.et_pb_column_1_3 h3,
h4.item-title {
	font-size: clamp(23px, calc(1.875rem + ((1vw - 4.8px) * 0.6944)), 35px) !important;
	min-height: 0vw;
	font-weight: 700;
	line-height: 1.3;
}

h4,
.et_pb_column_1_3 h4,
h6.item-subtitle {
	font-size: clamp(16px, calc(1rem + ((1vw - 4.8px) * 0.4861)), 20px) !important;
	min-height: 0vw;
	font-weight: 700;
	line-height: 1.3;
}

h5,
.et_pb_column_1_2 h5,
.et_pb_column_1_3 h5 {
	font-size: clamp(20px, calc(1.875rem + ((1vw - 4.8px) * 0.6944)), 23px) !important;
	min-height: 0vw;
	font-weight: 700;
	line-height: 1.3;
}

p, ul, li, .mec-event-content p {
	font-weight: 400;
	font-size: clamp(16px, calc(1rem + ((1vw - 4.8px) * 0.4861)), 20px);
    min-height: 0vw;
	line-height: 1.7;
}

/* cutive-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Cutive';
  font-style: normal;
  font-weight: 400;
  src: url('fonts/cutive-v23-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

body, h1, h2, h3, h4, h5, h6, p, a {
	font-family: 'Cutive' !important;
	hyphens: auto;
	-moz-hyphens: auto;
	-webkit-hyphens: auto;
	-ms-hyphens: auto;
	hyphenate-limit-chars: 8 3 4;
	-webkit-hyphenate-limit-before: 3;
	-webkit-hyphenate-limit-after: 4;
	word-break: initial;
	overflow-wrap: initial;
}

/*

#page-container p a {
  position: relative;
  overflow: hidden;
  text-decoration: none;
  color: #ffffff;	
}

#page-container p a::after {
  content: "";
  background: rgba(253, 195, 0, 0.35);
  position: absolute;
  left: 12px;
  bottom: -6px;
  width: calc(100% - 6px);
  height: calc(100% - 6px);
  z-index: -1;
  transition:
  left 0.35s cubic-bezier(0.25, 0.1, 0, 2.05),
  bottom 0.35s cubic-bezier(0.25, 0.1, 0, 2.05),
  background-color 0.35s ease;
}

#page-container p a:hover::after {
  background: rgba(253, 195, 0, 1);		
  left: -5px;
  bottom: -2px;
  width: 110%;
  height: 110%;
  transform: rotate(-1deg);
}

*/

/*############################## SECTIONS ##############################*/

/*############ General Sections CSS ############*/

.et_pb_section {
	padding-top: 70px;
	padding-bottom: 125px;
}

.kus-full-content {
	min-width: 100% !important;
}

.kus-small-content {
	max-width: 1200px;
	margin: auto;
}

.kus-no-padding-top {
	padding-top: 0px !important;
}

.kus-no-padding-bottom {
	padding-bottom: 0px !important;
}

.kus-smaller-content {
	max-width: 960px !important;
}

.kus-1-3-columns p {
	font-size: clamp(16px, calc(1rem + ((1vw - 4.8px) * 0.4861)), 20px) !important;
	line-height: 1.8;
}

.kus-seperator {
	margin-top: 100px;
}

.et_pb_section.kus-main-section {
	background-color: #000000;
}

.et_pb_section.kus-alterna-section {
	background-color: #141414;
}

/*######################## Elements ########################*/

/*############ Scrollleiste ############*/

/* Breite der Scrollbar */
::-webkit-scrollbar {
  width: 8px;
}

/* Track (Hintergrund der Scrollbar) */
::-webkit-scrollbar-track {
  background: #000000; /* Grau */
}

/* Thumb (das bewegliche Element) */
::-webkit-scrollbar-thumb {
  background: #CC0000; /* Gelb */
  border-radius: 2px;
}

/*############ DJ Grid ############*/

#kus-dj-grid.et_pb_section {
	padding: 0px;
	width: 100%;
}

#kus-dj-grid.et_pb_section .et_pb_row {
	padding: 0px;
	max-width: 100%;
	width: 100%;
	overflow: hidden !important;
}

#kus-dj-grid.et_pb_section .et_pb_row .et_pb_column {
	margin-right: 0 !important;
	aspect-ratio: 1 / 1 !important;
	overflow: hidden !important;
	transition: transform 0.3s ease;
	width: 33.3%;
}

#kus-dj-grid.et_pb_section .et_pb_row .et_pb_column::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  pointer-events: none;
  transition: 0.3s;
  z-index: 1;
}

#kus-dj-grid.et_pb_section .et_pb_row .et_pb_column:hover::before {
  background: rgba(247, 166, 0, 0.5);
  transition: 0.3s;
}

#kus-dj-grid.et_pb_section .et_pb_row .et_pb_column:hover {
	transform: scale(1.1); 
	overflow: hidden !important;
}

#kus-dj-grid.et_pb_section .et_pb_row .et_pb_column .et_pb_module {
	display: flex;
    flex-direction: column;
    justify-content: center;
    height: 100%;
}

#kus-dj-grid.et_pb_section .et_pb_row .et_pb_column .et_pb_module h3 {
	color: #fff;
}

/*############ Full width Image Grid ############*/

.kus-full-width-image-grid,
.kus-full-width-image-grid .et_pb_row,
.kus-full-width-image-grid .et_pb_gallery_item {
	padding: 0px !important;
	margin: 0px !important;
}

.kus-full-width-image-grid .et_pb_grid_item {
	width: 25% !important;
	margin: 0%;
}

/*############ Akkoredeon ############*/

.kus-akkordeon .et_pb_toggle {
border: none;
    border-radius: 5px;
    padding-top: 20px;
    padding-bottom: 20px;
    padding-left: 30px;
    padding-right: 30px;
    font-size: clamp(20px, calc(1.25rem + ((1vw - 4.8px) * 0.1389)), 22px) !important;
    background-color: #fdc300;
}

.kus-akkordeon .et_pb_toggle_open {
	background-color: #f7a600;
}

.kus-akkordeon .et_pb_toggle_open .et_pb_toggle_title, 
.kus-akkordeon .et_pb_toggle_open h5.et_pb_toggle_title,
.kus-akkordeon .et_pb_toggle_close .et_pb_toggle_title, 
.kus-akkordeon .et_pb_toggle_close h5.et_pb_toggle_title {
	color: #f2f2f2;
}

.kus-akkordeon .et_pb_toggle_title:before {
	color: #ffffff;
}

/*############ Events Carousel ############*/

.kus-events-carousel .dica_divi_carouselitem {
	border-radius: 5px;
	overflow: hidden;
}

.kus-events-carousel .swiper-pagination {
	margin-top: 10px;
}

.kus-events-carousel .item-subtitle,
.kus-events-carousel .item-title {
	padding: 25px; 
}

.kus-events-carousel .item-subtitle {
	padding-top: 0px; 
}

.kus-events-carousel .et_pb_button {
	width: 100%;
}

.kus-events-carousel .et_pb_button {
	color: #ffffff;
	height: 55px;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
}

/*############ Contact-Icons ############*/

@font-face {
  font-family: 'fontello';
  src: url('fonts/fontello.woff2') format('woff2');
  font-weight: normal;
  font-style: normal;
}

.kus-phone:before {
    content: '\e800';
    display: inline-block;
    padding-left: 10px;
    font-family: "fontello";
    transform: translateY(5px);
	color: #fff;
	transform: scaleX(-1);
    -moz-transform: scaleX(-1);
    -webkit-transform: scaleX(-1);
    -ms-transform: scaleX(-1);
}

.kus-mail:before {
    content: '\e801';
    display: inline-block;
    padding-right: 10px;
    font-family: "fontello";
    color: #fff;
}

/*############ Footer ############*/

.et-l--footer,
.et-l--footer h3,
.et-l--footer a {
	color: #2f2f2f !important;
}

.et-l--footer #kus-pre-footer {
	padding: 0px !important;
}

.et-l--footer #kus-footer {
	padding-top: 80px;
	padding-bottom: 40px;
	background-color: #f7a600;
}

.et-l--footer #kus-footer-meta {
	padding: 0px !important;
	color: #2f2f2f !important;
	background-color: #fff;
	height: 10vh;
	display: flex;
}

.et-l--footer #kus-footer-meta .et_pb_row {
	padding: 0px !important;
}

/*

.et-l--footer a:before {
    content: "";
    position: absolute;
    z-index: -2;
    left: 0;
    right: 100%;
    bottom: 50%;
    background: #ca1517;
    height: 3px;
    -webkit-transition-property: right;
    transition-property: right;
    -webkit-transition-duration: 0.4s;
    transition-duration: 0.4s;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out;
}

.et-l--footer a:hover:before {
	right: 0;
}

*/

/*############ Responsive ############*/

@media only screen and (max-width: 980px) {
  .kus-video-banner {
	  height: 50vh;
  }
  #kus-footer-logo {
	  width: 75% !important;
	}
  #kus-dj-grid.et_pb_section .et_pb_row .et_pb_column {
	margin-bottom: 0px;
    }
	.kus-full-width-image-grid .et_pb_grid_item {
		width: 50% !important;
	}
}

@media only screen and (max-width: 480px) {
  .kus-video-banner {
	  height: 50vh !important;
  }
  #kus-footer-logo {
	  width: 75%;
	}
	.kus-full-width-image-grid .et_pb_grid_item {
		width: 100% !important;
	}
}