/*
Theme Name: SWDC
Theme URI: https://www.kocmoc.net/
Author: KOCMOC
Description: Child theme for b9p-blank
Version: 1.0.0
Template: wp-b9p-blank-theme-master
Tested up to: 5.4
Requires PHP: 5.6
Text Domain: SWDC
*/

body, html {
	margin: 0 !important;
	overflow-x: hidden;
}

.home-last-section .elementor-container,
.footer-section .elementor-container,
.company-section .elementor-container,
.mitmachen-loop-section-main .elementor-container,
.mitmachen-loop-section .elementor-container {
	max-width: 100% !important;
}

/* Main menu */
.main-menu-section.hide {
	background-color: transparent !important;
}

.main-menu-section .elementor-widget-theme-site-logo.hide {
	opacity: 0 !important;
}

.menu-close-popup.hide,
.menu-open-popup.hide {
	display: none !important;
}

.main-menu-popup li {
	display: block !important;
}

.main-menu-popup .menu-item-has-children .sub-arrow {
	transition: transform 0.5s;
	margin: 10px 0 0 40px;
    padding: 0;
}

.main-menu-popup .menu-item-has-children:hover .sub-arrow {
	transform: rotate(90deg);
}

.main-menu-popup .menu-item-has-children ul {
	transition: display 1s;
}

.main-menu-popup .menu-item-has-children ul li {
	margin-left: 20px !important;
}

.main-menu-popup .menu-item-has-children:hover ul {
	display: contents !important;
}

.main-menu-popup .sub-arrow {
	background-image: url(/wp-content/uploads/2023/05/menu_dropdown_arrow-svg.svg);
    background-repeat: no-repeat;
	background-size: 40px;
    background-position: bottom;
    margin-top: 5px !important;
}

@media (max-width: 767px){
	.main-menu-popup .sub-arrow {
		background-size: 25px;
	}
}

.main-menu-popup .sub-arrow i {
	opacity: 0;
}

@media (max-width: 1024px){
	#elementor-popup-modal-220 {
		position: fixed !important;
	}
}

/* Homepage */
.homepage-logo {
	position: absolute !important;
    top: -90vh;
}
@media (max-width: 1550px) {
	.homepage-logo {
		top: -80vh;
	}
}

.menu-home-popup {
	position: absolute !important;
    top: -57vh;
    padding-right: 25px;
}

.home-mitmachen-posts article {
	min-height: 300px;
	background-repeat: no-repeat;
    background-size: contain;
	background-position: center;
	transition: background-size 1s;
}
@media (max-width: 767px) {
	.home-mitmachen-posts article {
		min-height: 200px;
	}
}

.home-mitmachen-posts article:nth-child(1) {
	background-image: url(/wp-content/uploads/2023/05/SWDC_Home_MM_01.svg);
}

.home-mitmachen-posts article:nth-child(2),
.home-mitmachen-posts article:nth-child(4) {
	background-image: url(/wp-content/uploads/2023/05/SWDC_Home_MM_02.svg);
}

.home-mitmachen-posts article:nth-child(3) {
	background-image: url(/wp-content/uploads/2023/05/SWDC_Home_MM_03.svg);
}

.home-mitmachen-posts article:nth-child(4) {
	background-image: url(/wp-content/uploads/2023/05/SWDC_Home_MM_04.svg);
}

.home-mitmachen-posts article:hover {
	background-image: none;
}

.home-mitmachen-posts article .elementor-post__text {
	align-items: center !important;
    display: grid !important;
}

.newsletter--container {
	background-position: -3% 50% !important;
}
@media (max-width: 767px) {
	.newsletter--container {
		background-position: bottom -10px right -10px !important;
	}
}

/* Marquee */
.home-marquee {
    width: 100%;
    background-color: #96E1FA;
    font-size: 42px;
    padding: 10px 0 0;
}
.home-marquee.company {
    background-color: #C3EC4B;
	border: solid;
    border-width: 1px 0px;
    border-color: black;
}
.home-marquee .event {
	background-image: url(/wp-content/uploads/2023/04/pfeil.svg);
    background-repeat: no-repeat;
    padding-left: 60px;
}
.home-marquee .event .date {
	font-weight: 500;
}

/* Home calendar */
.elementor-widget-dates-of-events .items .no-results {
	padding: 0px 120px 0px 80px;
}
@media (max-width: 767px) {
	.elementor-widget-dates-of-events .items .no-results { 
		padding: 0px 36px 0px 36px;
	}
}

.homepage-calendar .item.row,
.posts-calendar .item.row {
	border: solid 1px;
	border-left: 0;
	border-right: 0;
	display: flex;
	background-image: url(/wp-content/uploads/2023/05/event_lg_bg.svg);
    background-size: 600px;
    background-repeat: no-repeat;
    background-position: bottom right -600px;
	transition: background-position 1s;
}

.homepage-calendar .item.row:hover {
    background-position: bottom right;
}

.homepage-calendar .item.row .col-1 {
	width: 35%;
	background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
	transition: width 1s;
}

.homepage-calendar .item.row:hover .col-1  {
	width: 45%;
}

.homepage-calendar .item.row .col-2 {
	width: 45%;
	padding: 35px 20px;
}
@media (max-width: 1200px) {
	.homepage-calendar .item.row .col-2 {
		width: 65%;
	}
}

.homepage-calendar .item.row .col-2 .first {
	font-size: 22px;
    line-height: 28px;
    margin-bottom: 20px;
}

.homepage-calendar .item.row .col-2 .first .period .endtime {
	background-image: url(/wp-content/uploads/2023/05/SWDC-arrow-dates.svg);
    background-repeat: no-repeat;
    background-size: 20px;
    background-position: left center;
    padding-left: 25px;
}

.homepage-calendar .item.row .col-2 .second {
	font-size: 40px;
    line-height: 44px;
    margin-bottom: 20px;
}

.homepage-calendar .item.row .col-2 .second a {
    line-height: 44px;
}

.homepage-calendar .item.row .col-2 .third {
	font-size: 24px;
    line-height: 28px;
}

.homepage-calendar .item.row .col-3 {
	width: 20%;
	padding: 35px 80px 20px 10px;
}

@media (max-width: 1200px) {
	.homepage-calendar .item.row .col-3 {
		display: none;
	}
}

.homepage-calendar .item.row .col-3 .first {
	font-weight: 500;
	font-size: 20px;
    line-height: 28px;
    margin-bottom: 20px;
}

.homepage-calendar .item.row .col-3 .first .categories {
	background-color: #C3EC4B;
    padding: 5px 10px;
}

.homepage-calendar .item.row .col-3 .first .categories.mittazen {
	background-color: #96e1fa;
}

.homepage-calendar .item.row .col-3 .second,
.homepage-calendar .item.row .col-3 .second a {
	font-size: 24px;
    line-height: 28px;
    margin-bottom: 20px;
}

.homepage-calendar .item.row .col-3 .second .link-single a {
	background-image: url(/wp-content/uploads/2023/05/SWDC-arrow-link.svg);
    background-repeat: no-repeat;
    background-size: 25px;
    background-position: right;
    padding-right: 30px;
}

.homepage-calendar.mobile .items .item.row {
	display: block;
}

.homepage-calendar.mobile .items .item.row .col-1 {
	height: 240px;
    width: 100%;
}

.homepage-calendar.mobile .items .item.row .col-2 {
	width: 100%;
	font-size: 14px;
	line-height: 20px;
	font-weight: 400;
}

.homepage-calendar.mobile .items .item.row .col-2 .second {
	font-size: 40px;
    line-height: 44px;
	font-weight: 800 !important;
	margin-top: 10px;
}

.homepage-calendar.mobile .items .item.row .col-2 .second .link-single a {
	font-size: 24px;
    line-height: 24px;
    background-image: url(/wp-content/uploads/2023/05/SWDC-arrow-link.svg);
    background-repeat: no-repeat;
    background-size: 20px;
    background-position: top 6px right;
    padding-right: 25px;
}

.homepage-calendar.mobile .item.row .col-2 .first,
.homepage-calendar.mobile .item.row .col-2 .third {
    font-size: 16px;
    line-height: 28px;
    margin-bottom: 10px;
	font-weight: 800 !important;
}

.homepage-calendar.mobile .item.row .col-2 .first .period .endtime {
    background-size: 15px;
    background-position: left 3px top 3px;
}

.veranstaltungen-button a {
	background-image: url(/wp-content/uploads/2023/05/SWDC-arrow-link.svg);
    background-repeat: no-repeat;
    padding-left: 48px;
    background-size: 36px;
    background-position: left;
}
@media (max-width: 1550px) {
	.veranstaltungen-button a {
		background-size: 30px;
		background-position: left;
	}
}
@media (max-width: 767px) {
	.veranstaltungen-button a {
		background-size: 20px;
		background-position: left 20px;
	}
}

/* Calendar page */
.homepage-calendar.single-page .item.row.month {
	border-top-color: transparent;
	background-image: none;
}

.homepage-calendar.single-page .item.row {
	min-height: 195px;
	background-image: none;
}

.homepage-calendar.single-page .item.row.month .col-1 {
	padding-left: 80px;
}

.homepage-calendar.single-page .item.row .col-2 {
	width: 60%;
	display: flex;
	padding: 0;
}

.homepage-calendar.single-page .item.row .col-2 .layout-1 {
	align-items: center;
    display: inline-flex;
	width: 0;	
	transition: width 0.5s;
} 

.homepage-calendar.single-page .item.row .col-2 .layout-1 img {
	left: -200px;
    position: relative;	
	transition: left 1s;
} 

.homepage-calendar.single-page .item.row:hover .col-2 .layout-1 {
	width: 200px;
}

.homepage-calendar.single-page .item.row:hover .col-2 .layout-1 img {
	left: 0;
}

.homepage-calendar.single-page .item.row .col-2 .layout-1 img {
	max-height: 180px;	
}    

.homepage-calendar.single-page .item.row .col-2 .layout-2 {
	padding: 40px 20px 20px 80px;
}

.homepage-calendar.single-page .item.row .col-2 .layout-2 .second {
    font-size: 50px;
    line-height: 58px;
	transition: font-size 0.5s;
}

.homepage-calendar.single-page .item.row:hover .col-2 .layout-2 .second {
    font-size: 60px;
    line-height: 64px;
}

.homepage-calendar.single-page .item.row .col-3 {
	width: 20%;
	padding: 35px 20px 10px;
}

.homepage-calendar.single-page .item.row:hover .col-3 {
    background-size: 0px;
}

.homepage-calendar.single-page .item.row .col-3 .first {
	margin-bottom: 5px;
}

.homepage-calendar.single-page .item.row .col-3 .first.location .location,
.homepage-calendar.single-page .item.row .col-3 .second .link-single a {
	font-size: 30px;
    line-height: 40px;
    font-weight: 600;
}

.homepage-calendar.single-page .item.row .col-3 .second.location .location_excerpt {
	font-size: 30px;
    line-height: 40px;
}

.homepage-calendar.single-page.mobile .item.row .col-2 .layout-2 {
    padding: 20px 20px 20px 20px;
	width: 100%;
}

.homepage-calendar.single-page.mobile .item.row .col-2 .layout-2 .second {
    font-size: 40px;
	line-height: 44px;
	margin: 0;
}

.homepage-calendar.single-page.mobile .item.row .col-3 {
    display: block;
	width: 100%;
	padding: 0px 20px;
}

.homepage-calendar.single-page.mobile .item.row .col-3 .align {
    justify-content: end;
    display: flex;
}


.homepage-calendar.single-page.mobile .item.row .col-3 .first.location .location,
.homepage-calendar.single-page.mobile .item.row .col-3 .second.location .location_excerpt {
	font-size: 20px;
    line-height: 24px;
}

.homepage-calendar.single-page.mobile .item.row .col-3 .first .categories {
	font-size: 12px;
    line-height: 14px;

}

.homepage-calendar.single-page.mobile .item.row.month {
	height: 150px;
    min-height: 150px;
	padding-top: 50px;
}

.homepage-calendar.single-page.mobile .item.row.month .col-1 {
    padding-left: 20px;
}

.homepage-calendar.single-page.mobile .item.row.month .col-1 h3 {
    margin: 0;
}

/* Mitmachen page */
.mitmachen-loop-section-main article.category-mittanzen .elementor-widget-post-info .elementor-widget-container,
.mitmachen-loop-section article.category-mittanzen .elementor-widget-post-info .elementor-widget-container {
	background-color: #96e1fa !important;
}

@media (min-width: 1025px) {
	.repertoire-posts .elementor-posts article:nth-child(even),
	.mitmachen-loop-section .elementor-posts article:nth-child(even) {
		margin-top: 100px;
	}
	.repertoire-posts .elementor-posts article:nth-child(odd),
	.mitmachen-loop-section .elementor-posts article:nth-child(odd) {
		margin-top: -50px;
	}
}

/* Company page */
.company-title {
	position: absolute !important;
    top: -30vh;
}

@media (max-width: 767px) {
	.company-person-card.hide .elementor-widget-heading,
	.company-person-card.hide .elementor-widget-text-editor {
		display: none;
	}
}

/* Repertoire page */
.repertoire-posts .elementor-posts article .elementor-post__excerpt {
	width: 80%;
}

/* Posts entry page */
.single-post-index a {
	line-height: 38px !important;
}

.posts-calendar .item.row .col-1 {
	width: 70%;
	padding: 20px 80px;
}

.posts-calendar .item.row .col-1 .date {
	font-size: 54px;
	line-height: 66px;
}

.posts-calendar .item.row .col-1 .time {
	font-size: 54px;
	line-height: 66px;
	font-weight: 400;
	padding-left: 20px;
}

.posts-calendar .item.row .col-1 .time .endtime {
	background-image: url(/wp-content/uploads/2023/05/SWDC-arrow-dates.svg);
    background-repeat: no-repeat;
    background-size: 40px;
    background-position: left;
    padding-left: 48px;
}

.posts-calendar .item.row .col-1 .location {
	display: block;
	padding-top: 10px;
}

.posts-calendar .item.row .col-1 .location {
	display: block;
	padding-top: 10px;
	font-size: 36px;
    line-height: 50px;
}

.posts-calendar .item.row .col-1 .location-excerpt {
	display: block;
	font-size: 36px;
    line-height: 50px;
}

.posts-calendar .item.row .col-2 {
	width: 30%;
	padding: 20px 0;
	font-size: 54px;
    line-height: 66px;
}

.posts-calendar .item.row .col-2 .link-single a {
	background-image: url(/wp-content/uploads/2023/05/SWDC-arrow-link.svg);
    background-repeat: no-repeat;
    background-size: 40px;
    background-position: right;
    padding-right: 50px;
}

.posts-calendar .item.row.month {
	border: none;
	padding: 0 80px;
}

.posts-calendar .item.row.month h3 {
	margin: 20px 0 !important;
}

.posts-calendar .item.row.month .col-1 {
	padding: 20px 0;
}

@media (min-width: 768px){
	.post-person .elementor-column {
		margin-right: 20px !important;
	}
}

.post-person .elementor-column .elementor-widget-wrap:hover {
	background-image: none !important;
}

.post-person .elementor-column .elementor-widget-wrap .elementor-widget-text-editor {
	opacity: 0 !important;
}

.post-person .elementor-column .elementor-widget-wrap:hover .elementor-widget-text-editor {
	opacity: 1 !important;
}

/* Mitmachen styles */
.mitmachen-category .elementor-post-info__terms-list-item {
	background-color: #C3EC4B !important;
	padding: 5px 10px;
}
.mitmachen-category .elementor-post-info__terms-list-item.mittazen {
	background-color: #96e1fa !important;
}

.posts-calendar .items .item.row {
	border-color: black !important;
} 

.posts-calendar {
	color: black !important;
}

.posts-calendar .items .item.row .col-1 .date,
.posts-calendar .items .item.row .col-1 .location {
	font-weight: 800 !important;
}

.posts-calendar.mitmachen .items .item.row .col-1 {
	width: 100% !important;
}

@media (max-width: 1024px) {
	.posts-calendar.mitmachen .item.row.month {
		padding: 20px;
	}
	.posts-calendar.mitmachen .items .item.row .col-1 {
		padding: 20px;
	}
	.posts-calendar.mitmachen .items .item.row .col-1 .date,
	.posts-calendar.mitmachen .items .item.row .col-1 .time {
		font-size: 34px;
	}
	.posts-calendar.mitmachen .item.row .col-1 .time .endtime {
		background-size: 30px;
		background-position: left 5px top 5px;
	}
	.posts-calendar.mitmachen .items .item.row .col-1 .location,
	.posts-calendar.mitmachen .items .item.row .col-1 .location-excerpt {
		font-size: 26px;
	}
}

/* Marquee styles */
.marquee {
	--gap: 1rem;
	position: relative;
	display: flex;
	overflow: hidden;
	user-select: none;
	gap: var(--gap);
	width: 100vw;
}

.marquee__content {
	flex-shrink: 0;
	display: flex;
	justify-content: space-around;
	gap: var(--gap);
	min-width: 100vw;
	list-style: none;
	margin: 0;
}

.marquee__content li { 
	min-width: 20%;
	line-height: 48px !important;
}


@keyframes scroll {
	from {
		transform: translateX(0);
	}
	to {
		transform: translateX(calc(-100% - var(--gap)));
	}
}

.enable-animation .marquee__content {
	animation: scroll 10s linear infinite;
}

.marquee--fit-content {
	max-width: fit-content;
}

/* Mobile menu */
.menu-header-mobile .elementor-widget-button {
	margin-bottom: 0!important;
}

.mobile-open.hide,
.mobile-close.hide,
.menu-mobile-section.hide {
	display: none;
}

.menu-mobile-section {
	top: auto !important;
    width: 100% !important;
}

/* Language switcher */
.language-switcher .current-lang a {
	text-decoration: underline !important;
}

/* Newsletter */
.swdc-newsletter .elementor-field-type-submit button {
	background-image: url(/wp-content/uploads/2023/05/SWDC-arrow-link.svg);
    background-repeat: no-repeat;
    padding-left: 48px !important;
    background-size: 36px;
    background-position: left;
}

.swdc-newsletter .elementor-message.elementor-message-success {
	margin-top: 50px !important;
}

/* Cookie banner */
.cmplz-message,
.cmplz-link,
.cmplz-description-functional,
.cmplz-description-statistics-anonymous,
.cmplz-description-marketing {
	font-weight: 400 !important;
}

.cmplz-label::after {
	z-index: 5;
	top: -3px !important;
}

.cmplz-links.cmplz-documents a {
	line-height: 16px !important;
}

.cmplz-link {
	font-size: 14px !important;
	color: black !important;
}

#cmplz-document {
	margin-left: 80px !important;
	margin-bottom: 100px !important;
}

#cmplz-document p, 
#cmplz-document li {
	font-weight: 400 !important;
}

#cmplz-document h3 {
	line-height: 34px !important;
}

.page-id-3070 .wp-block-heading,
.page-id-3072 .wp-block-heading {
	margin-left: 80px !important;
}

@media (max-width: 1024px) {
	#cmplz-document h2,
	.page-id-3070 .wp-block-heading,
	.page-id-3072 .wp-block-heading {
	    word-spacing: 0;
		line-height: 40px;
		padding-bottom: 0;
	}
	#cmplz-document {
		margin-right: 120px !important;
	}
}
@media (max-width: 767px) {
	.page-id-3070 .wp-block-heading,
	.page-id-3072 .wp-block-heading {
		line-height: 60px;		
		margin-left: 5% !important;
		margin-right: 5% !important;
	}
	#cmplz-document {
		margin-left: 5% !important;
		margin-right: 5% !important;
	}
}
	
/* Sendinblue newsletter */
.newsletter-sb-form h2 {
	font-size: 36px !important;
    line-height: 48px !important;
	min-height: 95px !important;
}
@media (max-width: 1024px) {
	.newsletter-sb-form h2 {
		word-spacing: 0 !important;
	}
}
.newsletter-sb-form > .elementor-widget-container > form > div input[type='text'],
.newsletter-sb-form > .elementor-widget-container > form > div input[type='email'] {
	margin-top: 10px;
	height: 45px;
	font-family: "BC-Falster-Grotesk", Sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 21px;
	width: 98%;
}
@media (max-width: 767px) {
	.newsletter-sb-form > .elementor-widget-container > form > div input[type='text'],
	.newsletter-sb-form > .elementor-widget-container > form > div input[type='email']  {
		width: 100%;
	}
}
.newsletter-sb-form > .elementor-widget-container > form > div button {
	color: black !important;
    background-color: transparent !important;
    font-size: 36px;
	background-image: url(/wp-content/uploads/2023/05/SWDC-arrow-link.svg);
    background-repeat: no-repeat;
    padding-left: 48px !important;
    background-size: 36px;
    background-position: left;
}
.newsletter-sb-form > .elementor-widget-container > form > div > div:nth-child(1),
.newsletter-sb-form > .elementor-widget-container > form > div > div:nth-child(3), 
.newsletter-sb-form > .elementor-widget-container > form > div > div:nth-child(6) {
	display: none;
}
.newsletter-sb-form > .elementor-widget-container > form > div > div {
	width: 50%;
}
@media (max-width: 767px) {
	.newsletter-sb-form > .elementor-widget-container > form > div > div  {
		width: 100%;
	}
}
.newsletter-sb-form > .elementor-widget-container > form > div > div:nth-child(4) {
	position: absolute;
    top: 0;
    left: 50%;
}
@media (max-width: 767px) {
	.newsletter-sb-form > .elementor-widget-container > form > div > div:nth-child(4)  {
		position: relative;
		left: 0;
	}
}
.newsletter-sb-form > .elementor-widget-container > form > div > .checkbox-inline {
	margin-top: 55px !important;
	width: 48%;
}
@media (max-width: 767px) {
	.newsletter-sb-form > .elementor-widget-container > form > div > .checkbox-inline {
		position: relative;
		width: 100%;
	}
}
.newsletter-sb-form > .elementor-widget-container > form > div > .checkbox-inline label {
	width: 45%;
	font-weight: 400;
}
@media (max-width: 767px) {
	.newsletter-sb-form > .elementor-widget-container > form > div > .checkbox-inline label {
		width: 100%;
	}
}
.newsletter-sb-form > .elementor-widget-container > form > div > .checkbox-inline label a {
	text-decoration: underline;
}
@media (max-width: 1550px) {
	.newsletter-sb-form > .elementor-widget-container > form > div > .checkbox-inline label a {
		line-height: 0;
	}
}
.newsletter-sb-form > .elementor-widget-container > form > div > div:nth-child(7) {
	position: absolute;
    top: 100px;
    left: 55%;
}
@media (max-width: 767px) {
	.newsletter-sb-form > .elementor-widget-container > form > div > div:nth-child(7) {
		position: relative;
		top: 0;
		width: 100%;
		left: 0;
	}
}