/*
Theme Name: jonashandpan 
Theme URI: https://jonashandpan.com
Author: jonashandpan.com, Jonas Straumann
Author URI: https://jonashandpan.com/
Description: Custom web theme for Jonas Straumann.
Version: 1.0
Text Domain: jonashandpan
*/


html {
	font-weight: 400;
	font-style: normal;
	font-size: 17px;
	word-break: break-word;
	overflow-y: scroll;
	/* has to be scroll, not auto */
}


html, body {
	font-family: 'Nunito Sans', sans-serif;
	line-height:1.8;
}


h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6,
.display-1, .display-2, .display-3, .display-4, .display-5 {
font-family: 'Nunito', sans-serif;
font-weight:600;
}

.js-color-title,
.entry-content .wp-block-heading {
    background: linear-gradient(-45deg, #16a085, #f4d03f);
	background-clip: text;
	-webkit-background-clip: text;
	color: transparent;
	background-size: 400% 400%;
	animation: gradient 15s ease infinite;
}

.js-color-bg {
	/*background: linear-gradient(-45deg, #8A2387, #E94057, #F27121);*/
	background: linear-gradient(-45deg, #16a085, #f4d03f);
	background-size: 400% 400%;
	animation: gradient 15s ease infinite;
}
@keyframes gradient {
	0% {
		background-position: 0% 50%;
	}
	50% {
		background-position: 100% 50%;
	}
	100% {
		background-position: 0% 50%;
	}
}

.entry-content p a,
.entry-content li a,
.wpcf7 form a,
.js-faq .accordion-body a {
    color:#555;
    transition:ease .15s;
}
.entry-content p a:hover, 
.entry-content p a:focus,
.entry-content li a:hover,
.wpcf7 form a:hover,
.js-faq .accordion-body a:hover {
    color:#16a085;
}

.js-link {
    color:#555;
    transition:ease .15s;
}
.js-link:hover,
.js-link:focus {
    color:#16a085;
}

.lead {
	font-size:1.25rem;
}
.wp-block-cover {
    border-radius: .25rem;
}


.btn {
    border: none;
    font-family: 'Nunito', sans-serif;
    color: #fff;
    font-weight: 500;
    padding: .5rem 1rem;
    /* margin:0 1rem 0 0; */
    border-radius: .25rem;
    -webkit-transition: all 0.15s ease-in-out;
    -moz-transition: all 0.15s ease-in-out;
    -ms-transition: all 0.15s ease-in-out;
    -o-transition: all 0.15s ease-in-out;
    transition: all 0.15s ease-in-out;

}
.btn i {
    margin-right:.25rem;
}
.btn-lg {
    padding:.65rem 1.25rem;
}

.btn-color {
	background: linear-gradient(-45deg, #16a085, #f4d03f);
	background-size: 400% 400%;
	animation: gradient 15s ease infinite;   
    color:#fff;
}
.btn-color:hover, 
.btn-color:focus, 
.btn-color:active {
    opacity: .75;
    color:#fff;
}

.btn-secondary {
	background: #16a085;
}
.btn-secondary:hover, 
.btn-secondary:focus, 
.btn-secondary:active{
    background:#f4d03f !important;
    color:#fff;
}

.btn-primary {
	background: #f9f9f9;
    color:#111;
}

.btn-primary:hover, 
.btn-primary:focus,
.btn-primary:active {
    background:#16a085 !important;
    color:#fff;
}
.btn-blank {
    color:#000;
    transition: ease .15s;
}
.btn-blank:hover, 
.btn-blank:focus {
    background:#f9f9f9;
}

.btn i {
	font-size:.9rem;
}

.woocommerce .stock {
	display:none;
}

.js-title-link a {
    float:right;
    font-size:1rem;
    text-decoration: none;
    background:#16a085;
    padding:.85rem 1rem .85rem 1rem;
    border-radius: .25rem;
    color:#fff;
    transition: ease .15s;
    margin-bottom:2rem;
}
.js-title-link a:hover,
.js-title-link a:focus, 
.js-title-link a:active {
    background:#f4d03f;
    color:#fff;
}
.js-title-link a:before {
    font-family: "bootstrap-icons";
    content: "\F285"; /* richtiger Unicode */
    font-size:.65rem;
    margin-right:.5rem; 
}

.bg-light {
    background:#f9f9f9 !important;
}

.alert {
	border-radius:.25rem;
    border-width:.25rem;
}




.js-single-content a,
.js-cookie-modal a {
    color:#777;
    text-decoration: none; 
    transition:ease .1s;
}
.js-single-content a:hover,
.js-single-content a:focus, 
.js-cookie-modal a:hover, 
.js-cookie-modal a:focus {
	color:#16a085;
}

.js-cookie-modal {
	font-size:.9rem;
	line-height:1.5;
}

.js-cookie-modal .form-check-input:checked {
    background-color:#16a085;
    border-color:#16a085;
}

video {
    width: 100%;    /* Video passt sich der Breite des Containers an */
    height: auto;   /* Höhe skaliert proportional */
    display: block; /* Entfernt kleine Inline-Abstände unter dem Video */
    max-width: 100%; /* Optional: verhindert Überschreiten der Containerbreite */
}

.js-error-pad {
    padding:5rem;
}
.js-error-icon {
    font-size: 8rem;
}
/* Header */


.js-header {
    display: block;
    top:0;
    background:linear-gradient(rgba(255,255,255,1) 70%, rgba(255,255,255,0.96));
    z-index:200;
}
.js-header-sticky {
    position: -webkit-sticky; /* Safari */
    position: sticky;
}

.js-navigation {
	z-index: 1000;
    padding-top:.9rem;
    text-transform: uppercase;
    letter-spacing: .1rem;
}

.js-navigation .menu li:last-child {
	margin:0;
}
.js-navigation .menu li a {
    color:#111;
    font-family: 'Nunito', sans-serif;
    font-weight:300;
    text-decoration: none;
	-webkit-transition: all 0.15s ease-in-out;
	-moz-transition: all 0.15s ease-in-out;
	-ms-transition: all 0.15s ease-in-out;
	-o-transition: all 0.15s ease-in-out;
	transition: all 0.15s ease-in-out;
}
.js-navigation .menu li a:hover,
.js-navigation .menu li a:focus{
    color:#16a085;
}

.js-navigation .menu li ul {
	position: absolute;
    margin-top:.5rem;
	width: auto;
   	min-width:12rem;
	background-color: #fff;
	transform: scaleY(0);
	transform-origin: 0 0 0;
	transition: all 0.15s ease 0s;
	visibility: hidden;
    padding:0;
	z-index:1;
    box-shadow: .1rem 1rem 1rem rgba(0,0,0,0.05);
}
.js-navigation .menu li:hover ul {
	transform: scale(1);
	visibility: visible;
}
.js-navigation .menu li ul li {
    padding:0;
    display: block;
}
.js-navigation .menu li ul li a {
    font-weight:300;
    padding:.5rem 1rem;
    display: block;
    position: relative;
	color:#111;
    text-decoration: none;
	text-align:left;
}
.js-navigation .menu li ul li a:before {
    font-family: "bootstrap-icons"; /* unbedingt exakt so */
    content:'\F285';
    font-size:.8rem;
    margin-right:.35rem; 
    opacity: .5;
}
.js-navigation .menu li ul li a:hover {
	color: #fff;
    background: #16a085;
}
.js-navigation .menu .current-page-ancestor ul li a,
.js-navigation .menu .current-menu-item ul li a {
	color:#111;
}

.js-navigation .menu .menu-item-has-children::after {
    font-family: "bootstrap-icons";
    content: "\F282"; /* richtiger Unicode */
    color: #111;
    z-index: 1000;
    font-size: .7rem !important;
    display: inline-block; /* muss sichtbar sein */
    margin-left: 0rem;
    vertical-align: middle;
}

.js-navigation .menu li svg {
    color:#000;
    font-size: .85rem;
    top:-.08rem;
    position: relative;
    display: inline-block;
}



.js-header .js-logo {
    display: block;
    position: relative;
}
.js-header .js-logo img {
	max-height: 4rem;
    padding-top:.5rem;
    padding-bottom:1rem;;
    height:100%;
}
.js-header .js-logo .js-logo-name {
    font-size:1.15rem;
    font-weight: 300;
    color:#999;
    position: absolute;
    display: inline-block;
    margin-top:.7rem;
    margin-left:1rem;
    font-family: 'Nunito', sans-serif;
}

.js-header .js-menu ul,
.js-footer .js-footer-menu ul {
    list-style: none;
    display: block;
    padding:0;
}
.js-header .js-menu ul li,
.js-footer .js-footer-menu ul li {
    display: inline-block;
}
.js-header .js-menu ul li {
    padding:0 .35rem;
	color:#000;
}

.js-menu-icn {
    text-align: right;
    margin-left:.5rem;
	line-height:1;
    font-size: 1.2rem;
}
.js-menu-icn a {
    display: inline-block;
    padding:.75rem .5rem;
    color:#111;
    text-decoration: none;
    font-weight: 300;
}
.js-menu-icn a:hover,
.js-menu-icn a:focus {
    color:#16a085;
    transition: ease-in all .15s;
}
.js-lang-icn {
    font-size:1.15rem;
    font-family: 'Nunito', sans-serif;
}
.js-heart-icn {
    color:#ef5350 !important;
    transition: ease .15s;
}
.js-heart-icn:hover {
    color:#d32f2f !important;
}
.js-menu-icn-dot {
    color:#666;
}


/* Responsive Menu */
.js-mobile-menu {
	overflow: auto;
	max-height: 90vh;
}
.js-mobile-menu ul,
.js-mobile-social-menu ul {
	list-style:none;
	padding:0;
    text-align: center;
}
.js-mobile-menu a {
	display:block;
    font-family: 'Nunito', sans-serif;
    font-size: 1.7rem;
    text-decoration: none;
    color:#111;
}
.js-mobile-menu a:hover {
    color:#16a085;
}

.js-mobile-menu ul li {
	font-weight:bold;
}
.js-mobile-menu ul li ul {
	padding-left:1rem;
}
.js-mobile-menu ul li ul li {
	font-weight:normal;
}
.js-mobile-social-menu ul li {
	display:inline-block;
	padding-right:1rem;
}



.js-page-hero {
    position: relative;
    width: 100%;
    height: 60vh;
    overflow: hidden;
}
.js-wc-hero {
    position: relative;
    width: 100%;
    height: 50vh;
    overflow: hidden;
}

/* Hintergrundbild */
.js-hero-image {
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center center;
}

/* Video */
.js-hero-video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Farbverlauf Overlay über das Bild/Video */
.js-gradient-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, rgba(0,0,0,0) 20%, rgba(0,0,0,.9) 100%);
    pointer-events: none;
}

/* Text Overlay links, Bootstrap Container */
.js-hero-text {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center; /* vertikal zentriert */
    color: #fff;
}


/* Seiteninhalt */
.js-page-content {
    margin: 0 auto;
}

.js-feature-block {
    border-radius:0 0 .25rem .25rem;
}

.js-feature {
    color:#333;
}
.js-feature .bi {
    font-size:3.5rem;
    margin-bottom:1rem;
}



/* JS Text Grid */


.js-text-grid {
    display: block;
    position: relative;
    padding:2rem 2.5rem .85rem 2.5rem;
    text-decoration: none;
    color:#fff;
    background:#16a085;
    transition:ease .15s;
    min-height: 12rem;
    margin-bottom:1.5rem;
    border-radius: .25rem;
}
.js-text-grid:hover,
.js-text-grid:focus {
    background:#f4d03f;
}

.home .js-text-grid {
    min-height: 6.2rem;
}


.js-text-grid-wc {
    display: block;
    position: relative;
    background-size:cover;
    text-decoration: none;
    color:#fff;
    transition:ease .25s;
    min-height: 12rem;
    margin-bottom:1.5rem;
    border-radius: .25rem;
}

.js-text-grid-overlay {
    background: rgba(22, 160, 133, .8);
    padding:2rem 2.5rem .85rem 2.5rem;
    position: absolute;
    height:100%;
    width:100%;
    border-radius: .25rem;
    transition:ease .2s;
}

.js-text-grid-wc:hover .js-text-grid-overlay,
.js-text-grid-wc:focus .js-text-grid-overlay {
    background:#f4d03f ;
}

.js-text-grid-overlay .entry-title,
.js-text-grid .entry-title {
    line-height: 1.5;
    font-weight: 600;
    font-size:1.5rem;
}


.js-video-container {
    display:block;
    width: 100%;        /* füllt die gesamte Breite des Containers */
    height: auto;       /* Höhe proportional */
    max-height: 100vh;  /* optional, damit es nicht größer als Viewport wird */
    display: block;     /* entfernt kleine Inline-Lücken */
    object-fit: cover;  /* skaliert Video + Poster, füllt den Container */
}

/* Newsletter Green Box */


.js-newsletter-box {
    border-radius: .25rem;
}
.js-newsletter-lead {
    color:#fff;
}

/* MailPoet Formular an Bootstrap anpassen */
.mailpoet_form input[type="text"],
.mailpoet_form input[type="email"] {
  display: block;
  width: 100%;
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  line-height: 1.5;
  border: none;
  border-radius: 0.25rem;
}

.mailpoet_form button {
  display: inline-block;
  font-weight: 400;
  color: #fff;
  background-color: #fff;
  border: none;
  padding: 0.375rem 0.75rem;
  border-radius: 0.25rem;
}

#mailpoet_form_2 form.mailpoet_form {
    padding:0 !important;
}

.js-newsletter-box-home #mailpoet_form_2 .mailpoet_text {
    position: relative;
    display: inline-block;
    width:100%;
    max-width:100%;
    padding:.5rem .75rem .5rem .75rem !important;
    font-weight:300;
    background:#fff;
    box-shadow: none !important;
}

.js-newsletter-box-home .mailpoet_checkbox_label {
    font-weight: 300 !important;
}
.js-newsletter-box-home .mailpoet_checkbox_label a {
    color:#333;
}

.js-newsletter-box-home .mailpoet_submit {
    background:#16a085;
    color:#fff;
    padding:.5rem 1rem !important;
    font-family: 'Nunito', sans-serif;
    font-weight: 500;
    line-height: 1.5;
    border-radius: .25rem;
    margin:0 !important;
    -webkit-transition: all 0.15s ease-in-out;
    -moz-transition: all 0.15s ease-in-out;
    -ms-transition: all 0.15s ease-in-out;
    -o-transition: all 0.15s ease-in-out;
    transition: all 0.15s ease-in-out;
}
.js-newsletter-box-home .mailpoet_submit:hover, 
.js-newsletter-box-home .mailpoet_submit:focus, 
.js-newsletter-box-home .mailpoet_submit:active{
    background:#f4d03f !important;
    color:#fff;
}


.js-newsletter-box #mailpoet_form_2 .mailpoet_text {
    position: relative;
    display: inline-block;
    width:100%;
    max-width:100%;
    padding:.65rem .75rem .65rem .75rem !important;
    font-weight:300;
    background:#fff;
    border:0;
    border-radius: .25rem;    
}

.js-newsletter-box .mailpoet_checkbox_label {
    font-weight: 300 !important;
    color:#fff;
}
.js-newsletter-box .mailpoet_checkbox_label a {
    color:#fff;
}

.js-newsletter-box .mailpoet_submit {
    background:#16a085;
    color:#fff;
    padding:.5rem 1rem !important;
    font-family: 'Nunito', sans-serif;
    font-weight: 500;
    line-height: 1.5;
    border-radius: .25rem;
    margin:0 !important;
    -webkit-transition: all 0.15s ease-in-out;
    -moz-transition: all 0.15s ease-in-out;
    -ms-transition: all 0.15s ease-in-out;
    -o-transition: all 0.15s ease-in-out;
    transition: all 0.15s ease-in-out;
}
.js-newsletter-box .mailpoet_submit:hover, 
.js-newsletter-box .mailpoet_submit:focus, 
.js-newsletter-box .mailpoet_submit:active{
    background:#f4d03f !important;
    color:#fff;
}
.wpcf7-list-item {
    margin:0;
}

.wpcf7-mailpoetsignup input,
.wpcf7-list-item input {
    margin-right:.35rem;
    display: inline-block;
}


.js-donation {
    border-radius: .25rem;
}


/* JS FAQ */
.js-faq-relations-sidebar .js-faq .accordion-button {
	font-size:inherit;
	font-weight:inherit;
	font-family: 'Nunito Sans', sans-serif;
}
.js-faq .js-faq-item {
    margin-bottom:1rem;
    display: block;
}
.js-faq .accordion-button {
    font-family: 'Nunito', sans-serif;
    background: #f9f9f9;
    display: block;
    font-size: 1.15rem;
    font-weight: 300;
    box-shadow: none !important;
    /* color: #111 !important; */
    border-radius: .25rem .25rem 0 0;

}

.js-faq .accordion-button:not(.collapsed),
.js-faq .accordion-button:hover {
    background:#16a085;
    color:#fff;
}

.js-faq .accordion-body {
    background: #f9f9f9;    
}

.js-faq .js-faq-icon {
    float:right;
}


/* DOWNLOADS */

.js-download-item {
    display: block;
    background: #f9f9f9;
    margin-bottom:1rem;
    text-decoration: none;
    color:#111;
    transition:ease .2s;
    font-size:1rem;
    font-weight: 300;
    border-radius: .25rem;
}

.js-download-item:focus,
.js-download-item:hover {
    background: #16a085;
    color:#fff;
}
.js-download-icon {
    text-align: center;
    font-size:3rem;
    padding-left:2.5rem;
    padding-top:1.5rem;
}
.js-download-item-title {
    font-weight:600;
}
.js-download-item-type {
    opacity: .5;
    font-style: italic;
}




/* WOOCOMMERCE */

.custom-woocommerce-wrapper {
	background-color: #fff; /* gewünschte Hintergrundfarbe */
	clear: both; /* float-Probleme vermeiden */
	overflow: hidden; /* float containment */
	display:block;
}

.js-form-checkout-details .form-row label {
    display: none !important;
}


.cart a {
    color:#444;
    text-decoration:none;
}
.woocommerce #respond input#submit.alt, 
.woocommerce a.button.alt, 
.woocommerce button.button.alt, 
.woocommerce input.button.alt {
    background: #16a085;
    font-family: 'Nunito', sans-serif;
    transition: ease .2s;
    padding: .5rem 1rem;
    border-radius: .25rem;
    line-height: 1.5;
    font-weight: 600;
}
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit.disabled, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit:disabled, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit:disabled[disabled], .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button.disabled, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button:disabled, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button:disabled[disabled], .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.disabled, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button:disabled, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button:disabled[disabled], .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button.disabled, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button:disabled, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button:disabled[disabled], :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce #respond input#submit.disabled, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce #respond input#submit:disabled, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce #respond input#submit:disabled[disabled], :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce a.button.disabled, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce a.button:disabled, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce a.button:disabled[disabled], :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce button.button.disabled, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce button.button:disabled, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce button.button:disabled[disabled], :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce input.button.disabled, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce input.button:disabled, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce input.button:disabled[disabled] {
    line-height: 1.5;
    font-weight: 600;
    font-family: 'Nunito', sans-serif;
}

.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce #respond input#submit, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce a.button, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce button.button, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce input.button {
    line-height: 1.5;
    font-weight: 600;
    font-family: 'Nunito', sans-serif;
}
.woocommerce-message a {
	color:#666;
	transition:ease .15s;
}
.woocommerce-message a:hover {
	color:#000;
}
.products .product .add_to_cart_button {
    display:none !important;
}

.woocommerce table.shop_table {
    background:#f9f9f9;
    border:none;
    padding:1rem;
    border-radius: .25rem;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-size:1.15rem;
    font-weight: 300;
    color:#000;
    margin-bottom: 1rem;
}
.woocommerce .cart_totals h2 {
    font-size:1.25rem;
    padding-bottom:.5rem;
    font-weight: bold;
}

.woocommerce #content div.product div.images, .woocommerce div.product div.images, .woocommerce-page #content div.product div.images, .woocommerce-page div.product div.images {
    float: none;
    width:100%
}

.woocommerce #content div.product div.summary, .woocommerce div.product div.summary, .woocommerce-page #content div.product div.summary, .woocommerce-page div.product div.summary {
    float: none;
    width: 100%;
    clear:none
}


.cross-sells h2 {
    font-size:1.15rem;
    padding-bottom:1rem;
    font-weight: 300;
}

.woocommerce table.cart td.actions .input-text, .woocommerce-page #content table.cart td.actions .input-text, .woocommerce-page table.cart td.actions .input-text {
    width:10rem;
}

.woocommerce div.product form.cart .variations th {
    width:100%;
    display: inline-block;
    float:none;
}

.reset_variations {
    display: block;
}
.woocommerce div.product p.stock {
    font-size:1.25rem;
    font-weight: bold;
    display:none;
}

.product_cat-einsteiger-kurs .woocommerce-loop-product__link .price,
.product_cat-aufbau-kurs .woocommerce-loop-product__link .price {
    display: none !important;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-3 .flex-control-thumbs li {
    width: 33.33%;
    margin-right: 0%;
}

.woocommerce ul.products li.product {
	margin-bottom:0rem;
	margin-top:0rem;
}

.product .woocommerce-loop-product__link img {
    overflow: hidden;
    position: relative;
    transition: ease all .2s;
}
.product .woocommerce-loop-product__link img:hover {
  opacity: .7;
}

.woocommerce div.product form.cart .variations select {
    font-size:1rem;
    padding:0rem .5rem;
    -webkit-appearance: none;
    border-color:#999;
}



.wc-donation-amount label {
    font-size:1rem;
    font-weight: bold;
    color:#77a464;
    margin-right:.5rem;
}
.wc-donation-amount input {
        border:.05rem solid #999;
    border-radius: .15rem;
    padding:.25rem .5rem;
        -webkit-appearance: none;
}


#order_payment_heading {
	font-weight:bold;
	margin-top:1rem; 
}

.woocommerce form .form-row label {
    display: block;
    width:100%;
}
.woocommerce form .form-row {
    display: block;
}

.woocommerce #payment #place_order, .woocommerce-page #payment #place_order {
	float:none;
}
.woocommerce #respond input#submit.alt, .woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt {
    opacity: 1;

}
.woocommerce #order_review_heading {
    margin-top:2rem;
    display: block;
}
.woocommerce .woocommerce-variation-add-to-cart-disabled button {
    background:#999 !important;
}
.woocommerce #respond input#submit.alt:hover, .woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover, .woocommerce input.button.alt:hover {
    background: #f4d03f;

}
#add_payment_method #payment, .woocommerce-cart #payment, .woocommerce-checkout #payment {
    background:#f9f9f9;
    border:none;
    border-radius: .25rem;
}

#add_payment_method #payment div.payment_box, .woocommerce-cart #payment div.payment_box, .woocommerce-checkout #payment div.payment_box {
    background:#f0f0f0;
}
#add_payment_method #payment div.payment_box::before, .woocommerce-cart #payment div.payment_box::before, .woocommerce-checkout #payment div.payment_box::before {
	content: "";
	display: block;
	border: 1em solid #f0f0f0;
	border-right-color: transparent;
	border-left-color: transparent;
	border-top-color: transparent;
	position: absolute;
	top: -.75em;
	left: 0;
	margin: -1em 0 0 2em;
}

.woocommerce ul.order_details {
    margin:0rem;
    padding:1rem 0;
}

.menu-cart-icon {
    font-size:1.25rem !important;
}

.woocommerce ul.products li.product .woocommerce-loop-category__title, .woocommerce ul.products li.product .woocommerce-loop-product__title, .woocommerce ul.products li.product h3 {
    line-height: 1.5;
}

.sku_wrapper {
    display: block;
    width:100%;
}

.woocommerce .woocommerce-result-count,
.woocommerce-ordering {
    display: none;
}

.woocommerce ul.products li.product .price {
    font-size:1.25rem;
    font-weight: bold;
}
.woocommerce div.product p.price, .woocommerce div.product span.price {
    font-weight: bold;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
    border-color:#f0f0f0;
    border-radius: 0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
    font-weight: 300;
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before {
    border-bottom:1px solid #f0f0f0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after {
    box-shadow: none;
    border:none;
}

.woocommerce table.shop_attributes th {
    width:24rem;
}

.woocommerce-privacy-policy-text {
	display:none;
}
.woocommerce-MyAccount-navigation ul { 
	list-style:none;
    padding:0;
}
.woocommerce-account .woocommerce-MyAccount-navigation {
	width:100%;
    float:none;
    display: block;
    margin:0;
}
.woocommerce-MyAccount-navigation ul li a {
	display:block;
	margin-bottom:.5rem;
	padding:.8rem;
	border:.08rem solid #f0f0f0;
	font-weight:bold;
	font-size:1rem;
}
.woocommerce-MyAccount-navigation ul li a svg {
    margin-right:.5rem;
}
.woocommerce .col-1, .woocommerce .col-2{ max-width:none;}
.related.products h2 {
    font-weight:bold;
    margin-bottom:2rem;
    display:block;
}
.related.products {
	border-top:.08rem solid #f0f0f0;
	padding-top:3rem;
}
.cartcount {  
	position: relative;  
	height: 1.3rem;  
	width: 1.3rem;  
	border-radius: 50%;  
	font-size: .6rem;  
	color: rgb(255, 255, 255);  
	padding-top: 0.35rem;  
	text-align: center;  
	font-weight: 400;  
	line-height: 1;  
	display: inline-block;  
	top: -.7rem; 
	margin-left:-.7rem;
	background:#16a085;
} 


.wc-block-cart__submit-button {
    background:#16a085;
    color:#fff;
    text-decoration: none;
    box-shadow: none;
    border:none;
    transition:ease .2s !important;
}
.wc-block-cart__submit-button:hover,
.wc-block-cart__submit-button:focus {
    background:#f4d03f;
}


.wp-block-woocommerce-checkout-order-summary-block {
    border-radius: 0;
    background:#f9f9f9;
}

.wc-block-components-checkout-place-order-button {
    background:#16a085;
    box-shadow: none;
    border:none;
    border-radius: .25rem;
    font-size:1rem;
    color:#fff;
    font-weight: 600;
    transition: ease .2s !important;
    
}
.wc-block-components-totals-coupon__button {
    background:#888;
    box-shadow: none;
    border:none;
    font-size:.85rem;
    color:#fff;
    font-weight: 600;
    transition: ease .2s !important;
    
}
.wc-block-components-checkout-place-order-button:hover,
.wc-block-components-checkout-place-order-button:focus,
.wc-block-components-totals-coupon__button:hover,
.wc-block-components-totals-coupon__button:focus {
    background:#f4d03f;   
}

.wc-block-components-product-name {
    font-weight: bold;
    color:#333;
}
.wc-block-components-product-name:hover,
.wc-block-components-product-name:focus {
    color:#16a085;
}


/* EVENT KURS GRID LIST */

.js-events-list {
    display: block;
    position: relative;
}

.js-event-item {
    display: block;
    background: #f9f9f9;
    margin-bottom:1rem;
    text-decoration: none;
    color:#000;
    padding:.5rem 1rem .5rem 1.5rem;
    border-radius: .25rem;
    transition: ease .15s;
    font-family: 'Nunito', sans-serif;
}

.js-event-item .js-event-day {
    font-size:2rem;
    font-weight:600;
    display: inline-block;
    width:3rem;
}
.js-event-item .js-event-month {
    display: inline-block;
    font-size:2rem;
    font-weight: 300;
    width:12rem;
}
.js-event-item .js-event-title {
    font-family: 'Nunito' sans-serif;
    font-size:1.15rem;
    font-weight: 300;
    display: inline-block;
    position:absolute;
    margin-top:.7rem;
}

.js-event-item .js-event-detail {
    display: inline-block;
    right:0;
    margin-top:.9rem;
    position: absolute;
    font-weight: 300;
    margin-right:1rem;
    color:#888;
}

.js-event-item:hover,
.js-event-item:focus {
    background:#16a085;
    color:#fff;
}
.js-event-item:hover .js-event-detail,
.js-event-item:focus .js-event-detail {
    color:#fff;
}


@media (max-width: 768px) {
    .js-event-item {
        text-align: center;
        padding-bottom:1rem;
        padding-top:1rem;
    }
    .js-event-item .js-event-day,
    .js-event-item .js-event-month {
        font-size:1.15rem;
        font-weight: 500;
    }
    .js-event-item .js-event-day {
        width:auto;
    }
    .js-event-item .js-event-month {
        width:auto;
    }
    .js-event-item .js-event-detail {
        display: none;
    }
    .js-event-item .js-event-title {
        font-size:1rem;
        display: block;
        position: relative;
        padding:0;
        margin:0;
    }
}
/* Große Tablets (iPad) */
@media (max-width: 1024px) { 
    .js-event-item .js-event-detail {
        display: none;
    }
}



/* Footer */

.js-footer {
    font-size:1rem;
    color:#444;
}
.js-footer-nav ul {
    display: block;
    position:relative;
    list-style:none;
    padding:0;
    margin:0;
    
}
.js-footer-nav ul li {
    display: inline-block;
}
.js-footer-nav ul li a {
    text-decoration: none;
    color:#444;
    padding:.25rem 1rem 0rem 0rem;
    transition:ease .15s;
}
.js-footer-nav ul li a:hover,
.js-footer-nav ul li a:focus {
    color:#16a085;
}

.js-footer .js-footer-cc {
    font-size:.85rem;
}
.js-footer .js-footer-cc .bi {
    color:#ef5350;
}
.js-footer .js-footer-scroll a {
    text-decoration: none;
    float:right;
    color:#444;
    transition:ease .15s;
}
.js-footer .js-footer-scroll a:hover,
.js-footer .js-footer-scroll a:focus {
    color:#16a085;
}

@media (max-width: 1024px) { 
    .js-footer {
        text-align: center;
    }
    .js-footer .js-footer-nav {
        padding-bottom:1rem;
    }
    .js-footer .js-footer-scroll a {
        float:none;
    }
}


/* Social Bar */

.js-social-bar {
    display: block;
    position: relative;
    border-top: .12rem solid #f0f0f0;
    padding-top: 1rem;
    padding-bottom: 1rem;
    margin-top: 1rem; 

}
.js-social-bar-item {
    display: block;
    position: relative;
}
.js-social-bar-item a {
    display: block;
    padding:1rem;
    background:#fff;
    text-align: center;
    font-size:1.4rem;
    text-decoration: none;
    font-family: 'Nunito', sans-serif;
    color:#777;
    border-radius: .25rem;
    transition: ease .2s;
}
.js-social-bar-item a:hover,
.js-social-bar-item a:focus {
    background:#16a085;
    color:#fff;
}
.js-social-bar-item .bi {
    padding-right:.25rem;
    font-size:1.3rem;
}


/* Resale Second Hand */
.js-resale-layout .js-resale-block {
    display: block;
    position: relative;
    background:#f9f9f9;
    border-radius: .25rem;
}
.js-resale-layout .js-resale-block img {
    border-radius: .25rem .25rem 0 0;
}
.js-resale-layout .js-resale-meta-price {
    font-weight: bold;
    color:#444;
}
.js-resale-layout .js-resale-meta-desc {
    font-size:.9rem;
    font-weight: 300;
}



/* Handpan Mieten */
.js-handpan-layout .js-handpan-block {
    display: block;
    position: relative;
    background:#f9f9f9;
    padding:1rem;
    border-radius: .25rem;
}

.js-handpan-layout .js-handpan-meta-price {
    font-weight: 600;
    color:#666;
}
.js-handpan-label {
    background:#f9f9f9;
    display: inline-block;
    padding:.2rem .85rem .2rem .85rem;
    border-radius: 10rem;
    font-family: 'Nunito', sans-serif;
    font-weight: 600;
    font-size:.8rem;
    color:#fff;
}
.js-handpan-no {
    background: #f44336;
}
.js-handpan-yes {
    background: #8BC34A;
}
.js-handpan-soon {
    background: #FF9800;
}

.js-handpan-price {
    font-weight: 600;
    font-size:1.15rem;
    color:#16a085;
}
.js-handpan-price .text-muted {
    font-weight: 300;
}
.js-handpan-layout .js-handpan-image {
    padding:0;
}
.js-handpan-media .js-handpan-image {
    padding:1rem 3rem 1rem 3rem;
}

.js-hp-label {
    font-weight: 300;
    background:#ff5722;
    display: inline-block;
    padding:.15rem .5rem;
    color:#fff;
    font-size:.8rem;
    border-radius: 0 .25rem .25rem 0;
    position: absolute;
    left:0;
}

.js-hp-image-container {
  position: relative;
  display: block;
}

.js-hp-image-container img {
  display: block;
  width: 100%;
  padding:1rem;
}
.js-hp-image-container .js-hp-img-default,
.js-hp-image-container .js-hp-img-hover {
      transition: ease .25s;
}

.js-hp-img-hover {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
}

.js-hp-image-container:hover .js-hp-img-hover {
  opacity: 1;
}
.js-hp-image-container:hover .js-hp-img-default {
    opacity: 0 ;
}



/* Weblinks */

.js-weblink a {
    text-decoration: none;
    position: relative;
    display: block;
    background:#f9f9f9;
    color:#000;
    padding:1rem 1rem .5rem 1rem;
    margin-bottom:1rem;
    transition: ease .2s;
    border-radius: .25rem;
}

.js-weblink .bi {
    font-size:1.15rem;
    padding-right:.4rem;
}
.js-weblink a span {
    font-weight: bold;
}
.js-weblink .js-weblink-desc {
    font-weight: 300;
}
.js-weblink a:hover,
.js-weblink a:focus {
    color:#fff;
    background:#16a085;
}


.js-topic-navigation {
    display: block;
    position: relative;
}
.js-topic-block {
    display: block;
    position: relative;
}
.js-topic-block a {
    display: block;
    text-decoration: none;
    color:#444;
    background:#f9f9f9;
    display: block;
    position: relative;
    margin-bottom:1rem;
    padding:.35rem .75rem .35rem .75rem;
    font-weight: 300;
    transition:ease .2s;
    border-radius: .25rem;
}
.js-topic-block a:hover,
.js-topic-block a:focus {
    color:#fff;
    background:#16a085;
}
.topic-back {
    background:#16a085 !important;
    color:#fff !important;
}
.topic-back:hover,
.topic-back:focus {
    color:#fff;
    background:#f4d03f !important;
}

.sticky-top {
    top:7rem;
    z-index: 100;
}



/* Responsive Styles für Bildschirme bis 1366px */
@media (max-width: 1366px) {
  .container {
        max-width: 100% !important;
        padding: 0 2rem;
    
    }

}


/* Single Product Custom */

.js-wc-hero-variations-block {
    border-radius: .25rem;
}

.js-wc-hero-variations-block .js-wc-hero-variations-price {
    font-weight: bold;
    font-size:1.15rem;
    display: block;
    margin-bottom:1rem;
    color:#16a085;
}

.js-wc-hero-variations-block td,
.js-wc-hero-variations-block input, 
.js-wc-hero-variations-block select {
    margin-bottom:.5rem;
    display: block;
    width:100%;
}

.js-wc-hero-variations-block th {
    display: block;
    
}
.js-wc-hero-variations-desc {
	font-size:1.15rem;
	font-weight:300;
    padding-right:2rem;
}
.js-wc-gallery .carousel-inner {
    border-radius: .25rem;
}
.js-wc-gallery .col img {
    transition: ease .2s;
    opacity: .7;
    border-radius: .25rem;
}
.js-wc-gallery .col img:hover {
    opacity: 1;
}




/* Reviews */

.js-review-single,
.js-review-content {
    display: block;
    position: relative;
    border-radius: .25rem;
    width:100%;
}

.js-review-single .js-review-title {
    font-weight: bold;
    font-size:1.15rem;
    color:#333;
    font-family: 'Nunito', sans-serif;
}
.js-review-single .js-review-check {
    font-size:.9rem;
    color: #16a085;
}
.js-review-single .js-review-category {
    background:#16a085;
    display: inline-block;
    color:#fff;
    padding:.1rem .5rem .1rem .5rem;
    border-radius: .25rem;
    font-size:.8rem;
    font-weight: 300;
    margin-bottom:.5rem;
}
.js-review-single .js-review-stars {
    color: #FFC107;
    font-size:1.15rem;
}
.js-review-single .js-review-content {
    font-weight: 300;
}
.js-review-single .js-review-date {
    font-size:.8rem;
    color:#777;
}

.js-review-hero .js-avg-total {
    font-size:3rem;
    font-weight: bold;
    font-family: 'Nunito', sans-serif;
    display: block;
    position: relative;
}
.js-review-hero .js-review-info {
    font-weight:300;
    color:#666;
}

.js-review-hero .js-reviews-total a {
    color:#16a085;
    transition: ease .2s;
}
.js-review-hero .js-reviews-total a:hover, 
.js-review-hero .js-reviews-total a:focus, 
.js-review-hero .js-reviews-total a:active {
    color: #000;
}


.js-review-hero .js-review-check-info {
    font-size:1.15rem;
    font-weight: 300;
}
.js-review-hero .js-review-check-info .bi-check-circle-fill {
    color:#16a085;
}
.js-review-filter .btn {
    margin-right:.5rem;
}


.js-review-form .form-group {
    margin-bottom:1rem;
}
.js-review-form label {
    display: block;
    margin-bottom:.5rem;
}
.js-review-form a {
    color:#16a085;
    transition: ease .15s;
}
.js-review-form a:hover, 
.js-review-form a:focus, 
.js-review-form a:active {
    color: #000;
}


/* MUSIK */

.js-release-tracklist .track-item {
    display: block;
    padding:.35rem .75rem .35rem .75rem;
    background:#f9f9f9;
    margin-bottom:.5rem;
    cursor:pointer;
    border-radius: .25rem;
    font-size:1rem;
    font-weight: 300;
    transition: ease .15s;
}
.js-release-tracklist .track-item:hover, 
.js-release-tracklist .track-item:active {
    background:#16a085;
    color:#fff;
}
.js-release-tracklist .track-item .track-duration {
    float:right;
    opacity: .4;
}
.js-release-tracklist .track-item .bi {
    margin-right:.35rem;
}
.js-release-image-container img {
	border-radius:.25rem;
}

.js-album-layout a {
	transition:ease .2s;
	border-radius:.25rem;
}
.js-album-layout img {
	border-radius:.25rem;
}
.js-album-layout a:hover {
	opacity:.8;
}


/* Responsive */
@media (max-width: 1199.98px) {
  /* lg, md, sm, xs */
  html {
    font-size: 15px;
  }
    .js-page-hero {
    	height:76vh;
    	
    } 
}


@media (max-width: 991.98px) {
    .js-title-link a {
        display: block;
        float:none;
        margin-top:1rem;
        margin-bottom:0;
    } 
}



@media (max-width: 767.98px) {
  /* sm + xs screens */
  html {
    font-size: 15px;
  }
  .p-5 {
  	padding:2rem !important;
  }
  .js-page-hero .p-5 {
  	padding:.5rem !important;
  }
  .js-page-hero {
  	height:60vh;
  }
}
