@media (max-width: 820px) {

	.hide-desktop-menu {
        display: inherit;
    }

    .hide-mobile-menu {
        display: none;
    }

}

@media (max-width: 900px) {

	.header-image-section h1 {
        display: inherit;
        width: 100%;
    }
    
    .header-span {
	    line-height: 14px;
		font-size: 38px;
    }
    
    .header-logo {
	    margin-left: 30px;
    }

}

@media (max-width: 1414px) {

	.main-navigation li {
		padding: 30px 8px;
	}
	
	.main-navigation a,
	.main-navigation .current-menu-item > a {
		font-size: 14px;
	}
	
	.subheader span {
		font-size: 22px;
	}

}

@media (max-width: 1390px) {

	.main-navigation li {
		padding: 20px 20px;
	}
	
	.main-navigation a,
	.main-navigation .current-menu-item > a {
		font-size: 14px;
	}
	
	.subheader span {
		font-size: 22px;
	}

}

@media (max-width: 1130px) {
	
	.header-social {
		display: none;
	}
	
	#site-navigation-2 {
		margin-right: 0;	
	}
	
	.home .subheader {
		display: none;
	}
	
	.filter-section {
		display: none;
	}
		
}

@media (max-width: 1030px) {
	
	.main-navigation a, 
	.main-navigation .current-menu-item > a {
		font-size: 11px;
	}
		
}

@media (max-width: 820px) {
	
	.project-date {
		font-size: 16px;
	}
	
	.project-header {
		font-size: 22px;
	}
	
	.child .link {
		font-size: 12px;
	}
	
	.mb-5 {
		margin-bottom: 1rem !important;
	}
	
	.mt-5 {
		margin-top: 1rem !important;
	}
	
	.home .subheader {
		display: inherit !important;
	} 
	
	.button-inline {
		display: block;
	    margin: 0 auto;
	    width: fit-content;
	}
	
	.subheader span {
		font-size: 20px;
	    display: block;
	    width: 100%;
	    line-height: 24px;
	}
	
	.subheader .block {
		width: auto;
		float: none;
	}
	
	.subheader img {
		display: none;
	}
	
	.subheader {
		bottom: 0;
	}
	
	.text-section .row img {
		margin: 0;
	}
	
	a[href^="tel"],
	a[href^="mailto"] {
	    color:inherit;
	    text-decoration:none;
	    font-weight: inherit;
	}
	
	.header-social {
		display: none;
	}
	
	.section {
		padding-top: 40px !important;
		padding-bottom: 40px !important;
	}
	
	body h2 {
		font-size: 26px;
	}

    #wpadminbar {
        display: none;
    }

    .hide-desktop {
        display: inherit;
    }

    .hide-mobile {
        display: none;
    }

    .site-header {
        top: 0;
        height: 100px;
    }

    body p {
	    line-height: 26px;
    }

    .header-logo {
        width: auto;
	    float: none;
	    position: fixed;
	    top: 0px;
	    left: 0;
	    z-index: 99;
	    margin-left: 0;
	    margin-top: 28px;
    }
    
    .contact-section h2 {
	    font-size: 24px;
	}

    .header-logo img {
        margin: 0 auto 0 30px;
    }

    .fa-bars {
        position: fixed;
	    right: 30px;
	    top: 28px;
	    font-size: 38px;
	    color: #148799;
	    z-index: 9999;
    }

    .mobile-menu {
		position: fixed;
	    background: #fff;
	    width: 100%;
	    top: 0;
	    left: 0;
	    height: 100%;
	    padding: 100px 0px 0 10px;
	    display: none;
    }

    .mobile-menu ul {
        margin-left: 0;
        padding-left: 00px;
    }

    .mobile-menu ul li {
        list-style-type: none;
        font-size: 24px;
        padding: 4px 20px !important;
        line-height: 34px;
        text-align: left;
    }

	.mobile-menu ul li a {
		color: #148799;
		font-weight: 600;
		font-size: 40px;
		line-height: 60px;
	}

    .mobile-menu ul li a:active {
	    text-decoration: none;
    }

    .mobile-menu ul li .sub-menu li {
	    line-height: 26px;
	    border-left: solid 2px #0D2B3F;
    }

    .mobile-menu ul > li {
        font-size: 30px;
    }

    #primary-menu-1 {
        margin-bottom: 0;
    }

	.img-text-section-img {
		margin-bottom: 30px !important;
	}
    
    .header-image-section {
	    height: 60vh !important;
    }

    .header-image-section p {
        bottom: 10%;
        width: 80%;
        left: 10%;
    }
    
    .turnierkalender h5 {
	    font-size: 22px;
	    line-height: 1em;
	    margin-top: 6px;
	}
	
	.turnierkalender .button-blue, .turnierkalender .button-blue:visited {
	    font-size: 13px;
	}
	
	.turnierkalender .event-entry,
	.turnierkalender .event-start {
		display: none;
	}

    .header-image-section h1 {
        bottom: 40%;
    }
    
    .img-text-section img {
	    margin-bottom: 30px;
    }
    
    .box-bg .container {
	    background: #148799;
	    padding: 30px 30px;
	    border-radius: 70px;
	}
    
    .text-section.box-bg {
	    padding-left: 20px;
	    padding-right: 20px;
    }
    
    .mySwiper3 .swiper-slide {
	    height: auto;
    } 
    
    .mySwiper3 .swiper-slide img {
	    height: auto;
    }
    
    .mySwiper3 .swiper-slide a {
	    height: fit-content;
	    display: block;
	    width: fit-content;
    }
    
    .partner-slider-section {
	    padding-left: 20px;
	    padding-right: 20px;
    }
    
    .partner-slider-section .swiper-slide img {
	    max-height: 140px;
        max-width: 80%;
        margin-bottom: 20px;
    }
    
    .swiper-button-next, 
    .swiper-button-prev {
		display: none;    
    }

    .header-icon {
	    width: 26%;
	    left: 35%;
    }
    
    .button, 
    .button:visited {
		font-size: 14px;    
    }

    body h3 {
        line-height: 30px;
        font-size: 30px;
        line-height: 28px;
        font-size: 24px;
    }

    .activities-section,
    .contact-section {
        padding: 0 30px;
    }

    .cv-section .container {
        padding: 30px;
    }

    .cv-list .date {
        width: 30%;
    }

    .text-section .bg-img {
	    display: none;
    }

    .sub-menu li a:before {
	    content: '';
    }

    .sub-menu li a {
	    font-size: 22px;
    }

    .footer-menu {
	    float: none;
	    margin: 0;
    }

    .product-section {
	    padding-left: 30px;
	    padding-right: 30px;
    }

    .product-section img {
	    margin-bottom: 30px;
    }

    .sub-menu {
	    list-style: none;
	    padding: 10px 0;
    }

    .mobile-margin {
	    margin-bottom: 40px !important;
    }

    .activities-section .button {
	    margin-top: 0 !important;
    }

    .activities-section h4 {
		min-height: auto;
	}

	.header-image-section h1 {
		font-size: 70px;
		line-height: 70px;
	}

	html body {
	    margin-top: -46px !important;
	}
	
	.img-section h1 {
	    font-size: 38px;
	    line-height: 38px;
	}
	
	.img-section .hl-box {
		bottom: 15%;
	}
	
	.header-image-section .hl-box {
		top: 40%;
	}
	
	.header-image-section .hl-box {
		bottom: 20%;
        width: 80%;
        left: 10%;
        height: fit-content;
	}
	
	.footer-menu a {
		font-weight: 300;
	}
	
	.site-main {
	    padding-top: 14px;
	}
	
	.header-span {
		font-size: 28px;
		line-height: 32px;
	    padding-right: 10px;
	    padding-left: 0px;
	    display: inline;
	    display: block;
	    white-space: pre-wrap;
	}
	
	.wpcf7 .w-45 { 
		width: 100%;
	}
	
	.header-social {
	    width: 80px;
	    position: fixed;
	    top: 30px;
	    right: 0px;
	    z-index: 999;
	}
	
	.header-social img {
	    width: 34px;
	    margin-right: 2px;
	}
	
	.imgteaser-section p {
		font-size: 18px;
	    line-height: 20px;
	    padding: 6px 4px;
	    bottom: 0px;
	    left: 10%;
	    width: 80%;
	}
	
	.imgteaser-section h3 {
	    text-align: center;
	    position: absolute;
	    bottom: 23%;
	    color: #fff;
	    font-size: 24px;
	    letter-spacing: 1px;
	    width: 100%;
	    left: 0;
	}
	
	.facts-section {
		margin-top: -60px;
	}
	
	.accordion-section h3 button, .accordion-section h3 button:focus {
		font-size: 18px;
	}
	
	.accordion-section h2 {
		margin-left: 40px;
	}
	
	.accordion-button {
		text-align: left;
		margin-left: 30px;
	}
	
	.accordion-section .card-body p {
	    color: #fff;
	    padding-left: 40px;
	    padding-right: 0;
	}
	
	.accordion-section h3 img {
		position: absolute;
		left: 10px;
	}
	
	.text-section {
		width: 100% !important;
	}
	
	.text-section p {
		font-size: 18px;
		line-height: 24px;
	}
	.text-section .font-blue {
		padding: 20px 30px !important;
	}
	
	.card-header {
		padding-left: 0;
		padding-right: 0;
	} 
	
	.subheader {
		display: none !important;
	}
	
	.whitebox h5 {
		margin-bottom: 20px;
	}
	
	.eventbox .button-blue {
		float: none !important;
		margin-top: 10px !important;
	}
	
	.event-wrapper {
		width: 100%;
	}
	
	.filter-section span, 
	.filter-section button {
		padding: 0 0;	
	}
	
	.filter-section button {
		margin-right: 10px;
	}
	
	.post .bluebox {
		margin-top: 40px;
		min-height: 90px;
		font-size: 16px;
	}
	
	.post .post-times {
	    position: absolute;
	    right: 10px;
	    top: 32px;
	    color: #fff;
	    font-weight: 700;
	}
	
	.post-footer p {
		font-size: 24px;
	}
	
	.gallery-tab {
		margin: 10px 20px;
	}
}

@media (max-width: 600px) {
	
	.header-image-section h1 {
	    font-size: 38px;
	    line-height: 38px;
	}
	
	.site-main {
	    padding-top: 0;
	}
	
	.mobile-menu ul li a {
		font-size: 22px;
		line-height: 24px;
	}
		
}



