/*
    Fix sticky elements going over sticky header
*/
.elementor-location-header {
    z-index: 999 !important;
    position: relative;
}

.vartable .globalcartcol .globalcheck {
    pointer-events: none;
}

.vartable .globalcartcol .globalcheck.ready {
    pointer-events: auto;
}

/* fix elementor bug that keeps mobile sticky header also on desktop and tablet */
body[data-elementor-device-mode=tablet] header.elementor-top-section.elementor-sticky,
body[data-elementor-device-mode=desktop] header.elementor-top-section.elementor-sticky {
    position: relative !important;
    width: 100% !important;
}

/* 
    Fix topbar elementor cart under sticky header
*/
.elementor-location-header #topbar {
    z-index: 100 !important;
}

/*
	BR valido solo su mobile
*/
body[data-elementor-device-mode=desktop] br.onlymobile,
body[data-elementor-device-mode=tablet] br.onlymobile {
    display: none !important;

}

/* menu cart hidden by default, shown by js */
.elementor-widget-woocommerce-menu-cart {
    display: none;
}

/* mobile menu tweaks on elementor popup  */

#mobile-main-menu .elementor-nav-menu .has-submenu.highlighted .sub-arrow i:before {
    content: "\f0d8";
}


/*
    main menu overrides
*/
.elementor-top-section .elementor-nav-menu--main .special.menu-item:not(:hover):not(.current-menu-item):not(.current-page-item) .elementor-item {
    color: var(--e-global-color-accent);

}


/* woocommerce notices  */

@media only screen and (min-width: 769px) {
    .single-product .woocommerce-notices-wrapper>* {
        margin: 20px;
    }
}

@media only screen and (max-width: 768px) {

    .single-product .woocommerce-message {
        padding-bottom: 60px;
    }

    .single-product .woocommerce-error li,
    .woocommerce-info li,
    .woocommerce-message li {
        padding-bottom: 45px;
    }

    .single-product.woocommerce .woocommerce-error .button,
    .single-product.woocommerce .woocommerce-info .button,
    .single-product.woocommerce .woocommerce-message .button {
        position: absolute;
        bottom: 15px;
    }

}

.woocommerce div.product .stock {
    color: var(--e-global-color-accent);
}

.woocommerce div.product .stock.out-of-stock {
    color: var(--e-global-color-primary);
}

/*
    fix selected option flex
*/
body.single-product .woovr-variation-selector .dd-option.dd-option-without-desc,
body.single-product .woovr-variation-selector .dd-selected.dd-option-without-desc {
    display: block !important;
}

body.single-product .woovr-variation-selector .dd-selected-text,
body.single-product .woovr-variation-selector .dd-option-text {
    color: var(--e-global-color-primary);
    display: block;
    line-height: 30px !important;
}

/* hide already selected option from woovr-variation-extra dropdown  */
.woovr-variation-selector .dd-options .dd-option-selected {
    display: none !important;
}

/*  stock status on single product page  */
body.single-product .woovr-variation-extra .availability .hilight {
    font-size: 80%;
}

body.single-product .woovr-variation-extra.outofstock .availability .hilight {
    color: red;
}

body.single-product .elementor-add-to-cart>p.stock {
    float: left;
    width: 25%;
    margin-left: 20px;
    margin-bottom: 0;
}

body.single-product .elementor-add-to-cart .single_variation_wrap .single_variation {
    margin-left: 0;
    float: left;
    width: 25%;
}

body.single-product .elementor-add-to-cart .single_variation_wrap .single_variation p.stock {
    margin-bottom: 0;
}

.notice_mix {
    background-color: var(--e-global-color-bd14155);
    padding: 5px 15px;
    border: 1px dashed var(--e-global-color-primary);
}

.notice_mix h5 {
    color: var(--e-global-color-primary);
}

/* hide stuff on simple products page  */
body.single-product.simple-product .hide_on_simple_products {
    display: none !important;
}

/**
 * some rules that elementor keep loosing if saved in widget custom css
 */
section.hero-image {
    background-position: center right;
    background-repeat: no-repeat;
    background-size: cover;
}

body[data-elementor-device-mode=mobile] section.hero-image {
    background-position: center center;
}

.elementor-widget-call-to-action.bicolor-title .elementor-cta__title {
    background-color: var(--e-global-color-a0abbe0);
    padding: 5px 15px;
    border-radius: 30px 0px 0px 0px;

    font-family: "Noto Sans JP", Sans-serif;
    font-size: 50px;
    font-weight: 600;
    color: var(--e-global-color-bd14155);
    margin: 0 !important;
}

.elementor-widget-call-to-action.bicolor-title .elementor-cta__description {
    background-color: var(--e-global-color-0f94bec);
    padding: 5px 15px;
    border-radius: 0 0 30px 0px;

    font-family: "Noto Serif JP", Sans-serif;
    font-size: 26px;
    font-weight: 400;
    color: var(--e-global-color-accent);
}

body[data-elementor-device-mode=tablet] .elementor-widget-call-to-action.bicolor-title .elementor-cta__title {
    font-size: 40px;
}

body[data-elementor-device-mode=mobile] .elementor-widget-call-to-action.bicolor-title .elementor-cta__title {
    font-size: 26px;
}

body[data-elementor-device-mode=tablet] .elementor-widget-call-to-action.bicolor-title .elementor-cta__description {
    font-size: 22px;
}

body[data-elementor-device-mode=mobile] .elementor-widget-call-to-action.bicolor-title .elementor-cta__description {
    font-size: 14px;
}


/*
    Stop margin bottom on last paragraph of any elementor text widget
*/
.elementor-widget-text-editor p:last-child {
    margin-bottom: 0;
}

.elementor-widget-text-editor a {}

.elementor-widget-text-editor ul>li,
.elementor-widget-text-editor ol>li {
    margin-bottom: 10px;
}

/*  Gallery default styles */
.gallery {
    display: grid;
    margin-bottom: 20px;
    gap: 15px;
}

.gallery:last-child {
    margin-bottom: 0
}

.gallery-columns-2 {
    grid-template-columns: 1fr 1fr;
}

.gallery-columns-3 {
    grid-template-columns: 1fr 1fr 1fr;
}

.gallery-columns-4 {
    grid-template-columns: 1fr 1fr 1fr 1fr;
}

.gallery figure {
    background-color: #fff;
    padding: 10px;
    border-radius: 10px 0 10px 0px;
    box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.15);
    margin: 10px;
}

.gallery figure .gallery-caption {
    padding: 0;
}

body[data-elementor-device-mode=mobile] .gallery {
    grid-template-columns: 1fr 1fr !important;
}

body[data-elementor-device-mode=mobile] .gallery figure {
    padding: 5px;
    margin: 5px;
}

@media only screen and (max-width: 767px) {

    .elementor-widget-theme-post-content img.alignright,
    .elementor-widget-theme-post-content img.alignleft,
    .elementor-widget-theme-post-content img.aligncenter {
        width: 100%;
        float: none;
        display: block;
        margin: 0 0 20px 0;
    }
}


/*
	Gravity Forms Base CSS
*/
@media only screen and (min-width: 641px) {
    body .gform_wrapper {
        padding-left: 16px;
    }
}

body .gform_wrapper ul li.gfield:first-child {
    margin-top: 0;
}

body .elementor-section-wrap .gform_wrapper ul li.gfield {
    padding-bottom: 16px;
}

body .gform_wrapper .field_sublabel_below .ginput_complex.ginput_container label,
body .gform_wrapper .field_sublabel_below div[class*=gfield_time_].ginput_container label,
body .gform_wrapper .field_description_below .gfield_description {
    margin: 0;
    padding: 10px 0 0 5px;
    line-height: 1.2;
    font-size: 14px;
    color: var(--e-global-color-text);
}

body input[type=date],
body input[type=email],
body input[type=number],
body input[type=password],
body input[type=search],
body input[type=tel],
body input[type=text],
body input[type=url],
body select,
body textarea {
    border: 3px solid var(--e-global-color-secondary)!important;
    font-size: 16px !important;
}

body .gform_wrapper .resizable textarea {
    resize: vertical;
}

body input[type=date]:focus,
body input[type=email]:focus,
body input[type=number]:focus,
body input[type=password]:focus,
body input[type=search]:focus,
body input[type=tel]:focus,
body input[type=text]:focus,
body input[type=url]:focus,
body select:focus,
body textarea:focus {
    border: 3px solid var(--e-global-color-dbf93c3);
    background: var(--e-global-color-secondary);
}

body .gform_wrapper .gform_body .gform_fields .gfield select {
    padding: 8px 10px 7px 3px;
    -webkit-appearance: none;
    background-color: #fff;
    background-image: url("images/caret-down.png");
    background-position: 97% center;
    background-repeat: no-repeat;
}

.gform_wrapper .gform_footer input.button,
.gform_wrapper .gform_footer input[type=submit],
.gform_wrapper .gform_page_footer input.button,
.gform_wrapper .gform_page_footer input[type=submit] {
    font-weight: 600;
    border-color: var(--e-global-color-accent);
    background-color: var(--e-global-color-accent);
    color: var(--e-global-color-bd14155);
}

.gform_wrapper .gform_footer input.button:hover,
.gform_wrapper .gform_footer input[type=submit]:hover,
.gform_wrapper .gform_page_footer input.button:hover,
.gform_wrapper .gform_page_footer input[type=submit]:hover {
    border-color: var(--e-global-color-primary);
    background-color: var(--e-global-color-primary);
    color: var(--e-global-color-secondary);
}

.gform_wrapper .gform_page_footer input.gform_next_button,
.gform_wrapper .gform_page_footer input[type=submit] {
    float: right;
}

.gform_wrapper .gform_page_footer input.gform_previous_button {
    background-color: var(--e-global-color-secondary);
    border-color: var(--e-global-color-secondary);
}

/* upload file button */
.gform_wrapper .gform_fileupload_multifile .gform_drop_area input.button.gform_button_select_files {
    font-size: 14px;
    background-color: var(--e-global-color-secondary);
    color: #fff;
    border: 0;
}

.gform_wrapper .gform_fileupload_multifile .gform_drop_area input.button.gform_button_select_files:hover {
    background: var(--e-global-color-primary);
}

/* choosen select */
body .gform_wrapper .chosen-container-single .chosen-single {
    background: #fff;
    border: 3px solid var(--e-global-color-1df5a29);
    height: 40px;
    box-shadow: none;
}

body .gform_wrapper .chosen-container-single .chosen-single span {
    line-height: 35px;
    font-size: 16px;
}

body .gform_wrapper .chosen-container-single .chosen-single div b,
body .gform_wrapper .chosen-container-single.chosen-container-active .chosen-single div b {
    background-position: 0 8px;
}


/*
    ---------------  Woocommerce
*/
.woocommerce form .form-row-1_3,
.woocommerce form .form-row-2_3,
.woocommerce form .form-row-3_3 {
    width: 100%;
    margin-left: 0;
}

@media only screen and (min-width: 768px) {

    .woocommerce form .form-row-1_3,
    .woocommerce form .form-row-2_3,
    .woocommerce form .form-row-3_3 {
        width: 31%;
        overflow: visible;
    }

    .woocommerce form .form-row-2_3,
    .woocommerce form .form-row-3_3 {
        margin-left: 3.5%;
    }

    .woocommerce form .form-row-1_3,
    .woocommerce form .form-row-2_3 {
        float: left;
    }

    .woocommerce form .form-row-3_3 {
        float: right;
    }
}


/* checkout field country with just 1 country  */
.woocommerce-checkout .woocommerce-input-wrapper>strong {
    border: 3px solid var(--e-global-color-secondary);
    background: var(--e-global-color-secondary);
    display: table;
    width: 100%;
    font-size: 16px !important;
    box-sizing: border-box;
    padding: 0.44rem 1rem;
}


/* checkout field editor pro sections  */
.woocommerce-checkout>.thwcfe-checkout-section,
.woocommerce-checkout .col-1 .woocommerce-billing-fields .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout .col-1 .woocommerce-billing-fields .thwcfe-checkout-section,
.woocommerce-checkout .col-2 .woocommerce-additional-fields .thwcfe-checkout-section {
    margin-bottom: 30px;
    background-color: var(--e-global-color-bd14155);
    padding: 15px;
    overflow: hidden;
}

.woocommerce-checkout .col-1 .woocommerce-billing-fields>h3 {
    background-color: var(--e-global-color-bd14155);
    margin: 0;

    padding: 15px 15px 0px 15px;
}


/* Woocommerce info colors */
.woocommerce-error,
.woocommerce-info,
.woocommerce-message {
    background-color: var(--e-global-color-bd14155);
    border-top-color: var(--e-global-color-dbf93c3);
}

/* Normally Red */
.woocommerce-error {
    border-top-color: var(--e-global-color-primary);
}

.woocommerce-error::before {
    color: var(--e-global-color-primary);
}

/* Normally Blue */
.woocommerce-info {
    border-top-color: var(--e-global-color-dbf93c3);
}

.woocommerce-info::before {
    color: var(--e-global-color-text);
}

/* Normally Green */
.woocommerce-message {
    border-top-color: var(--e-global-color-accent);
}

.woocommerce-message::before {
    color: var(--e-global-color-accent);
}

/* Normally Green */
body.single-product .woocommerce-message .message-inner {
    background-color: var(--e-global-color-bd14155);
    border-top-color: var(--e-global-color-accent);
}

body.single-product .woocommerce-message::before {
    color: var(--e-global-color-accent);
}

/* Woocommerce buttons */
.woocommerce #content input.button.alt:hover,
.woocommerce #respond input#submit.alt:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.woocommerce-page #content input.button.alt:hover,
.woocommerce-page #respond input#submit.alt:hover,
.woocommerce-page a.button.alt:hover,
.woocommerce-page button.button.alt:hover,
.woocommerce-page input.button.alt:hover {
    background: var(--e-global-color-primary) !important;
    background-color: var(--e-global-color-primary) !important;
    color: var(--e-global-color-secondary) !important;
    text-shadow: transparent !important;
    box-shadow: none;
    border-color: var(--e-global-color-primary) !important;
}

.woocommerce #content input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce-page #content input.button:hover,
.woocommerce-page #respond input#submit:hover,
.woocommerce-page a.button:hover,
.woocommerce-page button.button:hover,
.woocommerce-page input.button:hover {
    background: var(--e-global-color-primary) !important;
    background-color: var(--e-global-color-primary) !important;
    color: var(--e-global-color-secondary) !important;
    text-shadow: transparent !important;
    box-shadow: none;
    border-color: var(--e-global-color-primary) !important;
}

.woocommerce #content input.button,
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce-page #content input.button,
.woocommerce-page #respond input#submit,
.woocommerce-page a.button,
.woocommerce-page button.button,
.woocommerce-page input.button {
    background: var(--e-global-color-accent) !important;
    color: var(--e-global-color-bd14155) !important;
    text-shadow: transparent !important;
    border-color: var(--e-global-color-accent) !important;
}

.woocommerce #content input.button.alt:hover,
.woocommerce #respond input#submit.alt:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.woocommerce-page #content input.button.alt:hover,
.woocommerce-page #respond input#submit.alt:hover,
.woocommerce-page a.button.alt:hover,
.woocommerce-page button.button.alt:hover,
.woocommerce-page input.button.alt:hover {
    background: var(--e-global-color-primary) !important;
    box-shadow: none;
    text-shadow: transparent !important;
    color: var(--e-global-color-secondary) !important;
    border-color: var(--e-global-color-primary) !important;
}

/* Payment Gateways */
#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 {
    /* max-width: 150px; */
}

#add_payment_method #payment,
.woocommerce-cart #payment,
.woocommerce-checkout #payment {
    background-color: var(--e-global-color-secondary);
}

#add_payment_method #payment div.payment_box,
.woocommerce-cart #payment div.payment_box,
.woocommerce-checkout #payment div.payment_box {
    background-color: var(--e-global-color-dbf93c3);
    color: var(--e-global-color-text);
}

#add_payment_method #payment div.payment_box::before,
.woocommerce-cart #payment div.payment_box::before,
.woocommerce-checkout #payment div.payment_box::before {
    border-bottom-color: var(--e-global-color-dbf93c3);
}

fieldset#komoju-cc-form {
    border: 0;
    padding: 0;
    line-height: 2em;
}

fieldset#komoju-cc-form .form-row {
    font-size: 18px;
    font-weight: 800;
    font-family: "Noto Sans JP", Sans-serif;
}

fieldset#komoju-cc-form .form-row label {
    margin-bottom: 20px;
    font-size: 16px;
    font-weight: 400;
}

fieldset#komoju-cc-form .form-row input {
    margin-right: 5px;
}

/* komoju payment subtypes icons */
fieldset#komoju-cc-form .subtypes {
    display: block;
    margin-bottom: 15px;
    padding-left: 24px;
}

fieldset#komoju-cc-form .subtypes>span {
    display: inline-block;
    width: 40px;
    height: 28px;
    margin-right: 5px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
    border-radius: 3px;
}

fieldset#komoju-cc-form>.form-row>br {
    display: none;
}

fieldset#komoju-cc-form .subtypes>span.seven-eleven {
    background-image: url('images/komoju/icon-seven-eleven.svg')
}

fieldset#komoju-cc-form .subtypes>span.lawson {
    background-image: url('images/komoju/icon-lawson.svg')
}

fieldset#komoju-cc-form .subtypes>span.family-mart {
    background-image: url('images/komoju/icon-family-mart.svg')
}

fieldset#komoju-cc-form .subtypes>span.ministop {
    background-image: url('images/komoju/icon-ministop.svg')
}

fieldset#komoju-cc-form .subtypes>span.daily-yamazaki {
    background-image: url('images/komoju/icon-daily-yamazaki.svg')
}

fieldset#komoju-cc-form .subtypes>span.seicomart {
    background-image: url('images/komoju/icon-seicomart.svg')
}

fieldset#komoju-cc-form .subtypes>span.visa {
    background-image: url('images/komoju/icon-visa.png')
}

fieldset#komoju-cc-form .subtypes>span.american_express {
    background-image: url('images/komoju/icon-american_express.svg')
}

fieldset#komoju-cc-form .subtypes>span.master {
    background-image: url('images/komoju/icon-master.svg')
}

fieldset#komoju-cc-form .subtypes>span.jcb {
    background-image: url('images/komoju/icon-jcb.svg')
}

fieldset#komoju-cc-form .subtypes>span.diners_club {
    background-image: url('images/komoju/icon-diners_club.png')
}

fieldset#komoju-cc-form .subtypes>span.visa,
fieldset#komoju-cc-form .subtypes>span.american_express,
fieldset#komoju-cc-form .subtypes>span.master,
fieldset#komoju-cc-form .subtypes>span.jcb,
fieldset#komoju-cc-form .subtypes>span.diners_club {
    border: 3px solid #fff;
    background-color: #fff;
}

fieldset#komoju-cc-form .message {
    margin-bottom: 0;
}

/*
 Cart
*/
.woocommerce table tbody>tr:nth-child(odd)>td,
.woocommerce table tbody>tr:nth-child(odd)>th {
    background-color: var(--e-global-color-bd14155);
}

.woocommerce table td,
.woocommerce table th {
    border: 1px solid var(--e-global-color-secondary);
}

.woocommerce table caption+thead tr:first-child td,
.woocommerce table caption+thead tr:first-child th,
.woocommerce table colgroup+thead tr:first-child td,
.woocommerce table colgroup+thead tr:first-child th,
.woocommerce table thead:first-child tr:first-child td,
.woocommerce table thead:first-child tr:first-child th {
    border-top: 1px solid var(--e-global-color-secondary);
}

.woocommerce a.remove {
    color: var(--e-global-color-primary) !important;
}

.woocommerce a.remove:hover {
    color: var(--e-global-color-secondary) !important;
    background: var(--e-global-color-primary) !important;
}

#add_payment_method table.cart td.actions .coupon .input-text,
.woocommerce-cart table.cart td.actions .coupon .input-text,
.woocommerce-checkout table.cart td.actions .coupon .input-text {
    width: 150px;
    padding: 3px 6px 3px;
}

#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 {
    max-width: 300px;
}



.woocommerce form .form-row .woocommerce-input-wrapper .description {
    background-color: var(--e-global-color-primary) !important;
    padding: 5px !important;
    float: left;
}

.woocommerce form .form-row .woocommerce-input-wrapper .description:before {
    border-color: var(--e-global-color-primary) transparent transparent transparent !important;
}


.cart_totals .cart-discount th span,
.woocommerce-checkout-review-order .cart-discount th span {
    display: block;
    font-weight: 400;
    font-size: 90%;
}

.cart_totals .cart-discount th span b,
.woocommerce-checkout-review-order .cart-discount th span b {
    color: var(--e-global-color-accent);
    background: var(--e-global-color-dbf93c3);
    padding: 2px 7px;
    border-radius: 3px;
}

.cart_totals .cart-discount td {
    font-weight: 800;
}

.cart_totals .cart-discount td .amount {
    color: var(--e-global-color-accent);
    background: var(--e-global-color-dbf93c3);
    padding: 2px 7px;
    margin-left: 5px;
    border-radius: 3px;
}

.cart_totals .cart-discount td a.woocommerce-remove-coupon,
.woocommerce-checkout-review-order .cart-discount td a.woocommerce-remove-coupon {
    color: var(--e-global-color-a0abbe0);
    font-weight: 400;
}

.cart_totals .cart-discount td .auto_apply_yes a.woocommerce-remove-coupon,
.woocommerce-checkout-review-order .cart-discount td .auto_apply_yes a.woocommerce-remove-coupon {
    display: none;
}


.cart_totals .cart-discount td a.woocommerce-remove-coupon:hover,
.woocommerce-checkout-review-order .cart-discount td a.woocommerce-remove-coupon:hover {
    color: var(--e-global-color-3c63f92);
}

.cart_totals .cart-discount td>span:last-child {
    display: block;
    color: var(--e-global-color-text);
    padding-left: 7px;
    font-weight: 400;
}

.woocommerce-checkout-review-order .cart-discount td>span:last-child {
    display: none;
}



@media (max-width: 768px) {

    .woocommerce table.shop_table_responsive tr.cart-discount td:before,
    .woocommerce-page table.shop_table_responsive tr.cart-discount td:before {
        display: none;
    }

    .woocommerce-cart .cart-collaterals .cart_totals table tr.cart-discount th {
        display: block;
        width: 100%;
        text-align: right;
        border-bottom: 0;
    }

    .woocommerce-cart .cart-collaterals .cart_totals table tr.cart-discount:nth-child(2n) th {
        background-color: rgba(0, 0, 0, .025);
    }

    .woocommerce-cart .cart-collaterals .cart_totals table tr.cart-discount td {
        border-top: 0;
    }

}



/* 
2 cols checkout
src:  https://gist.github.com/grantambrose/d1bff123dd494e3049afe55dc3e51263#gistcomment-3873016
*/
#place_order {
    width: 70% !important;
    margin: 30px 15%;
    line-height: 30px;
    border-radius: 20px;
}

.woocommerce-form-login label.woocommerce-form__label.woocommerce-form__label-for-checkbox.woocommerce-form-login__rememberme {
    margin-top: 12px;
}



/*@media (min-width: 768px) {
    #customer_details {
        width: 60%;
        float: left;
    }

    #order_review_heading {
        width: 30%;
        float: left;
        margin-left: 2%;
    }

    #order_review {
        width: 38%;
        float: left;
        margin-left: 2%;
    }

    #order_review .woocommerce table.shop_table td {
        width: 50%;
    }

    .woocommerce .col2-set .col-1,
    .woocommerce-page .col2-set .col-1,
    .woocommerce .col2-set .col-2,
    .woocommerce-page .col2-set .col-2 {
        width: 100%;
    }
}*/

.woocommerce .col2-set .col-1,
.woocommerce-page .col2-set .col-1,
.woocommerce .col2-set .col-2,
.woocommerce-page .col2-set .col-2 {
    width: 100%;
}


form.woocommerce-checkout .woocommerce-additional-fields>h3 {
    color: var(--e-global-color-primary);
    margin-top: 30px;
}

.woocommerce-page .cart-collaterals .cart_totals {
    width: 100%;
}

.select2-container .select2-selection--single {
    /*height: 48px;*/
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
    /*top: 12px;*/
    right: 8px;
}

span.woocommerce-input-wrapper {
    display: block;
    min-height: 45px;
}

.woocommerce .select2-container .select2-dropdown, 
.woocommerce .select2-container .select2-selection{
        border: 3px solid var(--e-global-color-secondary);
}

.woocommerce .select2-container--default .select2-selection--single {
    border: 3px solid var(--e-global-color-secondary);
    font-size: 16px !important;
}

.woocommerce .select2-container .select2-selection--single .select2-selection__rendered {
    padding: 8px 28px 8px 16px;
}

body .select2-dropdown {
    border: 3px solid var(--e-global-color-secondary)!important;
}

.select2-container--default .select2-results__option[aria-selected=true],
.select2-container--default .select2-results__option[data-selected=true] {
    background-color: var(--e-global-color-bd14155);
}

.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted[data-selected] {
    background-color: var(--e-global-color-primary);
}

.woocommerce .woocommerce-terms-and-conditions-wrapper>.validate-required,
.woocommerce-page .woocommerce-terms-and-conditions-wrapper>.validate-required {
    background-color: var(--e-global-color-dbf93c3);
    padding: 10px;
}


@media (max-width: 768px) {

    .woocommerce form .form-row-first,
    .woocommerce form .form-row-last,
    .woocommerce-page form .form-row-first,
    .woocommerce-page form .form-row-last {
        width: 100%;
        clear: both;
    }
}


/*
 * Checkout field Editor Headings
*/
.woocommerce form .form-row.thwcfe-html-field-wrapper:first-child {
    padding-top: 0
}

.woocommerce-checkout>.thwcfe-checkout-section>h3 {
    margin: 0;
}

.woocommerce-checkout .thwcfe-html-field-wrapper>h3 {
    margin: 15px 0 10px 0;
    font-size: 24px;
}

.woocommerce form .form-row.thwcfe-html-field-wrapper {
    clear: both;
    margin: 0;
    padding: 15px 0 0 4px;
}

.woocommerce-checkout>.thwcfe-html-field-wrapper>h5 {
    margin: 20px 0 0 0;
}

.woocommerce-checkout .thwcfe-html-field-wrapper>h6 {
    margin: 0;
    font-size: 16px;
}

#books_only_japan_title_field {
    padding-top: 0;
}

#payment .wc_payment_methods .wc_payment_method {
    float: left;
    width: 100%;
    padding: 0;
    position: relative;
}

#payment .wc_payment_methods .wc_payment_method label {
    float: left;
    width: 100%;
    clear: both;
    line-height: 27px;
    font-weight: 800;
    padding: 13px 0 13px 40px;
    border: 1px solid transparent;
}

#payment .wc_payment_methods .wc_payment_method label:hover {
    background-color: var(--e-global-color-bd14155);
    cursor: pointer;
    border: 4px;
}

#payment .wc_payment_methods .wc_payment_method input:checked+label {
    background-color: #fff;
    border-color: var(--e-global-color-accent);
    color: var(--e-global-color-accent);
}

#payment .wc_payment_methods .wc_payment_method label img {
    float: left;
    margin: 0 15px 0 0;
}



#payment .wc_payment_methods .wc_payment_method .input-radio {
    position: absolute;
    left: 10px;
    top: 20px;
    /* transform: translate(0, -50%); */
}

#payment .wc_payment_methods .wc_payment_method div.payment_box {
    float: left;
    width: 100%;
}

/* internal forms  */
#payment .payment_box fieldset {
    border: 0;
    padding: 0;
}

#payment .wc_payment_methods .wc_payment_method fieldset label {
    padding: 10px 0;
}

#payment .wc_payment_methods .wc_payment_method fieldset label:hover {
    background-color: transparent;
    cursor: auto;
}

#omise_cc_form .omise-remember-card {
    display: none;
}

#payment .wc_payment_methods .wc_payment_method fieldset input:checked+label {
    background-color: transparent;
    border-color: transparent;
}

/* Omise (opn payments) secure form */
#omise-card {
    max-width: 100% !important;
}


/*
    Loading spinning on checkout reposition
*/
.blockUI.blockOverlay {
    position: fixed !important;
}


/*
    Fix on jQuery Datepciekr for Japanese language
*/
#ui-datepicker-div .ui-datepicker-header .ui-datepicker-title {
    margin: 0 15px;
}

#ui-datepicker-div .ui-datepicker-header .ui-datepicker-title * {
    display: inline-block;
}

#ui-datepicker-div .ui-datepicker-header .ui-datepicker-title .ui-datepicker-month {
    width: 35%;
    margin-left: 5%;
}

#ui-datepicker-div .ui-datepicker-header .ui-datepicker-prev,
#ui-datepicker-div .ui-datepicker-header .ui-datepicker-next {
    display: none;
}



/*
    Filter nav on mobile
*/
#filter-list-nav .toggle-bar {
    display: none;
}

#filter-list-nav.ajax-searching>.elementor-widget-wrap>.elementor-element {
    opacity: 0.6;
    pointer-events: none;
}

@media (max-width: 767px) {

    body.snapped {
        /* overflow: hidden;
        height: 100vh;*/
        position: fixed;
    }

    #filter-list-container {
        z-index: 1;
    }

    #filter-list-nav {
        position: fixed;
        left: 0px;
        top: 0;
        z-index: 99;
        width: 100%;
        height: 100%;
        background-color: var(--e-global-color-accent);
        -webkit-transition: all .3s ease-in-out;
        -moz-transition: all .3s ease-in-out;
        transition: all .3s ease-in-out;

    }

    #filter-list-nav.closed {
        top: 100%;
    }

    body.admin-bar #filter-list-nav {
        top: 46px;
    }

    body.admin-bar #filter-list-nav.closed {
        top: 100%;
    }

    #filter-list-nav .elementor-widget-wrap {
        overflow-y: scroll;
        position: absolute;
        height: 100%;
        width: 90%;
        padding: 80px 0px 0 0;
        left: 5%;
        top: 0;
    }

    #filter-list-nav:not(.closed) .elementor-widget-wrap .elementor-widget-wrap {
        box-shadow: 10px 0px 10px rgba(0, 0, 0, 0.2);
    }

    #filter-list-nav .elementor-widget-wrap .elementor-widget-shortcode {
        overflow-y: scroll;
        position: absolute;
        left: 0;
        width: 100%;
        height: calc(100% - 50px);
        padding-bottom: 0px;
    }

    #filter-list-nav.closed #open-filters.toggle-bar {
        display: block;
    }

    /*   #filter-list-nav:not(.closed) #open-filters.toggle-bar{
        display:none;
    }*/
    #filter-list-nav:not(.closed) #close-filters.toggle-bar {
        display: block;
    }

    #filter-list-nav .toggle-bar {
        position: fixed;
        bottom: 0;
        left: 0;
        z-index: 99;
        height: 40px;
        width: 70%;
        margin-bottom: 0;
    }

    #filter-list-nav .toggle-bar .elementor-button {
        line-height: 40px;
        font-size: 15px;
        padding: 0 20px;
        text-align: center;
        width: 100%;
        display: block;
        background-color: var(--e-global-color-accent);
        box-shadow: 5px 0 5px rgba(0, 0, 0, 0.4);
    }


    #filter-list-nav:not(.closed) .toggle-bar .elementor-button {
        background-color: var(--e-global-color-primary);
    }

    /* change text of button while searching */
    #filter-list-nav #close-filters .elementor-button {
        position: relative;
    }

    #filter-list-nav.ajax-searching #close-filters .elementor-button .elementor-button-content-wrapper>* {
        opacity: 0;
    }

    #filter-list-nav.ajax-searching #close-filters .elementor-button:after {
        content: " 検索中 ";
        position: absolute;
        z-index: 10;
        top: 0;
        width: 100%;
        left: 0;
        animation: blinker 1s infinite;
    }

    @keyframes blinker {
        from {
            opacity: 1.0;
        }

        50% {
            opacity: 0.2;
        }

        to {
            opacity: 1.0;
        }
    }


    /* some margin top */
    #filter-list-nav .elementor-widget-wrap .toggle-bar+.elementor-element {
        margin-top: 50px;
    }

    #filter-list-nav .elementor-widget-wrap .elementor-element:last-child {
        margin-bottom: 150px;
    }

}

.elementor-widget-archive-posts>.elementor-widget-container.jet-filters-loading,
.elementor-loop-container.jet-filters-loading {
    position: relative;
}

.elementor-widget-archive-posts>.elementor-widget-container.jet-filters-loading:before,
.elementor-loop-container.jet-filters-loading:before {
    content: " ";
    width: 200px;
    height: 200px;
    /* background: red; */
    position: absolute;
    z-index: 1;
    /* opacity: 1!important; */
    left: 50%;
    transform: translate(-50%, 0);
    top: 0px;
    background-image: url("images/loading-200px.gif");
    background-repeat: no-repeat;
}


/*
    Cart items extras
*/
td.product-name .product_title {
    font-size: 110%;
    font-weight: bold;
}

.item-extra>span {
    display: block;
    font-size: 85%;
}


.notice_closed {
    color: var(--e-global-color-primary);
    text-align: center;
    font-size: 18px;
    font-weight: 600;
    margin: 0;
}


.single-product #woo-store-vacation .woocommerce-info {
    margin: 0;
}

#shop_closed_notice .woocommerce-error {
    margin: 0;
}

#shop_closed_notice .woocommerce-error>li {
    padding-bottom: 0;
}


/*
    Woocommerce Variations to Table - Grid 
*/
.woocommerce .table_options_head {
    font-weight: 600;
}

.woocommerce .table.vartable .pricecol {
    color: var(--e-global-color-accent);
    font-weight: 600;
    text-align: right;
}

.woocommerce .table.vartable .outofstock .pricecol,
.woocommerce .table.vartable .outofstock .optionscol {
    color: var(--e-global-color-e977eb2);
}

.woocommerce .table.vartable .globalcartcol {
    text-align: center;
    ;
}

.woocommerce .vartable_gc_wrap a.button.globalcartbtn.not_purchasable {
    display: none !important;
}

@media (max-width: 767px) {
    .woocommerce .disable_responsive td.optionscol.attribute_pa_classname {
        white-space: normal;
    }
}

/* #vt_error_notification,
#vt_added_to_cart_notification {
    background-color: var(--e-global-color-secondary) !important;
} */


.single-product #vt_error_notification,
.single-product #vt_added_to_cart_notification {
    display: block;
    position: relative;
    width: auto;
    left: 0;
    top: 0;
    padding: 1em 2em 1em 3.5em;
    background-color: var(--e-global-color-bd14155);
    text-align: left;
    color: inherit;
    font-size: inherit;
    border: 0px solid #ddd;
    z-index: auto;
}

.single-product #vt_error_notification {
    border-top: 3px solid var(--e-global-color-primary);
}

@media (min-width: 768px) {
    .single-product #vt_error_notification {
        margin: 20px;
    }
}

.single-product #vt_added_to_cart_notification {
    border-top: 3px solid var(--e-global-color-accent);
}

body.admin-bar.single-product #vt_error_notification,
body.admin-bar.single-product #vt_added_to_cart_notification {
    top: 0;
}

@media (max-width: 767px) {

    .single-product #vt_error_notification,
    .single-product #vt_added_to_cart_notification {
        padding-bottom: 60px;
    }
}


/*
    vartable add to cart loading spinner customizations
*/
.vartable_gc_wrap .vtspinner {
    display: inline-block;
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: #ffffff6b;
    float: none;
    margin: 0px;
    -webkit-animation-name: none;
    display: none;
    z-index: 999;
}

.vartable_gc_wrap .vtspinner img {
    width: 20px;
    height: 20px;
    vertical-align: baseline;
    border: 0;
    background-color: transparent;
    padding: 0;

    position: absolute;
    left: calc(50% - 10px);
    animation: spinnerRotate;
    top: calc(50% - 10px);

    -webkit-animation-name: spinnerRotate;
    -webkit-animation-duration: 1.3s;
    -webkit-animation-iteration-count: infinite;
    -webkit-animation-timing-function: linear;
}

/*
    Elementor menu cart
*/
.elementor-location-header .elementor-menu-cart__products.woocommerce-mini-cart .elementor-menu-cart__product {
    grid-template-columns: 0 auto;
    background: var(--e-global-color-0f94bec);
    background: linear-gradient(360deg, var(--e-global-color-bd14155)0%, #ffffffcf 100%);
    margin-bottom: 10px;
    padding: 10px;
    border-top: 1px solid var(--e-global-color-bd14155);
    border-bottom: 1px solid #00000030;
    border-radius: 8px;
}

.elementor-location-header .elementor-menu-cart__products.woocommerce-mini-cart .elementor-menu-cart__product.coupon {
    background: var(--e-global-color-dbf93c3);
    background: linear-gradient(360deg, var(--e-global-color-dbf93c3)0%, #f9f3e9 100%);
}

.elementor-location-header .elementor-menu-cart__products.woocommerce-mini-cart .elementor-menu-cart__product-remove {
    right: 5px;
    bottom: 5px;
}

.elementor-location-header .elementor-menu-cart__products.woocommerce-mini-cart .elementor-menu-cart__product .elementor-menu-cart__product-image {
    display: none;
}

.elementor-location-header .elementor-menu-cart__products.woocommerce-mini-cart .elementor-menu-cart__product .elementor-menu-cart__product-name,
.elementor-location-header .elementor-menu-cart__products.woocommerce-mini-cart .elementor-menu-cart__product .elementor-menu-cart__product-price {
    padding-left: 0;
}

.elementor-location-header .elementor-menu-cart__products.woocommerce-mini-cart .elementor-menu-cart__product.coupon .elementor-menu-cart__product-name .product_title b {
    color: var(--e-global-color-accent);
}

.elementor-location-header .elementor-menu-cart__products.woocommerce-mini-cart .elementor-menu-cart__product.coupon .elementor-menu-cart__product-name .product_description {
    display: block;
    font-weight: 400;
    color: var(--e-global-color-text);
}

.elementor-location-header .elementor-menu-cart__products.woocommerce-mini-cart .product-name .product_title,
.elementor-location-header .elementor-menu-cart__products.woocommerce-mini-cart .product-name .product_title>a {
    font-weight: 600;
    font-size: 12px;
    line-height: 1.3 !important;
    display: block;
    margin-bottom: 5px;
}

.elementor-location-header .elementor-menu-cart__products.woocommerce-mini-cart .item-extra {
    font-size: 10px;
    color: var(--e-global-color-e977eb2);
}

.elementor-location-header .elementor-menu-cart__products.woocommerce-mini-cart .item-extra>span {
    display: flex;
    border-bottom: 1px solid #00000008;
}

.elementor-location-header .elementor-menu-cart__products.woocommerce-mini-cart .item-extra>span>* {
    flex: 1;
}

.elementor-location-header .elementor-menu-cart__products.woocommerce-mini-cart dl.variation,
.woocommerce-cart-form .woocommerce-cart-form__cart-item .product-name .variation,
.woocommerce-checkout-review-order .cart_item .product-name .variation {
    display: none;
}

.elementor-location-header .elementor-menu-cart__subtotal {
    background: #fafafa;
    border: 0;
    border-radius: 0 0 15px 15px;
    position: relative;
}

.elementor-location-header .elementor-menu-cart__subtotal .amount {
    color: var(--e-global-color-accent);
}

.woocommerce .stockcol span.instock {
    color: var(--e-global-color-accent);
}

/* exam loops */
.exam_loop .variation_intro {
    margin: 10px 0 0 0;
    color: var(--e-global-color-e977eb2)
}

.exam_loop .variation_names {
    list-style: none;
    margin: 5px 0 5px 0;
    padding: 0 0 0 10px;
    counter-reset: variations-counter;
}

.exam_loop .variation_names li {
    font-size: 14px;
    line-height: 28px;
    border-bottom: 1px solid var(--e-global-color-secondary);
    counter-increment: variations-counter;
    margin-bottom: 5px;
}

.exam_loop .variation_names li:before {
    content: counter(variations-counter);
    font-weight: 600;
    width: 28px;
    background-color: var(--e-global-color-secondary);
    text-align: center;
    border-radius: 7px 0 0 7px;
    display: inline-block;
    margin: 0px 10px 0 -10px;
    color: var(--e-global-color-e977eb2);
    position: relative;
    top: 1px;
}

.exam_loop .variation_names .price {
    float: right;
    margin-left: 10px;
}

.exam_loop .variation_names li .amount {
    color: var(--e-global-color-accent);
    font-weight: 600;
}

.exam_loop .variation_names .price .cause {
    color: var(--e-global-color-e977eb2);
    font-size: 12px;
    margin-right: 10px;
}

body[data-elementor-device-mode=mobile] .exam_loop .variation_names .price .cause {
    display: none;
}

.exam_loop .max_quantity {
    margin: 0;
    font-size: 12px;
    color: var(--e-global-color-primary);
}

.max_quantity.before_vartable {
    margin: 0 0 5px 0;
    font-size: 12px;
    color: var(--e-global-color-primary);
}

body[data-elementor-device-mode=mobile] .exam_loop>.elementor-container>.elementor-column {
    width: 100% !important
}


body[data-elementor-device-mode=mobile] .elementor-menu-cart__products {
    max-height: calc(100vh - 200px);
    height: calc(100vh - 200px);
    position: relative;
    padding-bottom: 20px;
}

body[data-elementor-device-mode=mobile] .elementor-menu-cart__subtotal:before {
    content: "";
    position: absolute;
    top: -15px;
    height: 15px;
    left: 0;
    width: 100%;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.15)100%);
}

.coupon_teaser {
    display: flex;
    flex-flow: row-reverse;
    align-items: center;
    column-gap: 0px;
    background-color: #fff;
    border: 1px solid var(--e-global-color-secondary);
    margin: 10px 0;
    padding: 0;
    position: relative;
    border-radius: 4px;
    overflow: hidden;
    align-items: stretch;
    background-color: var(--e-global-color-bd14155);
}

.coupon_teaser .discount_amount {
    background: #ffffff;
    /* background: radial-gradient(var(--e-global-color-secondary), var(--e-global-color-dbf93c3)); */
    padding: 4px 10px;
    border-radius: 0 4px 4px 0;
    color: var(--e-global-color-accent);
    z-index: 1;
    display: flex;
    align-items: center;
}

.coupon_teaser .discount_amount .badge .number {
    display: block;
    text-align: center;
    white-space: nowrap;
}

.coupon_teaser .discount_amount .badge .pricetag {
    display: block;
    font-size: 12px;
    white-space: nowrap;
}


.coupon_teaser .discount_amount .segno {
    margin-right: 5px;
    transform: scale(1.5);
}

.coupon_teaser .teaser_text {
    line-height: 1.3em;
    margin-right: auto;
    padding: 5px 10px;
}

.coupon_teaser .coupon_applied {
    display: none;
    column-gap: 10px;
    position: absolute;
    left: 0px;
    width: 100%;
    background: var(--e-global-color-bd14155);
    height: 100%;
    line-height: 1.4em;
    align-items: center;
    padding: 10px 110px 10px 10px;
    z-index: 0;
    text-align: left;
}

.coupon_teaser .coupon_applied i {
    min-width: 30px;
}

.coupon_teaser .coupon_applied.applied {
    display: flex;
}

.coupon_teaser .coupon_applied.applied+.discount_amount {
    border-color: var(--e-global-color-bd14155);
}

body>.woocommerce-message.wac {
    display: none !important;
}

.woocommerce .vartable_gc_wrap_bottom .globalcartbtn {
    padding: 15px 20px;
    border-radius: 30px;
    align-items: center;
    column-gap: 10px;
    display: flex;
}

.vartable_gc_wrap_bottom .globalcartbtn .vt_products_count {
    /* background: #fff;
    color: var(--e-global-color-accent);
    width: 35px;
    height: 35px; */
    align-items: center;
    display: flex;
    justify-content: center;
    border-radius: 50%;
}

/*
    shortcode calendario corsi
*/
.iic_calendars {
    background: var(--e-global-color-bd14155);
    padding: 10px;
    border-radius: 15px;
}

.iic_calendars .calendars_header {
    color: var(--e-global-color-primary);
}

.iic_calendars_list {
    display: flex;
    flex-wrap: nowrap;
    column-gap: 30px;
    justify-content: space-between;
}

.iic_calendars.variable_product .iic_calendars_list {
    overflow-x: scroll;
}

.iic_calendars .single_lessons_calendar {
    flex: 1 1 auto;
    padding: 0 10px 10px;
    border: 1px solid var(--e-global-color-bd14155);
    border-radius: 15px;
    background-color: transparent;
    background-image: linear-gradient(135deg, #FFFFFF 0%, var(--e-global-color-bd14155) 100%);
    margin: 0 0 20px 0;
    min-width: 260px;
}

.single_lessons_calendar .single_calendar_title .codice {
    display: block;
    color: var(--e-global-color-accent);
    font-size: 16px;
}

.single_lessons_calendar .single_calendar_title .day,
.single_lessons_calendar .single_calendar_title .teacher {
    font-size: 75%;
}

.single_lessons_calendar .single_calendar_title .day {
    background-color: var(--e-global-color-secondary);
    text-align: center;
    border-radius: 7px;
    display: inline-block;
    margin: 0;
    padding: 0 5px;
    font-weight: bold;
    color: var(--e-global-color-e977eb2);
    color: var(--e-global-color-primary);
}

.single_lessons_calendar ul {
    list-style: none;
    margin: 5px 0 5px 0;
    padding: 0 0 0 10px;
    counter-reset: variations-counter;
}

.single_lessons_calendar ul li {
    font-size: 14px;
    line-height: 28px;
    border-bottom: 1px solid var(--e-global-color-secondary);
    counter-increment: variations-counter;
    margin-bottom: 5px;
    background-color: #fff;
    border-radius: 7px;
}

.single_lessons_calendar ul li:before {
    content: counter(variations-counter);
    font-weight: 600;
    width: 28px;
    background-color: var(--e-global-color-secondary);
    text-align: center;
    border-radius: 7px 0 0 7px;
    display: inline-block;
    margin: 0px 10px 0 -10px;
    color: var(--e-global-color-e977eb2);
    position: relative;
    top: 1px;
}

.single_lessons_calendar ul li .time {
    float: right;
    display: inline-block;
    padding-right: 10px;
}

/* teacher image hidden on simple products */
.iic_calendars.simple_product .teacher_image {
    display: none !important;
}

/* variable products calendar header image fitting */
.iic_calendars.variable_product .single_lessons_calendar .calendar_header .single_calendar_title .teacher {
    display: block;
    white-space: nowrap;
}

.iic_calendars.variable_product .single_lessons_calendar .calendar_header {
    display: flex;
    flex-wrap: nowrap;
    column-gap: 10px;
    align-items: center;
}

.iic_calendars.variable_product .single_lessons_calendar .calendar_header .teacher_image {
    width: 80px;
    height: 80px;
    border-radius: 10px;
    overflow: hidden;
    margin-bottom: 15px;
    flex-shrink: 0;
}

/**
 *  iic_display_course_availability shortcode
 */
.course_availability {
    padding: 0px;
    border-radius: 10px;
    overflow: hidden;
    font-family: var(--e-global-typography-primary-font-family), Sans-serif;
    border: 1px solid #e9e9e9;
}

.course_availability .course_availability_header {
    display: flex;
    flex-wrap: nowrap;
    column-gap: 0px;
    /*    height: 30px;*/
    line-height: 30px;
    border-radius: 10px 10px 0 0;
    margin: 0;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid #e9e9e9;
    background: #ffffff;
}

.course_availability .course_availability_title {
    font-size: 14px;
    padding: 0px 10px;
    height: 30px;
    line-height: 30px;
    margin: 0;
    flex-grow: 1;
    display: flex;
    column-gap: 5px;
    background-color: var(--e-global-color-0f94bec);
}

.course_availability .course_availability_title .count {
    color: var(--e-global-color-primary);
    margin: 0px;
}

.course_availability .course_availability_hours,
.course_availability .days {
    display: flex;
    flex-wrap: nowrap;
    column-gap: 0px;
    height: 30px;
    line-height: 30px;
    background: #fff;
}

.course_availability .days {
    border-radius: 0 0 10px 10px;
}

.course_availability .course_availability_hours {
    border-radius: 0 0 10px 0;
}

.course_availability .course_availability_hours h6,
.course_availability .days h6 {
    margin: 0;
    line-height: 30px;
    padding: 0 10px;
    font-size: 14px;
    text-align: center;
    flex-grow: 1;
    font-weight: 800;
    font-family: var(--e-global-typography-primary-font-family), sans-serif;
}

.course_availability .course_availability_hours ul,
.course_availability .days ul {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-wrap: nowrap;
    column-gap: 0px;
    font-size: 14px;
    line-height: 30px;
    overflow: hidden;
    flex-grow: 1;
    font-family: var(--e-global-typography-primary-font-family), Sans-serif;
}

.course_availability .course_availability_hours ul {
    border-radius: 0 10px 0 0;
}

.course_availability .days ul {
    border-radius: 0 0 10px 0;
}


.course_availability .course_availability_hours ul li,
.course_availability .days ul li {
    padding: 0 10px;
    white-space: nowrap;
    border-left: 1px solid var(--e-global-color-bd14155);
    color: #cccccc;
    flex-grow: 1;
    text-align: center;
}

.course_availability .days ul li {
    padding: 0 8px;
}

.course_availability .days ul li:last-child {
    border-radius: 0 0 10px 0;
}

.course_availability .course_availability_hours ul li.available,
.course_availability .days ul li.available {
    background-color: var(--e-global-color-dbf93c3);
    color: var(--e-global-color-text);
}

@media only screen and (max-width: 768px) {

    .course_availability .course_availability_hours ul li.unavailable,
    .course_availability .days ul li.unavailable {
        display: none;
    }

    .course_availability .course_availability_hours ul li,
    .course_availability .days ul li {
        padding: 0 5px;
        line-height: 28px;
    }

    .course_availability .course_availability_title {
        padding-right: 0;
    }

    .course_availability .course_availability_hours h6,
    .course_availability .days h6 {
        padding: 0 5px;
        white-space: nowrap;
    }

    .course_availability .course_availability_title {
        padding: 0 5px;
        white-space: nowrap;
        column-gap: 2px;
    }

}

@media only screen and (max-width: 400px) {

    .course_availability .course_availability_hours h6,
    .course_availability .days h6,
    .course_availability .course_availability_hours ul li,
    .course_availability .days ul li {
        padding: 0 3px;
        font-size: 12px;
    }
}


/* iic blocco tags */
.elementor-element.iic_corsi_tags .elementor-widget-wrap {
    display: flex;
    column-gap: 5px;
    row-gap: 5px;
    flex-wrap: wrap;
}

.elementor-element.iic_corsi_tags .elementor-widget-wrap>.elementor-widget {
    flex-grow: 1;
    width: auto;
}

.elementor-element.iic_corsi_tags .elementor-widget-wrap>.elementor-widget:first-child>.elementor-widget-container {
    border-radius: 7px 0 0 0;
}

.elementor-element.iic_corsi_tags .elementor-widget-wrap>.elementor-widget:last-child>.elementor-widget-container {
    border-radius: 0 0 7px 0;
}


@media print,
screen {


    /* lista corsi da stampare */
    .stampa .course_availability {
        border-radius: 0;
    }

    .course_classes {
        display: grid;
        grid-template-columns: 1fr 1fr;
        grid-gap: 20px;
    }

    .course_classes .single_class {
        font-size: 12px;
    }

    .course_classes .single_class_info .value {
        font-weight: 600;
    }

    .course_classes .single_class_info.codice_classe {
        font-size: 14px;
        color: var(--e-global-color-primary);
        margin-bottom: 5px;
    }

    .course_classes .single_class_info:not(.codice_classe) {
        border-bottom: 1px solid #eee;
        display: flex;
        justify-content: space-between;
    }

    /* layout fatto apposta per la stampa */

    .elementor-element.pagebreak {
        page-break-after: always;
    }

    .stampa * {
        color: var(--e-global-color-text) !important;
    }

    .stampa .elementor-element.titolo .elementor-widget-container {
        background-color: var(--e-global-color-primary) !important;
        padding: 10px 0;
    }

    .stampa .elementor-element.titolo .elementor-heading-title {
        color: #ffffff !important;
    }

    .stampa .elementor-element.prezzo {
        background: var(--e-global-color-accent) !important;
    }

    .stampa .elementor-element.prezzo .elementor-heading-title {
        color: var(--e-global-color-secondary) !important;
        font-weight: 400 !important;
    }

    .stampa .elementor-element.prezzo .elementor-heading-title .amount * {
        font-weight: 800 !important;
        color: #fff !important;
    }

    .stampa .immagine {
        position: absolute !important;
        left: 0 !important;
        top: 0 !important;
        width: 100% !important;
        height: 100% !important;
    }

    .stampa .immagine img {
        position: absolute !important;
        top: 0px !important;
        left: 0% !important;
        width: auto !important;
        min-width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
    }

    .stampa .elementor-column.header-corso .elementor-widget-wrap {
        background: #f5f5f5 !important;
        background: linear-gradient(180deg, var(--e-global-color-secondary) 40px, rgba(255, 255, 255, 0) 40px) !important;
    }

    .stampa .elementor-shortcode .course_availability {
        border-width: 1px 0 1px 0 !important;
        border-color: var(--e-global-color-bd14155) !important;
    }

    .stanpa .course_availability .course_availability_header {
        border-bottom: 1px solid var(--e-global-color-bd14155) !important;
    }

    .stampa .course_availability .course_availability_title {
        background-color: var(--e-global-color-0f94bec) !important;
    }

    .stampa .course_availability .course_availability_title .count {
        color: var(--e-global-color-primary) !important;
    }

    .stampa .course_availability .course_availability_hours,
    .stampa .course_availability .days {
        background: #ffffff !important;
        border-radius: 0;
    }

    .stampa .course_availability .course_availability_hours ul li,
    .stampa .course_availability .days ul li {
        border-left: 1px solid var(--e-global-color-bd14155) !important;
        color: #cccccc !important;
    }



    .stampa .course_availability .course_availability_hours ul li.available,
    .stampa .course_availability .days ul li.available {
        background-color: var(--e-global-color-dbf93c3) !important;
        color: var(--e-global-color-text) !important;
    }

    .stampa .course_availability .course_availability_hours ul,
    .stampa .course_availability .days ul {
        border-radius: 0;
    }

    .stampa .course_classes .single_class_info.codice_classe * {
        color: var(--e-global-color-primary) !important;
    }

    .stampa .classi {
        border: 0 1px 1px 1px solid var(--e-global-color-bd14155) !important;
        background-color: #f5f5f5 !important;
        border-radius: 0 0 25px 25px;
    }

    .stampa .course_classes .single_class_info:not(.codice_classe) {
        border: 0 !important
    }

    .course_classes .single_class_info.codice_classe {
        display: flex !important;
        justify-content: space-between !important;
    }

    .course_classes .single_class_info {
        padding: 3px 7px !important;
    }

    .course_classes .single_class_info:nth-child(odd) {
        background-color: #ffffff !important
    }

    .stampa .classi .course_classes {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 10px !important;
        padding: 10px !important;
    }

    .stampa .classi .course_classes .single_class {
        font-size: 12px !important;
        flex-grow: 1 !important;
        flex-shrink: 1 !important;
        max-width: 50% !important;
        min-width: 24% !important;
        border: 1px solid #fff !important;
        border-radius: 15px !important;
        overflow: hidden !important;
    }

}


/* custom toggle on elementor cols (step 1, step2, ecc...) */
.elementor-widget-wrap .elementor-element.toggler .elementor-widget-container {
    border-radius: 15px;
    transition: border-radius 0s;
}

.elementor-widget-wrap .elementor-element.toggler:hover {
    cursor: pointer;
}

.elementor-widget-wrap .elementor-element.toggler:after {
    content: "\002B";
    font-size: 22px;
    font-weight: 600;
    line-height: 16px;
    height: 20px;
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    transition: transform 0.3s;
    background: var(--e-global-color-accent);
    color: var(--e-global-color-secondary);
    border-radius: 4px;
    width: 20px;
    text-align: center;
}

body.elementor-editor-active .elementor-widget-wrap .elementor-element.toggler .elementor-widget-container,
.elementor-widget-wrap .elementor-element.toggler.open .elementor-widget-container {
    border-radius: 15px 15px 0 0;
}

.elementor-widget-wrap .elementor-element.toggler .elementor-heading-title {
    display: flex;
    flex-wrap: nowrap;
    column-gap: 10px;
    padding-right: 20px;
}

.elementor-widget-wrap .elementor-element.toggler .elementor-heading-title b {
    font-size: 130%;
    font-weight: 400;
    white-space: nowrap;
}

.elementor-widget-wrap .elementor-element.toggler.open:after {
    content: "-";
}

body:not(.elementor-editor-active) .elementor-widget-wrap .elementor-element.toggler+.elementor-element {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.3s ease-out;
}

body:not(.elementor-editor-active) .elementor-widget-wrap .elementor-element.toggler+.elementor-element.open {
    grid-template-rows: 1fr;
}

body:not(.elementor-editor-active) .elementor-widget-wrap .elementor-element.toggler+.elementor-element>.elementor-container {
    overflow: hidden;
}

/*
    Class to hide or show stuff on mobile device
*/
@media screen and (min-width: 768px) {
    .mobileonly {
        display: none !important;
    }
}

@media screen and (max-width: 767px) {
    .nomobile {
        display: none !important;
    }
}

/*
    css for iic_docenti_loop shortcode
*/
.iic_calendars.simple_product {
    flex-grow: 1;
}

.product-docenti-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    column-gap: 30px;
}

.product-docenti-container .docente-card {
    background-color: transparent;
    background-image: linear-gradient(180deg, var(--e-global-color-dbf93c3) 0%, rgba(255, 255, 255, 0) 80%);
    padding: 3px;
    border-radius: 0 50px 0 0;
    overflow: hidden;
    max-width: 360px;
}

/* let it grow on mobile */
@media (max-width: 767px) {
    .product-docenti-container .docente-card {
        flex-grow: 1;
        max-width: 100%;
    }
}

.product-docenti-container .docente-card .docente-header {
    background-color: transparent;
    background-image: linear-gradient(180deg, var(--e-global-color-secondary) 0%, var(--e-global-color-bd14155) 100%);
    padding: 10px;
    border-radius: 0 48px 0 0;
}

.product-docenti-container .docente-card .docente-foto-container {
    background: var(--e-global-color-bd14155);
    padding: 0 5px;
    position: relative;
}

.product-docenti-container .docente-card .docente-info {
    background-color: transparent;
    background-image: linear-gradient(180deg, var(--e-global-color-bd14155) 0%, rgba(255, 255, 255, 0) 100%);
    padding: 0 10px;
}

.product-docenti-container .docente-card .docente-nome {
    color: var(--e-global-color-primary);
    font-family: "Noto Sans JP", Sans-serif;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.2em;
    margin: 0 0 5px 0;
    padding: 0;
}

.product-docenti-container .docente-card .docente-kanji {
    color: var(--e-global-color-3c63f92);
    font-family: "Noto Sans JP", Sans-serif;
    font-weight: 600;
    line-height: 1.2em;
    text-shadow: 1px 1px 2px rgba(255, 255, 255, 0.44);
}

.product-docenti-container .docente-card .docente-foto {
    width: 100%;
    height: 100%;
    position: relative;
    display: block;
    border-radius: 0 20% 0 0;
}

.product-docenti-container .docente-card .docente-corso-btn {
    position: absolute;
    bottom: 10px;
    right: 15px;
    background-color: var(--e-global-color-accent);
    fill: var(--e-global-color-bd14155);
    color: var(--e-global-color-bd14155);
    border-radius: 15px 15px 15px 15px;
    padding: 5px 15px 5px 15px;
    font-family: var(--e-global-typography-accent-font-family), Sans-serif;
    font-weight: var(--e-global-typography-accent-font-weight);
}

.product-docenti-container .docente-card .docente-corso-btn:hover {
    background-color: var(--e-global-color-primary);
    color: var(--e-global-color-secondary);
}

.product-docenti-container .docente-info-row {
    display: flex;
    padding: 7px 0;
    line-height: 1.3em;
}

.product-docenti-container .docente-info-row .docente-label {
    color: var(--e-global-color-primary);
    font-family: var(--e-global-typography-primary-font-family), Sans-serif;
    font-weight: var(--e-global-typography-primary-font-weight);
    white-space: nowrap;
}

.product-docenti-container .docente-info-row .docente-value {
    color: var(--e-global-color-text);
    font-family: "Noto Serif JP", Sans-serif;
    font-weight: 400;
    line-height: 1.3em;
}