/**
Theme Name: Acam Child Theme
Author: Emanuele Rucci
Author URI: https://emanuelerucci.it
Description: Tema custom sviluppato per Acam.
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: acam-child-theme
Template: astra
*/

.t-left,
.text-left {
    text-align: left !important;
}

.t-right,
.text-right {
    text-align: right
}

.t-center,
.text-center {
    text-align: center
}

.t-justify,
.text-justify {
    text-align: justify
}

.t-upper,
.text-upper,
.t-uppercase,
.text-uppercase {
    text-transform: uppercase
}

.t-lower,
.text-lower,
.t-lowercase,
.text-lowercase {
    text-transform: lowercase
}

.d-flex {
    display: flex;
}

.d-none {
    display: none;
}

.column-gap-2 {
    column-gap: 8px;
}

.column-gap-3 {
    column-gap: 15px;
}

.row-gap-3 {
    row-gap: 15px;
}

.row-gap-5 {
    row-gap: 30px;
}

.justify-content-flex-end {
    justify-content: flex-end;
}

.justify-content-center {
    justify-content: center;
}

.align-items-center {
    align-items: center;
}

.flex-direction-row {
    flex-direction: row;
}

.flex-direction-column {
    flex-direction: column;
}

.space-between {
    justify-content: space-between;
}

.space-around {
    justify-content: space-around;
}

.d-grid {
    display: grid;
}

.n-col-3 {
    grid-template-columns: 31% 31% 31%;
    grid-column-gap: 3%;
}

.n-col-4 {
    grid-template-columns: 25% 25% 25% 25%;
    grid-column-gap: 3%;
}



.mb-0 {
    margin-bottom: 0px !important;
}

.mb-1 {
    margin-bottom: 4px !important;
}

.mb-2 {
    margin-bottom: 8px !important;
}

.mb-3 {
    margin-bottom: 15px !important;
}

.mb-4 {
    margin-bottom: 22px !important;
}

.mb-5 {
    margin-bottom: 30px !important;
}

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

.mt-0 {
    margin-top: 0px !important;
}

.mt-1 {
    margin-top: 4px !important;
}

.mt-2 {
    margin-top: 8px !important;
}

.mt-3 {
    margin-top: 15px !important;
}

.mt-4 {
    margin-top: 22px !important;
}

.mt-5 {
    margin-top: 30px !important;
}

.mt-6 {
    margin-top: 40px !important;
}

.ml-0 {
    margin-left: 0px !important;
}

.ml-1 {
    margin-left: 4px !important;
}

.ml-2 {
    margin-left: 8px !important;
}

.ml-3 {
    margin-left: 15px !important;
}

.ml-4 {
    margin-left: 22px !important;
}

.ml-5 {
    margin-left: 30px !important;
}

.ml-6 {
    margin-left: 40px !important;
}

.mr-0 {
    margin-right: 0px !important;
}

.mr-1 {
    margin-right: 4px !important;
}

.mr-2 {
    margin-right: 8px !important;
}

.mr-3 {
    margin-right: 15px !important;
}

.mr-4 {
    margin-right: 22px !important;
}

.mr-5 {
    margin-right: 30px !important;
}

.mr-6 {
    margin-right: 40px !important;
}

.spacer5,
.spacer10,
.spacer20,
.spacer30,
.spacer40,
.spacer50,
.spacer60 {
    display: block;
}

.spacer5 {
    height: 5px;
}

.spacer10 {
    height: 10px;
}

.spacer20 {
    height: 20px;
}

.spacer30 {
    height: 30px;
}

.spacer40 {
    height: 40px;
}

.spacer50 {
    height: 50px;
}

.spacer60 {
    height: 60px;
}

.font-70 {
    font-size: 70%;
}

.font-80 {
    font-size: 80%;
}

.font-90 {
    font-size: 90%;
}

.font-110 {
    font-size: 110%;
}

.font-120 {
    font-size: 120%;
}

.obj-fit-cover img {
    object-fit: cover;
}

.full-width img {
    width: 100vw !important;
}


.text-limit-4 h2,
.text-limit-4 p,
.text-limit-4 .elementor-widget-container {
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    line-clamp: 4;
    -webkit-box-orient: vertical;
}

.text-limit-3 h2,
.text-limit-3 p,
.text-limit-3 .elementor-widget-container {
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    -webkit-box-orient: vertical;
}

.text-limit-2 h2,
.text-limit-2 p,
.text-limit-2 .elementor-widget-container {
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
}

.text-limit-3 .elementor-widget-container p:not(:first-child) {
    display: none !important;
}

a {
    text-decoration: none !important;
}

/* COLORS */
:root {
    --black: #020000;
    --giallo: #ECA900;
    --white: #FFFFFF;
}

/* Colors */
.color-black {
    color: var(--black);
}

.color-giallo {
    color: var(--giallo);
}

.color-white {
    color: var(--white);
}

/* Background Colors */
.bg-black {
    background-color: var(--black);
}

.bg-giallo {
    background-color: var(--giallo);
}

.bg-white {
    background-color: var(--white);
}

/* FONT STYLES */
.montserrat-14-light {
    font-family: 'Montserrat';
    font-size: 14px;
    font-weight: 300;
    line-height: 30px;
}

.montserrat-14-semibold {
    font-family: 'Montserrat';
    font-size: 14px;
    font-weight: 600;
    line-height: 30px;
}

.montserrat-14-bold {
    font-family: 'Montserrat';
    font-size: 14px;
    font-weight: bold;
    line-height: 30px;
}

.montserrat-20-light {
    font-family: 'Montserrat';
    font-size: 20px;
    font-weight: 300;
    line-height: 30px;
}

.montserrat-20-semibold {
    font-family: 'Montserrat';
    font-size: 20px;
    font-weight: 600;
    line-height: 30px;
}

.montserrat-20-bold {
    font-family: 'Montserrat';
    font-size: 20px;
    font-weight: bold;
    line-height: 30px;
}

.montserrat-25-bold {
    font-family: 'Montserrat';
    font-size: 25px;
    font-weight: bold;
    line-height: 30px;
}

.montserrat-25-semibold {
    font-family: 'Montserrat';
    font-size: 25px;
    font-weight: 600;
    line-height: 30px;
}


/* TEMPLATE SINGLE PRODUCT */
.youtube-lightbox img {
    width: 100%;
    border-radius: 40px;
}

/* A play icon on the center of the image */
.youtube-lightbox a.fancybox {
    position: relative;
}

.youtube-lightbox a.fancybox:after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 60px;
    height: 70px;
    background: url('./assets/playicon.png') no-repeat;
    background-size: 60px 60px;
    z-index: 1;
}

.media_section_product_page img {
    width: 100%;
    border-radius: 40px;
    max-height: 500px;
    object-fit: cover;
}

.form-info-corso input[type="text"],
.form-info-corso input[type="email"],
.form-info-corso input[type="tel"],
.form-info-corso textarea {
    padding: 30px;
}


#form-info-container>div>div.elementor-element.elementor-element-709919c.elementor-button-align-center.form-info-corso.elementor-widget.elementor-widget-form>div>form>div>div.elementor-field-type-radio.elementor-field-group.elementor-column.elementor-field-group-field_ace1148.elementor-col-100.elementor-field-required>div {
    width: 100%;
    display: grid;
    grid-template-columns: 33% 33% 33%;
    column-gap: 20px;
    row-gap: 20px;
}

#form-info-container>div>div.elementor-element.elementor-element-709919c.elementor-button-align-center.form-info-corso.elementor-widget.elementor-widget-form>div>form>div>div.elementor-field-type-radio.elementor-field-group.elementor-column.elementor-field-group-field_ace1148.elementor-col-100.elementor-field-required>div input[type="radio"] {
    display: none;
}


#form-info-container .elementor-field-group-field_ace1148 span.elementor-field-option.selected-date {
    border: 1px solid white;
    border-radius: 100px;
    padding: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}

#form-info-container .elementor-field-group-field_ace1148 span.elementor-field-option.selected-date label {
    color: white !important;
}

#form-info-container .elementor-field-group-field_ace1148 span.elementor-field-option:not(.selected-date) {
    border: 1px solid rgba(255, 255, 255, 0.273);
    border-radius: 100px;
    padding: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}

#form-info-container .elementor-field-group-field_ace1148 span.elementor-field-option:not(.selected-date) label {
    color: rgba(255, 255, 255, 0.273) !important;
}

#form-info-container .elementor-field-group-field_ace1148.elementor-field-type-radio {
    position: relative !important;
    margin-top: 30px;
}

#form-info-container .elementor-field-group-field_ace1148.elementor-field-type-radio:before {
    content: "Date disponibili:";
    position: absolute;
    top: -40px;
    color: white;
    font-size: 20px;
    font-family: 'Montserrat';
    font-weight: 300;
}

#form-info-container .elementor-field-group-field_81899a3 label {
    color: white;
    font-size: 15px;
    font-weight: 300;
    line-height: 30px;
}

#form-info-container .elementor-field-group-field_81899a3 label a {
    color: white !important;
    text-decoration: underline !important;
}

#form-info-container .elementor-field-type-radio {
    position: relative !important;
    margin-top: 30px;
}

.woocommerce-js h2 {
    margin-bottom: 0em;
}

.btn-icon svg {
    width: 52px;
    margin-bottom: -5px;
}

.btn-icon .elementor-button-content-wrapper {
    align-items: center;
}


.container-right-prod .elementor-button-link {
    width: 100%;
}

#product-post-container h1,
#product-post-container h2,
#product-post-container h3,
#product-post-container h4,
#product-post-container h5,
#product-post-container h6 {
    margin-bottom: 50px;
    font-size: 40px;
    font-family: 'Montserrat';
    font-weight: bold;
    line-height: 49px;
}

#product-post-container p {
    margin-bottom: 50px;
}

#subtitle-date-disponbili {
    color: var(--black) !important;
}

#date-disponibili-list {
    color: var(--black) !important;
    font-size: 20px;
    font-family: "Montserrat";
    font-weight: 300;
    line-height: 30px;
}



/* Loop template */
.main-container-loop .corso-item-image img {
    width: 100%;
    border-radius: 40px;
    max-height: 370px;
    height: 370px;
    object-fit: cover;

}

.main-container-loop .corso-item-content {
    padding: 30px 0;
}

.main-container-loop .corso-item-content .durata-container {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    column-gap: 10px;
}

.main-container-loop .corso-item-title {
    margin-bottom: 30px;
    max-height: 60px;
    height: 60px;
    overflow: hidden;
    /* Line clamp 2 */
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.main-container-loop .corso-item-content .durata-container img {
    width: 30px;
    height: 30px;
    object-fit: contain;
}

.main-container-loop .corso-item-button {
    margin-top: 30px;
    border-radius: 2000px;
    padding: 20px 70px 20px 20px;
    position: relative;
    transition: all 0.3s ease-in-out;
}

.corso-info .corso-item-button {
    margin-top: 0px;
}



.main-container-loop .corso-item-button:hover {
    background-color: var(--black);
}

.main-container-loop .corso-item-button .icon-container {
    position: absolute;
    width: 52px;
    height: 52px;
    display: flex;
    border-radius: 100%;
    align-items: center;
    justify-content: center;
    right: 10px;
    top: 10px;
}

.category-filters {
    column-gap: 20px;
    margin-bottom: 70px;
}

.cat-filter.category-active {
    position: relative;
}

.cat-filter.category-active::before {
    position: absolute;
    content: "";
    bottom: -10px;
    width: 100%;
    height: 2px;
    background-color: #707070;
}

.corso-item-image {
    position: relative;
}

.corso-item-image .promo-text {
    position: absolute;
    top: 0px;
    right: 40px;
    padding: 5px 20px;
}

.calendario-month-title-tab {
    position: relative;
}

.calendario-month-title-tab:hover {
    cursor: pointer;
}

.calendario-month-title-tab .title-bar {
    width: fit-content;
}

.tab-icon-container {
    width: fit-content;
    position: absolute;
    right: 30px;
    top: 30px;
    width: 50px;
}

.tab-icon-container.close {
    transform: rotate(180deg);
}

/* CALENDARIO PAGE */
.calendario-main-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin-bottom: 100px;
}



/* Component Tab item */
.item-calendario-loop {
    width: 100%;
    /* padding: 0 18px;
    background-color: white;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.2s ease-out; */
}

.item-calendario-loop .data-container,
.item-calendario-loop .corso-item-cta {
    width: 20%;
}

.item-calendario-loop .corso-info {
    width: 60%;
}

.item-calendario-loop .cat-corso {
    background: #eca9008c;
    width: fit-content;
    padding: 0px 20px;
    border-radius: 400px;
}

.item-calendario-loop .corso-item-button {
    border-radius: 2000px;
    padding: 20px 70px 20px 20px;
    position: relative;
    transition: all 0.3s ease-in-out;
}


.item-calendario-loop .corso-item-button:hover {
    background-color: var(--black);
}

.item-calendario-loop .corso-item-button .icon-container {
    position: absolute;
    width: 32px;
    height: 32px;
    display: flex;
    border-radius: 100%;
    align-items: center;
    justify-content: center;
    right: 20px;
    top: 20px;
}

.item-calendario-loop .corso-item-button .icon-container img {
    width: 60%;
}



.calendario-month-title-tab .calendario-month-title-container {
    padding: 40px 40px 20px 40px;
    border-radius: 40px 40px 0px 0px;
}

.calendario-subsection {
    padding: 10px 40px;
}

.calendario-subsection .data-subs,
.calendario-subsection .info-subs {
    width: 20%;
}

.calendario-subsection .corso-subs {
    width: 60%;
}

.item-calendario-loop {
    padding: 10px 40px;
    border-bottom: 1px solid #707070;
}

.calendario-month {
    width: 100%;
}

/* all the .calendario-month excluding the first hava a mergin top of 40px */
.calendario-month:not(:first-child) {
    margin-top: 40px;
}

.calendario-main-container #search {
    border: 1px solid #d1d1d1;
    border-radius: 5000px;
    width: 80%;
    padding: 10px 40px;
}



@media screen and (max-width: 768px) {
    .calendario-month-title-tab .calendario-month-title-container {
        padding: 20px 20px 20px 20px;
        border-radius: 20px 20px 0px 0px;
    }

    .tab-icon-container {
        right: 20px;
        top: 20px;
    }

    .calendario-subsection {
        display: none;
    }

    a.item-calendario-loop {
        display: flex;
        flex-direction: column;
        padding: 10px 20px;
    }

    .item-calendario-loop .data-container,
    .item-calendario-loop .corso-item-cta,
    .item-calendario-loop .corso-info {
        width: 100%;
        text-align: center;
    }

    .item-calendario-loop .corso-info,
    .item-calendario-loop .corso-item-cta {
        margin-top: 20px;
    }

    .item-calendario-loop .corso-info,
    .item-calendario-loop .data-container {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }

    .item-calendario-loop .corso-item-button {
        padding: 10px 70px 10px 20px;
    }

    .item-calendario-loop .corso-item-button .icon-container {
        top: 10px;
    }

    data-container p {
        border: 1px solid #cac6c6;
        padding: 0px 20px;
    }

    .elementor-swiper-button.elementor-swiper-button-prev {
        left: 30px !important;
    }

    .elementor-swiper-button.elementor-swiper-button-next {
        right: 30px !important;
    }


    .category-filters {
        overflow-x: scroll;
        width: 100%;
        padding-bottom: 20px;
		flex-direction: column;
        align-items: flex-start;
        gap: 5px;
		margin-bottom: 0px;
    }
	
	.category-filters a {
		font-size: 16px;
	}
	
	.cat-filter.category-active::before {
    	bottom: 2px;
	}

    #archive-container {
        grid-template-columns: 100%;
    }

    #form-footer-newsletter .elementor-field-type-submit {
        position: absolute;
        right: 0px;
        display: flex;
        justify-content: flex-end;
        top: 34px;
    }

    #form-footer-newsletter .elementor-field-type-email{
        width: calc(100% - 5%);
    }

    .elementor-nav-menu--dropdown.elementor-nav-menu__container{
        top: 43px !important;
    }

    .elementor-counter-title{
        text-align: center;
    }

}

a.cat-filter:hover {
    color: var(--giallo);
}
@media screen and (min-width: 768px) {
	li.mobile {
		display: none !important;
	}
}