/*
 * WooCommerce tweaks
 * ======================================================== */





/*
 * Product overview
 * ======================================================== */
body.woocommerce .products ul, 
body.woocommerce ul.products {
	flex-direction: row;
	flex-wrap: wrap;
	gap: var(--default-gap);
}
body.woocommerce .products ul::after,
body.woocommerce .products ul::before,
body.woocommerce ul.products::after,
body.woocommerce ul.products::before {
	display: none;
}
body.woocommerce ul.products li.product,
body.woocommerce-page ul.products li.product {
	margin: 0;
	flex-basis: calc((100% - 2 * var(--default-gap)) / 3);
	flex-grow: 0;
	margin-left: 0;
}
body.woocommerce-page.columns-3 ul.products li.product,
body.woocommerce.columns-3 ul.products li.product,
body.woocommerce ul.products.columns-3 li.product,
body.woocommerce-page ul.products.columns-3 li.product {
	width: unset;
}

@media (max-width: 1100px) {
	body.woocommerce ul.products li.product,
	body.woocommerce-page ul.products li.product {
		flex-basis: calc((100% - var(--default-gap)) / 2);
	}	
}








.woocommerce .products li.product a.button {
	display: none;
}
.woocommerce ul.products li.product .price {
	color: #000;
}
.woocommerce ul.products li.product .woocommerce-placeholder {
  border: 1px solid transparent;
}

p.return-to-shop {
	display: none;
}
.woocommerce div.product .panel.course-summary {
	margin-bottom: 30px;
}















/*
 * button overrides
 */
.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)) .woocommerce #respond input#submit.disabled, 
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce #respond input#submit:disabled, 
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce #respond input#submit:disabled[disabled],
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce a.button.disabled,
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce a.button:disabled, 
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce a.button:disabled[disabled], 
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce button.button.disabled, 
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce button.button:disabled, 
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce button.button:disabled[disabled], 
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce input.button.disabled, 
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce input.button:disabled, 
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce input.button:disabled[disabled] {
	padding: 0 2rem;
	border-color: var(--color-deleted-text);
	color: var(--color-deleted-text);
	opacity: 0.75;
}
.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)) .woocommerce #respond input#submit, 
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce a.button,
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce button.button,
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce input.button {
	margin: 0;
	line-height: 1;
	cursor: pointer;
	display: flex;
	padding: 0 2rem;
	min-width: 4rem;
	height: auto;

	background-color: transparent;
	background-image: none;
	border-radius: 0;
	border-style: solid;
	border-width: 0.15rem;
	border-color: var(--secondary-button-bg-color);
	color: var(--secondary-button-bg-color);
	
	font-weight: 600;
	font-size: 1.3rem;
	letter-spacing: .1rem;
	line-height: 3.5rem;
	text-transform: uppercase;
	text-decoration: none;

}
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit:hover,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit:focus,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button:hover,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button:focus,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button:hover,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button:focus,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button:hover,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button:focus,
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce #respond input#submit:hover,
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce #respond input#submit:focus,
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce a.button:hover,
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce a.button:focus,
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce button.button:hover,
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce button.button:focus,
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce input.button:hover,
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce input.button:focus {
	text-decoration: none;
	background-image: none;
	background-color: var(--secondary-button-bg-color-hover);
	border-color: var(--secondary-button-bg-color-hover);
	color: var(--secondary-button-text-color-hover);
}




/*
 * Product page
 */

article.product .woocommerce .single-product .product {
	display: flex;
	flex-wrap: wrap;
	gap: var(--default-gap);
}
article.product .woocommerce .single-product .product .related.products,
.woocommerce #content div.product .woocommerce-tabs,
.woocommerce div.product .woocommerce-tabs,
.woocommerce-page #content div.product .woocommerce-tabs,
.woocommerce-page div.product .woocommerce-tabs {
	flex-basis: 100%;
}
.woocommerce div.product .woocommerce-tabs ul.tabs {
	--tabs-border-color: #dadada;
	--tabs-background-color: #e9e9e9;
	--tabs-color: #515151;
}
.woocommerce div.product .woocommerce-tabs ul.tabs {
	display: flex;
	flex-direction: row;
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before {
	border-bottom: 1px solid var(--tabs-border-color);
}
.woocommerce div.product .woocommerce-tabs ul.tabs li {
	border: 1px solid var(--tabs-border-color);
	background-color: var(--tabs-background-color);
	border-radius: 0;
	padding: 0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
	background: #fff;
	color: var(--tabs-color);
	border-bottom-color: #fff;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after {
	display: none;
}
.woocommerce div.product .woocommerce-tabs h3 {
	margin-top: calc(2 * var(--padding-default));
	margin-bottom: var(--padding-default);
}
/* .woocommerce div.product .woocommerce-tabs ul.tabs li.active::before {
	box-shadow: 1px 1px 0 #fff;
  }
  .woocommerce div.product .woocommerce-tabs ul.tabs li.active::after {
	box-shadow: -1px 1px 0 #fff;
  } */
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	padding: 1rem 2rem;
	font-weight: 700;
	color: var(--tabs-color);
	text-decoration: none;
	font-family: var(--font-secondary);
	font-size: 1.5rem;
	text-transform: uppercase;
	letter-spacing: 0.1rem;
	font-weight: 600;
}





.woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product p.price,
.woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product span.price {
	color: #4f9509;
	font-size: 2.5rem;
}

body .woocommerce div.product form.cart {
	margin-bottom: 2em;
	display: flex;
	justify-content: start;
	gap: 2rem;
	padding-bottom: var(--padding-default);
}
body .woocommerce div.product form.cart::after,
body .woocommerce div.product form.cart::before {
	display: none;
}
.woocommerce div.product form.cart div.quantity {
	float: none;
	margin: 0;
	padding: 0;
	background: var(--bg-color-main);
	border-radius: 30px;
}
.woocommerce-product-details__short-description {
	padding: var(--padding-default) 0;
}
.product_meta {
	display: flex;
	flex-direction: column;
	justify-content: start;
	gap: calc(var(--default-gap) / 2);
}
.product_meta > span {
	font-family: var(--font-secondary);
	font-size: 1.4rem;
	text-transform: uppercase;
	letter-spacing: 0.075rem;
	font-weight: 450;
}
.product_meta > span span {
	font-family: var(--font-primary);
	font-size: 1.6rem;
	font-weight: 600;
	text-transform: none;
}
.product_meta > span.posted_in a {
	text-decoration: none;
	text-transform: none;
	font-family: var(--font-primary);
	font-size: 1.5rem;
	background-color: var(--color-grey-light);
	display: inline-block;
	padding: 0.1rem 1.5rem;
	color: var(--background-pattern);
	border-radius: 0.75rem;
}
.product_meta > span.posted_in a:hover,
.product_meta > span.posted_in a:focus {
	text-decoration: none;
	background-color: var(--color-secondary-50pct);
	color: var(--color-black);
}

.woocommerce div.product div.images img {
	mix-blend-mode: multiply;
}

/* pvtfw_variant_table options */
.woocommerce .pvtfw_variant_table_block table.variant:not(.has-background) thead th {
	background-color: transparent;
	border-color: transparent transparent var(--color-grey-light) transparent;
}
body .woocommerce div.product p.stock {
	font-size: 1.7rem;
	font-weight: 440;
	text-align: center;
}
.woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product .stock {
	color: var(--base-text-color);
}
.pvtfw_variant_table_block table.variant tbody tr:nth-child(2n),
.pvtfw_variant_table_block table.variant tbody tr:nth-child(2n+1) {
	background-color: transparent;
}
  
.pvtfw_variant_table_block table.variant tbody td,
.pvtfw_variant_table_block table.variant tfoot td {
	border-left-color: transparent;
	border-right-color: transparent;
	font-size: 1.7rem;
	font-weight: 440;
	padding: 0.5rem 1rem;
  }
.woocommerce .pvt-qty-input {
	border-radius: 4px;
	background-color: #f2f2f2;
	height: 4rem;
	max-height: 4rem;
	box-shadow: none;
	overflow: visible;
}
.pvt-qty-input .pvtfw-quantity input.input-text.qty.text {
	border-radius: 0;
	font-weight: 400;
}
.woocommerce .pvt-qty-input .qty-count:focus,
.pvt-qty-input .pvtfw-quantity input.input-text.qty.text:focus {
	outline-style: dashed;
	outline-width: 0.1rem;
	outline-offset: 0.2rem;
	outline-color: var(--base-text-color);	
}







/*
.woocommerce div.product form.cart {
	background: rgba(255,255,255,0.7);
	border-radius: 10px;
	padding: 20px 30px;
	box-shadow: 0px 0px 14px 0px var(--box-shadow-color-default);
}
*/
.woocommerce div.product form.cart .variations td,
.woocommerce div.product form.cart .variations th {
	line-height: 0;
	padding-top: 0;
	padding-bottom: 0;
}
.woocommerce div.product form.cart .variations tr {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	align-content: center;
}
.woocommerce div.product form.cart .variations label,
.woocommerce div.product form.cart .variations select {
	margin-bottom: 0;
}
.woocommerce div.product form.cart .variations select {
	background: transparent;
	padding-left: 20px;
	padding-right: 20px;
	border: 1px solid #000;
	font-weight: 510;
	color: var(--base-text-color);
}
.woocommerce .quantity .qty {
	margin-bottom: 0;
	border: none;
	font-weight: 700;
	width: 6.631em;
}

.woocommerce div.product .woocommerce-tabs .panel {
	box-shadow: 0px 0px 14px 0px rgba(0,0,0,0);
}

.woocommerce div.product form.cart .button.single_add_to_cart_button,
.woocommerce button.pvtfw_variant_table_cart_btn.button  {
	transition: all 250ms ease-in-out;
	text-decoration: none;
	background-color: transparent;
	border-radius: 0;
	border-style: solid;
	border-width: 0.15rem;
	border-color: var(--secondary-button-bg-color);
	color: var(--secondary-button-bg-color);
	font-weight: 600;
	font-size: 1.3rem;
	letter-spacing: .1rem;
	line-height: 3.5rem;
	text-transform: uppercase;
	padding: 0 2rem;
	min-width: 4rem;
	margin-bottom: 0;
	height: auto;
}
.woocommerce div.product.sold-individually form.cart .button.single_add_to_cart_button {
	transform: translateX(0px);
}
.woocommerce div.product form.cart .button.single_add_to_cart_button:before,
.woocommerce button.pvtfw_variant_table_cart_btn.button:before  {
	font-family: var(--font-icon);
	/* content: "\f356" !important;
	content: "\e651" !important; */
	content: "\f055" !important;
	font-weight: 400 !important;
}
.woocommerce div.product form.cart .button.single_add_to_cart_button:hover,
.woocommerce div.product form.cart .button.single_add_to_cart_button:focus,
.woocommerce button.pvtfw_variant_table_cart_btn.button:hover,
.woocommerce button.pvtfw_variant_table_cart_btn.button:focus {
	background-color: var(--secondary-button-bg-color-hover);
	border-color: var(--secondary-button-bg-color-hover);
	color: var(--secondary-button-text-color-hover);
}
.woocommerce div.product form.cart .button.single_add_to_cart_button:disabled,
.woocommerce div.product form.cart .button.single_add_to_cart_button[disabled],
.woocommerce button.pvtfw_variant_table_cart_btn.button.disabled,
.woocommerce button.pvtfw_variant_table_cart_btn.button[disabled] {
	background-color: #CBCBCB !important;
	color: #878787 !important;
	opacity: 1 !important;
}






























#add_payment_method .wc-proceed-to-checkout,
.woocommerce-cart .wc-proceed-to-checkout,
.woocommerce-checkout .wc-proceed-to-checkout {
	display: flex;
	justify-content: flex-end;
}



#add_payment_method .wc-proceed-to-checkout a.checkout-button,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce-checkout .wc-proceed-to-checkout a.checkout-button,
button#place_order {
	display: flex;
	margin: 0;
	cursor: pointer;
	height: auto;
	padding: var(--padding-default) calc( 2 * var(--padding-default));
	
	font-size: 1.5rem;
	line-height: 1;
	font-weight: 700;
	letter-spacing: 0.2rem;
	border-radius: 0;
	border-width: 0.15rem;
	border-style: solid;

	background-color: var(--primary-button-bg-color-hover);
	border-color: var(--primary-button-bg-color-hover);
	color: var(--primary-button-text-color-hover);

}
#add_payment_method .wc-proceed-to-checkout a.checkout-button:hover,
#add_payment_method .wc-proceed-to-checkout a.checkout-button:focus,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:focus,
.woocommerce-checkout .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce-checkout .wc-proceed-to-checkout a.checkout-button:focus,
button#place_order:hover,
button#place_order:focus {
	background-color: var(--color-primary);
	border-color: var(--color-primary);
	color: var(--primary-button-text-color-hover);
}
#add_payment_method #payment ul.payment_methods li img,
.woocommerce-cart #payment ul.payment_methods li img,
.woocommerce-checkout #payment ul.payment_methods li img {
	width: auto;
}

.cart-contents {
    position: relative;
    display: flex !important;
    flex-flow: column nowrap;
    justify-content: center;
}

/* .cart-contents:before {
    font-family: 'Font Awesome 6 Pro';	
    content: "\f291" !important;
	font-weight: 500;
} */
.cart-contents:hover {
    text-decoration: none;
}
.fa.fa-shopping-basket {
	font-weight: 600 !important;
}
.cart-contents-count {
	position: absolute;
    color: var(--base-text-color-white);;
    background: #ed5158;
    font-weight: bold;
    border-radius: 50%;
    padding: 1px 6px;
    line-height: 1.5;
    font-family: Arial, Helvetica, sans-serif;
    vertical-align: top;
    height: 17px; 
    width: 17px;
    transform: translateY(-50%) translateX(50%); 
    font-size: 10px;
}


.button-box.button-box-option {
	padding-top: 20px;
}
.woocommerce div.product form.cart .button-box .button {
	float: none;
	background: var(--base-text-color);
	color: var(--base-text-color-white);;
	font-weight: 400;
	font-size: 14px;
	display: inline-block;
	padding: 0 30px;
	border-radius: 50px;
	height: 40px;
	line-height: 40px;
	text-decoration: none;
	transition: all 250ms ease-in-out;
}
.woocommerce div.product form.cart .button-box .button:hover,
.woocommerce div.product form.cart .button-box .button:focus {
	background: var(--sos-yellow);
	color: var(--base-text-color);
}


@media (min-width: 768px) {
	.woocommerce-cart-form__contents tr {
		display: flex;
		justify-content: space-between;
	}
	.woocommerce-cart-form__contents tr > * {
		width: auto;
	}
	.product-remove {
		flex-basis: 5rem;
	}
	.product-thumbnail {
		flex-basis: 8rem;
		text-align: center;
	}
	.product-name {
		flex-basis: 30%;
		flex: 1;
	}
	.product-price {
		flex-basis: 11rem;
		text-align: left;
	}
	.product-quantity {
		flex-basis: 10rem;
		text-align: center;
	}
	.product-subtotal {
		flex-basis: 13rem;
	}
	.woocommerce #content table.cart td.actions .coupon,
	.woocommerce table.cart td.actions .coupon,
	.woocommerce-page #content table.cart td.actions .coupon,
	.woocommerce-page table.cart td.actions .coupon {
		display: inline-flex;
		margin-right: auto;
	}
	.woocommerce-cart-form__contents tr .actions {
		flex-basis: 100%;
		display: flex;
	}
	#coupon_code {
		min-width: 20rem;
		font-size: 1.6rem;
		padding: 1.1rem 2rem;
	}
	.checkout_coupon.woocommerce-form-coupon #coupon_code {
		width: 100%;
		padding: 0.9rem 2rem;
		padding: 1rem 2rem;
		font-size: 1.6rem;
	}
	.button[name="update_cart"] {
		display: inline-flex;
		margin-left: auto;
	}
}
/* .btw-notice {
	padding: 14px 30px 14px 30px;
	border-radius: 7px;
	color: #010101;
	background: rgba(0,0,0,0.05);
	font-size: 13px;
	margin-bottom: 40px;
}
.btw-notice p {
	margin-bottom: 0;
}
.btw-notice a {
	color: #010101;
	text-decoration: none;
}
.btw-notice a:hover {
	color: #010101;
	text-decoration: underline;
} */


.woocommerce table.shop_table {
	border: 1px solid var(--base-border-color-white);
	background: var(--bg-color-main);
}
.woocommerce table.shop_table th {
	border-bottom: 1px solid #ddd;
}
.woocommerce table.shop_table td {
	border-top: 1px solid var(--base-border-color-white);
}
.woocommerce table.shop_table td:not([colspan]) {
	border-top: 1px solid var(--base-border-color-white);
	display: flex;
	justify-content: center;
	flex-direction: column;
	font-size: 90%;
}



.woocommerce table.shop_table td a,
#add_payment_method #payment a,
.woocommerce-cart #payment a,
.woocommerce-checkout #payment a {
	color: #01010180;
}
.woocommerce table.shop_table td a:hover,
#add_payment_method #payment a:hover,
.woocommerce-cart #payment a:hover,
.woocommerce-checkout #payment a:hover {
	color: #010101;
}
.woocommerce a.remove {
	font-size: 1em;
	height: 2em;
	width: 2em;
	line-height: 2;
}
.woocommerce table.shop_table td.product-thumbnail {
	padding-top: 1px;
	padding-bottom: 1px;
}
.woocommerce table.shop_table td.product-thumbnail a {
	display: block;
	width: 100%;
	height: 100%;
}
.woocommerce table.shop_table td.product-thumbnail a > img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}



.cart_totals h2 {
	margin-top: 2rem;
	margin-bottom: 1rem;
	font-weight: 440;
	letter-spacing: 0.2rem;
	font-size: 2.4rem;
	text-align: left;
	padding-left: 12px;
}
.woocommerce .cart_totals table.shop_table tr:last-child th {
	border-bottom-color: transparent;
	border-top-color: transparent;
} 
.woocommerce table.shop_table tbody:first-child tr:first-child th:first-child {
	border-bottom: 0;
}
.woocommerce .cart_totals table.shop_table tr:last-child td {
	border-top-color: transparent;
}
.woocommerce table.shop_table tbody th,
.woocommerce table.shop_table tfoot td,
.woocommerce table.shop_table tfoot th {
	border-top-color: transparent;
}
.woocommerce table.shop_table:not(.woocommerce-checkout-review-order-table) tr:last-child td {
	border-bottom-color: transparent;
}
.woocommerce table.shop_table td:last-child {
	text-align: right !important;
}
#add_payment_method #payment,
.woocommerce-cart #payment,
.woocommerce-checkout #payment {
	background: rgba(255,255,255,0.7);
}
.woocommerce #payment label {
	display: unset;
}
#add_payment_method #payment div.payment_box,
.woocommerce-cart #payment div.payment_box,
.woocommerce-checkout #payment div.payment_box {
	background-color: var(--wc-bg-ideal-select-bank);
	color: #010101;
}
#add_payment_method #payment div.payment_box::before,
.woocommerce-cart #payment div.payment_box::before,
.woocommerce-checkout #payment div.payment_box::before {
	border: 1em solid var(--wc-bg-ideal-select-bank);
	border-right-color: transparent;
	border-left-color: transparent;
	border-top-color: transparent;
}

.product_cat-tickets .woocommerce #content div.product div.images,
.product_cat-tickets .woocommerce div.product div.images,
.product_cat-tickets .woocommerce-page #content div.product div.images,
.product_cat-tickets .woocommerce-page div.product div.images,
.product_cat-training .woocommerce #content div.product div.images,
.product_cat-training .woocommerce div.product div.images,
.product_cat-training .woocommerce-page #content div.product div.images,
.product_cat-training .woocommerce-page div.product div.images,

.product_cat-tickets-en .woocommerce #content div.product div.images,
.product_cat-tickets-en .woocommerce div.product div.images,
.product_cat-tickets-en .woocommerce-page #content div.product div.images,
.product_cat-tickets-en .woocommerce-page div.product div.images,
.product_cat-training-en .woocommerce #content div.product div.images,
.product_cat-training-en .woocommerce div.product div.images,
.product_cat-training-en .woocommerce-page #content div.product div.images,
.product_cat-training-en .woocommerce-page div.product div.images {	
	display: none;
}
.product_cat-tickets .woocommerce #content div.product div.summary,
.product_cat-tickets .woocommerce div.product div.summary,
.product_cat-tickets .woocommerce-page #content div.product div.summary,
.product_cat-tickets .woocommerce-page div.product div.summary,
.product_cat-training .woocommerce #content div.product div.summary,
.product_cat-training .woocommerce div.product div.summary,
.product_cat-training .woocommerce-page #content div.product div.summary,
.product_cat-training .woocommerce-page div.product div.summary,

.product_cat-tickets-en .woocommerce #content div.product div.summary,
.product_cat-tickets-en .woocommerce div.product div.summary,
.product_cat-tickets-en .woocommerce-page #content div.product div.summary,
.product_cat-tickets-en .woocommerce-page div.product div.summary,
.product_cat-training-en .woocommerce #content div.product div.summary,
.product_cat-training-en .woocommerce div.product div.summary,
.product_cat-training-en .woocommerce-page #content div.product div.summary,
.product_cat-training-en .woocommerce-page div.product div.summary {
	float: none;
	width: 108%;
	clear: both;
}



/*
 * WooCommerce My Account
 * ======================================================== */

.woocommerce-MyAccount-navigation ul {
	list-style: none !important;
	padding-left: 0;
	gap: 0.5rem;
	width: max-content;
}
ul li.woocommerce-MyAccount-navigation-link {
	background: transparent;
	padding-left: 0;
}
ul li.woocommerce-MyAccount-navigation-link a {
	width: 100%;
	display: flex;
	gap: 1rem;
	align-items: center;
	padding: 0.5rem 2rem 0.5rem 1.5rem;
	color: var(--base-text-color-75);
	font-size: 1.4rem;
	text-transform: uppercase;
	text-decoration: none;
	font-weight: 500;
}
.woocommerce-MyAccount-navigation-link a:before,
.back-to-dashboard-link a:before {
	display: inline-block;
	font: normal normal normal 14px/1 var(--font-icon);
	font-size: 90%;
	font-weight: 300;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	width: 2rem;
	padding-right: 0;
	opacity: 0.4;
}
.woocommerce-MyAccount-navigation-link a:hover,
.woocommerce-MyAccount-navigation-link a:focus {
	background: #f1f1f1;
}
.woocommerce-MyAccount-navigation-link.is-active a,
.woocommerce-MyAccount-navigation-link.is-active a:hover,
.woocommerce-MyAccount-navigation-link.is-active a:focus {
	background: var(--base-text-color);
	color: var(--color-white);
	text-decoration: none;
}
.woocommerce-MyAccount-navigation-link.is-active a:before{
	opacity: 0.7;
}
.woocommerce-MyAccount-navigation-link--dashboard a:before,
.back-to-dashboard-link a:before {
	content: "\f0e4";
}
.woocommerce-MyAccount-navigation-link--orders a:before {
	content: "\f009";
}
.woocommerce-MyAccount-navigation-link--downloads a:before {
	content: "\f019";
}
.woocommerce-MyAccount-navigation-link--edit-address a:before {
	content: "\f2b9";
}
.woocommerce-MyAccount-navigation-link--edit-account a:before {
	content: "\f007";
}
.woocommerce-MyAccount-navigation-link--payment-methods a:before {
	content: "\f51e";
}
.woocommerce-MyAccount-navigation-link--customer-logout a:before {
	content: "\f2f5";
}


.woocommerce-MyAccount-content .woocommerce-orders-table .woocommerce-button {
	font-family: var(--font-secondary);
	line-height: 24px;
	height: 24px;
	padding: 0 20px;
	font-size: 12px;
	text-transform: uppercase;
	background: #02D4BB;
	color: var(--base-text-color-white);;
}
.woocommerce-MyAccount-content .woocommerce-orders-table .woocommerce-button:hover,
.woocommerce-MyAccount-content .woocommerce-orders-table .woocommerce-button:focus {
	background: #000;
	color: var(--base-text-color-white);;
}
.woocommerce-MyAccount-content .woocommerce-orders-table__cell-order-number a {
	color: #128073;
}
.woocommerce-MyAccount-content .woocommerce-orders-table__cell-order-number a:hover {
	color: #000;
}



.back-to-shop {
	transform: translate(0, -30px);
}
.back-to-shop a.button {
	border-style: solid !important;
	border-width: 1px !important;
}
.back-to-shop a.button i {
	margin-left: 0;
	margin-right: 14px;
	opacity: 1;
}


main ul.woocommerce-message,
main ul.woocommerce-info,
main ul.woocommerce-error {
	padding-left: 3.5em;
}


#billing_address_2_field,
#shipping_address_2_field {
	display: none !important;
}















/*
 * WooCommerce tweaks
 * ======================================================== *//*
 .woocommerce .products li.product a.button {
	display: none;
}

.woocommerce ul.products li.product .woocommerce-placeholder {
  border: 1px solid transparent;
}

p.return-to-shop {
	display: none;
}
.woocommerce div.product .panel.course-summary {
	margin-bottom: 30px;
}


.woocommerce div.product form.cart {
	background: rgba(255,255,255,0.7);
	border-radius: 10px;
	padding: 20px 30px;
	box-shadow: 0px 0px 14px 0px rgba(0,0,0,0.14);
}
.woocommerce div.product form.cart .variations td,
.woocommerce div.product form.cart .variations th {
	line-height: 0;
	padding-top: 0;
	padding-bottom: 0;
}
.woocommerce div.product form.cart .variations tr {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	align-content: center;
}
.woocommerce div.product form.cart .variations label,
.woocommerce div.product form.cart .variations select {
	margin-bottom: 0;
}
.woocommerce div.product form.cart .variations select {
	background: transparent;
	padding-left: 20px;
	padding-right: 20px;
	border: 1px solid #000;
	font-family: Quicksand;
	font-weight: 510;
	color: var(--base-text-color);
}
.woocommerce div.product form.cart div.quantity {
	float: left;
	margin: 0 0 0 0;
	padding: 0 40px 0 10px;
	background: #fff;
	border-radius: 30px;
}
.woocommerce .quantity .qty {
	margin-bottom: 0;
	border: none;
	font-weight: 700;
}
	*/


/*
 * button overrides
 */
 /*
.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)) .woocommerce #respond input#submit.disabled, 
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce #respond input#submit:disabled, 
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce #respond input#submit:disabled[disabled],
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce a.button.disabled,
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce a.button:disabled, 
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce a.button:disabled[disabled], 
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce button.button.disabled, 
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce button.button:disabled, 
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce button.button:disabled[disabled], 
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce input.button.disabled, 
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce input.button:disabled, 
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce input.button:disabled[disabled] {
	padding: 0 30px;
}
.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)) .woocommerce #respond input#submit, 
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce a.button,
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce button.button,
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce input.button {
	padding-left: 30px;
	padding-right: 30px;
	border-radius: 30px;
	text-transform: none;
	font-size: 15px;
}
#add_payment_method .wc-proceed-to-checkout a.checkout-button,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce-checkout .wc-proceed-to-checkout a.checkout-button,
button#place_order {
	margin-bottom: 1em;

	
	color: var(--primary-button-text-color);;
	background-color: var(--primary-button-bg-color);
	border-color: var(--primary-button-bg-color);
	border-radius: 25px;
	height: 50px;
	padding: 0 40px;
	font-size: 15px;
	line-height: 50px;
	letter-spacing: .1rem;
	text-transform: none;
	transition: all 250ms ease-in-out;
}
#add_payment_method .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce-checkout .wc-proceed-to-checkout a.checkout-button:hover,
button#place_order:hover {
	color: var(--primary-button-text-color-hover);
	background-color: var(--primary-button-bg-color-hover);
	border-color: var(--primary-button-bg-color-hover);
}










.woocommerce div.product form.cart .button.single_add_to_cart_button {
	background: var(--sos-yellow);
	color: var(--base-text-color);
	padding: 0 30px;
	font-weight: 510;
	text-transform: none;
	border-radius: 30px;
	transition: all 250ms ease-in-out;
	transform: translateX(-30px);
}
.woocommerce div.product.sold-individually form.cart .button.single_add_to_cart_button {
	transform: translateX(0px);
}

.woocommerce div.product form.cart .button.single_add_to_cart_button:after {
	font-family: "Font Awesome 5 Pro";
	content: "\f356" !important;
	font-weight: 400 !important;
	padding-left: 14px;
}
.woocommerce div.product form.cart .button.single_add_to_cart_button:focus,
.woocommerce div.product form.cart .button.single_add_to_cart_button:hover {
	background: var(--base-text-color);
	color: #fff;
}
.woocommerce div.product form.cart .button.single_add_to_cart_button:disabled,
.woocommerce div.product form.cart .button.single_add_to_cart_button.disabled,
.woocommerce div.product form.cart .button.single_add_to_cart_button[disabled] {
	background-color: #CBCBCB !important;
	color: #878787 !important;
	opacity: 1 !important;
}
.cart-contents {
    position: relative;
    display: flex !important;
    flex-flow: column nowrap;
    justify-content: center;
}

.cart-contents:before {
    font-family: 'Font Awesome 5 Pro';	
    content: "\f291" !important;
	font-weight: 500;
}
.cart-contents:hover {
    text-decoration: none;
}
.fa.fa-shopping-basket {
	font-weight: 600 !important;
}
.cart-contents-count {
	position: absolute;
    color: #fff;
    background: #ed5158;
    font-weight: bold;
    border-radius: 50%;
    padding: 1px 6px;
    line-height: 1.5;
    font-family: Arial, Helvetica, sans-serif;
    vertical-align: top;
    height: 17px; 
    width: 17px;
    transform: translateY(-50%) translateX(50%); 
    font-size: 10px;
}


.button-box.button-box-option {
	padding-top: 20px;
}
.woocommerce div.product form.cart .button-box .button {
	float: none;
	background: var(--base-text-color);
	color: #fff;
	font-weight: 400;
	font-size: 14px;
	display: inline-block;
	padding: 0 30px;
	border-radius: 50px;
	height: 40px;
	line-height: 40px;
	text-decoration: none;
	transition: all 250ms ease-in-out;
}
.woocommerce div.product form.cart .button-box .button:hover {
	background: var(--sos-yellow);
	color: var(--base-text-color);
}


.btw-notice {
	padding: 14px 30px 14px 30px;
	border-radius: 7px;
	color: #010101;
	background: rgba(0,0,0,0.05);
	font-size: 13px;
	margin-bottom: 40px;
}
.btw-notice p {
	margin-bottom: 0;
}
.btw-notice a {
	color: #010101;
	text-decoration: none;
}
.btw-notice a:hover {
	color: #010101;
	text-decoration: underline;
}




.woocommerce table.shop_table {
	border: 1px solid #fff;
	background: #fff;
}
.woocommerce table.shop_table th {
	border-bottom: 1px solid #ddd;
}
.woocommerce table.shop_table td {
	border-top: 1px solid #fff;
}
.woocommerce table.shop_table td a,
#add_payment_method #payment a,
.woocommerce-cart #payment a,
.woocommerce-checkout #payment a {
	color: #01010180;
}
.woocommerce table.shop_table td a:hover,
#add_payment_method #payment a:hover,
.woocommerce-cart #payment a:hover,
.woocommerce-checkout #payment a:hover {
	color: #010101;
}
.woocommerce a.remove {
	font-size: 1em;
	height: 2em;
	width: 2em;
	line-height: 2;
}
.cart_totals h2 {
	text-transform: none;
	font-size: 21px;
}
.woocommerce .cart_totals table.shop_table th,
.woocommerce .cart_totals table.shop_table td {
	border-top-color: transparent;
}
.woocommerce table.shop_table tbody th,
.woocommerce table.shop_table tfoot td,
.woocommerce table.shop_table tfoot th {
	border-top-color: transparent;
}
.woocommerce table.shop_table tr:last-child th,
.woocommerce table.shop_table tr:last-child td {
	border-bottom-color: transparent;
}
.woocommerce table.shop_table td:last-child {
	text-align: right !important;
}
#add_payment_method #payment,
.woocommerce-cart #payment,
.woocommerce-checkout #payment {
	background: rgba(255,255,255,0.7);
}
.woocommerce #payment label {
	display: unset;
}
#add_payment_method #payment div.payment_box,
.woocommerce-cart #payment div.payment_box,
.woocommerce-checkout #payment div.payment_box {
	background-color: #5ae2d0;
	color: #010101;
}
#add_payment_method #payment div.payment_box::before,
.woocommerce-cart #payment div.payment_box::before,
.woocommerce-checkout #payment div.payment_box::before {
	border: 1em solid #5ae2d0;
	border-right-color: transparent;
	border-left-color: transparent;
	border-top-color: transparent;
}

*/



/*
 * WooCommerce My Account
 * ======================================================== */
/*
.woocommerce-MyAccount-navigation ul {
	list-style: none !important;
}
.woocommerce-MyAccount-navigation-link {}
.woocommerce-MyAccount-navigation-link.is-active a,
.woocommerce-MyAccount-navigation-link.is-active a:hover {
	color: #000;
	text-decoration: none;
}
.woocommerce-MyAccount-navigation-link:before,
.back-to-dashboard-link:before {
	display: inline-block;
	font: normal normal normal 14px/1 "Font Awesome 5 Pro";
	font-size: inherit;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	width: 20px;
	padding-right: 0;
	color: var(--primary-link-color);
	opacity: 0.5;
}
.woocommerce-MyAccount-navigation-link.is-active:before {
	color: #000;
}
.woocommerce-MyAccount-navigation-link--dashboard:before,
.back-to-dashboard-link:before {
	content: "\f0e4";
}
.woocommerce-MyAccount-navigation-link--orders:before {
	content: "\f009";
}
.woocommerce-MyAccount-navigation-link--downloads:before {
	content: "\f019";
}
.woocommerce-MyAccount-navigation-link--edit-address:before {
	content: "\f2b9";
}
.woocommerce-MyAccount-navigation-link--edit-account:before {
	content: "\f007";
}
.woocommerce-MyAccount-navigation-link--payment-methods:before {
	content: "\f51e";
}
.woocommerce-MyAccount-navigation-link--customer-logout:before {
	content: "\f023";
}


.woocommerce-MyAccount-content .woocommerce-orders-table .woocommerce-button {
	font-family: 'Quicksand', sans-serif;
	line-height: 24px;
	height: 24px;
	padding: 0 20px;
	font-size: 12px;
	text-transform: uppercase;
	background: #02D4BB;
	color: #fff;
}
.woocommerce-MyAccount-content .woocommerce-orders-table .woocommerce-button:hover,
.woocommerce-MyAccount-content .woocommerce-orders-table .woocommerce-button:focus {
	background: #000;
	color: #fff;
}
.woocommerce-MyAccount-content .woocommerce-orders-table__cell-order-number a {
	color: #128073;
}
.woocommerce-MyAccount-content .woocommerce-orders-table__cell-order-number a:hover {
	color: #000;
}
*/


body .woocommerce a.remove {
	height: 2rem;
	width: 2rem;
	font-size: 2.5rem;
	line-height: 2rem !important;
}

body .woocommerce form.checkout_coupon, 
body .woocommerce form.login, 
body .woocommerce form.register {
	border: none;
	padding: var(--padding-default) calc(1.5 * var(--padding-default));
	margin: 4rem 0;
	text-align: left;
	border-radius: 2rem;
	box-shadow: 0 1rem 3rem 0 rgba(0,0,0,0.05);
	transition: all 250ms ease-in-out;
}
body .woocommerce form .form-row .input-text,
body .woocommerce form .form-row select {
	display: block;
	box-sizing: border-box;
	width: 100%;
	height: auto;
	margin: 0;
	padding: 1.2rem 2rem;
	border-radius: 0.5rem;

	background-color: rgba(0,0,0,.015);
	border: 1px solid rgba(0,0,0,.2);

	font-family: inherit;
	font-size: 1.8rem;
	line-height: 1;
	font-weight: 400;
	letter-spacing: 0.075rem;
	color: var(--base-text-color);
}
.woocommerce form .show-password-input,
.woocommerce-page form .show-password-input {
	min-width: unset;
}
.woocommerce-checkout h3 {
	text-transform: uppercase;
}
body .woocommerce form .form-row {
	padding: 0.5rem 0;
	margin: 0 0 1.5rem;
}
#billing_first_name_field,
#billing_last_name_field,
#shipping_first_name_field,
#shipping_last_name_field {
	float: none;
	width: 100%;
}
body .woocommerce form .form-row:has(.button.woocommerce-button) {
	padding-top: 2rem;
	margin: 0 0 1rem;
}
.select2-container .select2-dropdown,
.select2-container .select2-selection {
	padding: 0.3rem 1rem;
	border-radius: 0.5rem;
	background-color: rgba(0,0,0,.015);
	background-color: #F6F8F9;
	border: 1px solid rgba(0,0,0,.2);
	font-family: inherit;
	font-size: 1.8rem;
	line-height: 1;
	font-weight: 400;
	letter-spacing: 0.075rem;
  }