:root {
    --gpc-font-size-small: 14px;
    --gpc-font-size-medium: 18px;
    --gpc-font-size-large: 30px;
    --gpc-font-size-xl: 44px;
    --gpc-font-size-xxl: 60px;

    --gpc-section-small-pt: 15px;
    --gpc-section-small-pb: 15px;
    --gpc-section-small-mt: 0;
    --gpc-section-small-mb: 0;
    --gpc-section-medium-pt: 35px;
    --gpc-section-medium-pb: 35px;
    --gpc-section-medium-mt: 0;
    --gpc-section-medium-mb: 0;
    --gpc-section-large-pt: 55px;
    --gpc-section-large-pb: 55px;
    --gpc-section-large-mt: 0;
    --gpc-section-large-mb: 0;
    --gpc-section-xl-pt: 75px;
    --gpc-section-xl-pb: 75px;
    --gpc-section-xl-mt: 0;
    --gpc-section-xl-mb: 0;
}

/*=============================================
=            Elementor Section            =
=============================================*/
.gpc-section-small {
    padding-top: var(--gpc-section-small-pt);
    padding-bottom: var(--gpc-section-small-pb);
    margin-top: var(--gpc-section-small-mt);
    margin-bottom: var(--gpc-section-small-mb);
}
.gpc-section-medium {
    padding-top: var(--gpc-section-medium-pt);
    padding-bottom: var(--gpc-section-medium-pb);
    margin-top: var(--gpc-section-medium-mt);
    margin-bottom: var(--gpc-section-medium-mb);
}
.gpc-section-large {
    padding-top: var(--gpc-section-large-pt);
    padding-bottom: var(--gpc-section-large-pb);
    margin-top: var(--gpc-section-large-mt);
    margin-bottom: var(--gpc-section-large-mb);
}
.gpc-section-xl {
    padding-top: var(--gpc-section-xl-pt);
    padding-bottom: var(--gpc-section-xl-pb);
    margin-top: var(--gpc-section-xl-mt);
    margin-bottom: var(--gpc-section-xl-mb);
}
/*=============================================
=            Vendor            =
=============================================*/
.swiper-container .swiper-slide { height:  auto; }

/*=============================================
=            Grid            =
=============================================*/
.m-grid {
    display: grid !important;
    row-gap: 1.5rem;
    column-gap: 1.5rem;
    grid-template-columns: repeat(1, minmax(0, 1fr))
}

.m-grid.m-gap-0 {
    row-gap: 0rem;
    column-gap: min(0rem, 8%)
}

.m-grid.m-gap-1 {
    row-gap: .25rem;
    column-gap: min(.25rem, 8%)
}

.m-grid.m-gap-2 {
    row-gap: .5rem;
    column-gap: min(.5rem, 8%)
}

.m-grid.m-gap-3 {
    row-gap: .75rem;
    column-gap: min(.75rem, 8%)
}

.m-grid.m-gap-4 {
    row-gap: 1rem;
    column-gap: min(1rem, 8%)
}

.m-grid.m-gap-5 {
    row-gap: 1.25rem;
    column-gap: min(1.25rem, 8%)
}

.m-grid.m-gap-6 {
    row-gap: 1.5rem;
    column-gap: min(1.5rem, 8%)
}

.m-grid.m-gap-7 {
    row-gap: 1.75rem;
    column-gap: min(1.75rem, 8%)
}

.m-grid.m-gap-8 {
    row-gap: 2rem;
    column-gap: min(2rem, 8%)
}

.m-grid.m-gap-9 {
    row-gap: 2.25rem;
    column-gap: min(2.25rem, 8%)
}

.m-grid.m-gap-10 {
    row-gap: 2.5rem;
    column-gap: min(2.5rem, 8%)
}

.m-grid.m-grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr))
}

.m-grid.m-grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr))
}

.m-grid.m-grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr))
}

.m-grid.m-grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr))
}

.m-grid.m-grid-cols-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr))
}

.m-grid.m-grid-cols-12 {
    grid-template-columns: repeat(12, minmax(0, 1fr))
}

.m-grid .m-col-auto {
    grid-column: auto
}

.m-grid .m-col-span-full {
    grid-column: 1/-1
}

.m-grid .m-col-span-1 {
    grid-column: span 1/span 1
}

.m-grid .m-col-span-2 {
    grid-column: span 2/span 2
}

.m-grid .m-col-span-3 {
    grid-column: span 3/span 3
}

.m-grid .m-col-span-4 {
    grid-column: span 4/span 4
}

.m-grid .m-col-span-5 {
    grid-column: span 5/span 5
}

.m-grid .m-col-span-6 {
    grid-column: span 6/span 6
}

.m-grid .m-col-span-7 {
    grid-column: span 7/span 7
}

.m-grid .m-col-span-8 {
    grid-column: span 8/span 8
}

.m-grid .m-col-span-9 {
    grid-column: span 9/span 9
}

.m-grid .m-col-span-10 {
    grid-column: span 10/span 10
}

.m-grid .m-col-span-11 {
    grid-column: span 11/span 11
}

.m-grid .m-col-span-12 {
    grid-column: span 12/span 12
}

@media (min-width: 768px) {
    .m-grid.md\:m-grid-cols-1 {
        grid-template-columns: repeat(1, minmax(0, 1fr))
    }

    .m-grid.md\:m-grid-cols-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }

    .m-grid.md\:m-grid-cols-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr))
    }

    .m-grid.md\:m-grid-cols-4 {
        grid-template-columns: repeat(4, minmax(0, 1fr))
    }

    .m-grid.md\:m-grid-cols-5 {
        grid-template-columns: repeat(5, minmax(0, 1fr))
    }

    .m-grid.md\:m-grid-cols-12 {
        grid-template-columns: repeat(12, minmax(0, 1fr))
    }

    .m-grid .md\:m-col-auto {
        grid-column: auto
    }

    .m-grid .md\:m-col-span-full {
        grid-column: 1/-1
    }

    .m-grid .md\:m-col-span-1 {
        grid-column: span 1/span 1
    }

    .m-grid .md\:m-col-span-2 {
        grid-column: span 2/span 2
    }

    .m-grid .md\:m-col-span-3 {
        grid-column: span 3/span 3
    }

    .m-grid .md\:m-col-span-4 {
        grid-column: span 4/span 4
    }

    .m-grid .md\:m-col-span-5 {
        grid-column: span 5/span 5
    }

    .m-grid .md\:m-col-span-6 {
        grid-column: span 6/span 6
    }

    .m-grid .md\:m-col-span-7 {
        grid-column: span 7/span 7
    }

    .m-grid .md\:m-col-span-8 {
        grid-column: span 8/span 8
    }

    .m-grid .md\:m-col-span-9 {
        grid-column: span 9/span 9
    }

    .m-grid .md\:m-col-span-10 {
        grid-column: span 10/span 10
    }

    .m-grid .md\:m-col-span-11 {
        grid-column: span 11/span 11
    }

    .m-grid .md\:m-col-span-12 {
        grid-column: span 12/span 12
    }
}

@media (min-width: 1400px) {
    .m-grid.xxl\:m-grid-cols-1 {
        grid-template-columns: repeat(1, minmax(0, 1fr))
    }

    .m-grid.xxl\:m-grid-cols-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }

    .m-grid.xxl\:m-grid-cols-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr))
    }

    .m-grid.xxl\:m-grid-cols-4 {
        grid-template-columns: repeat(4, minmax(0, 1fr))
    }

    .m-grid.xxl\:m-grid-cols-5 {
        grid-template-columns: repeat(5, minmax(0, 1fr))
    }

    .m-grid.xxl\:m-grid-cols-12 {
        grid-template-columns: repeat(12, minmax(0, 1fr))
    }

    .m-grid .xxl\:m-col-auto {
        grid-column: auto
    }

    .m-grid .xxl\:m-col-span-full {
        grid-column: 1/-1
    }

    .m-grid .xxl\:m-col-span-1 {
        grid-column: span 1/span 1
    }

    .m-grid .xxl\:m-col-span-2 {
        grid-column: span 2/span 2
    }

    .m-grid .xxl\:m-col-span-3 {
        grid-column: span 3/span 3
    }

    .m-grid .xxl\:m-col-span-4 {
        grid-column: span 4/span 4
    }

    .m-grid .xxl\:m-col-span-5 {
        grid-column: span 5/span 5
    }

    .m-grid .xxl\:m-col-span-6 {
        grid-column: span 6/span 6
    }

    .m-grid .xxl\:m-col-span-7 {
        grid-column: span 7/span 7
    }

    .m-grid .xxl\:m-col-span-8 {
        grid-column: span 8/span 8
    }

    .m-grid .xxl\:m-col-span-9 {
        grid-column: span 9/span 9
    }

    .m-grid .xxl\:m-col-span-10 {
        grid-column: span 10/span 10
    }

    .m-grid .xxl\:m-col-span-11 {
        grid-column: span 11/span 11
    }

    .m-grid .xxl\:m-col-span-12 {
        grid-column: span 12/span 12
    }
}

/*=============================================
=            Floating contact buttons            =
=============================================*/
.gpc-floating-contacts {
    position: fixed;
    bottom: 40px;
    right: 20px;
    z-index: 999;
    display: flex;
    flex-direction: column;
}
.gpc-floating-contacts .gpc-floating-contact-button {
    position: relative;
    width: 40px;
    height: 40px;
    line-height: 40px;
    border-radius: 50px;
    color: #fff;
    text-align: center;
    margin-bottom: 10px;
    align-self: flex-end;
    box-shadow: 0px 0px 5px rgb(0 0 0 / 35%);
}
.gpc-floating-contacts .gpc-floating-contact-button a {
    color: #fff;
    font-size: 20px;
    text-decoration: none;
    background-color: inherit;
}
.gpc-floating-contacts .gpc-floating-contact-button img {
    max-width: 26px;
}

.gpc-floating-contacts .gpc-floating-contact-phone {
    background-color: #2ba968;
}
.gpc-floating-contacts .gpc-floating-contact-phone i {
    transform: rotate(-250deg);
}
.gpc-floating-contacts .gpc-floating-contact-facebook {
    background-color: #0084ff;
}
.gpc-floating-contacts .gpc-floating-contact-whatsapp {
    background-color: #00bfa5;
}
.gpc-floating-contacts .gpc-floating-contact-viber {
    background-color: #665cac;
}
.gpc-floating-contacts .gpc-floating-contact-zalo {
    background-color: #1F7FC2;
}

@media(min-width: 992px) {
    .gpc-floating-contacts .gpc-floating-contact-button.has-label,
    .gpc-floating-contacts .gpc-floating-contact-button.has-label-on-hover:hover {
        width: 160px;
        transition: all ease 300ms;
    }
    .gpc-floating-contacts .gpc-floating-contact-button.has-label a,
    .gpc-floating-contacts .gpc-floating-contact-button.has-label-on-hover:hover a {
        overflow: hidden;
        display: flex;
        align-items: center;
        border-radius: 40px;
        padding: 0 10px 0 55px;
        text-align: left;
        height: 40px;
        line-height: 40px;
    }
    .gpc-floating-contacts .gpc-floating-contact-button.has-label .floating-contact-icon,
    .gpc-floating-contacts .gpc-floating-contact-button.has-label-on-hover:hover .floating-contact-icon{
        width: 40px;
        height: 40px;
        position: absolute;
        top: 0;
        left: 0;
        box-shadow: 0px 0px 5px rgb(0 0 0 / 35%);
        border-radius: 50%;
        transform: scale(1.25);
        background-color: inherit;
        text-align: center;
    }
    .gpc-floating-contacts .button-label {
        font-size: 14px;
    }

    .gpc-floating-contacts .gpc-floating-contact-button.has-label-on-hover .button-label {
        opacity: 0;
        display: none;
    }
    .gpc-floating-contacts .gpc-floating-contact-button.has-label-on-hover:hover .button-label {
        opacity: 1;
        display: block;
    }
}
@media(max-width: 767px) {
    .gpc-floating-contacts {
        bottom: 0px;
        right: 0px;
        flex-direction: row;
        justify-content: space-evenly;
        width: 100%;
    }
    .gpc-floating-contacts .gpc-floating-contact-button {
        width: 100%;
        border-radius: 0;
        margin-bottom: 0;
        box-shadow: none;
    }

    .gpc-floating-contacts .gpc-floating-contact-button .button-label {
        display:none;
    }
}

/*=============================================
=            Sticky header            =
=============================================*/
.header-sticky {
    position: fixed !important;
    width: 100%;
    transition: transform 0.4s;
    box-shadow: 0 0 10px 0 rgb(0 0 0 / 10%);
}

.header-sticky .ast-breadcrumbs-wrapper {
    display: none;
}

/*=============================================
=            Shortcode - Search forms            =
=============================================*/
.gpc-search-form {
    position: relative;
}

.gpc-search-form .search-text {
    display: none;
}

.gpc-search-form .button-search {
    border: none;
    background: transparent;
    color: #666;
    padding-left: 1rem;
    padding-right: 1rem;
}

.gpc-search-form .search-form {
    background-color: #fff;
    width: min(100vw, 400px);
}

.gpc-search-form .searchform-fields {
    border: 1px solid #ddd;
    display: flex;
    justify-content: space-between;
}

.gpc-search-form input[type="text"] {
    border: none;
    flex-grow: 1;
}

.gpc-search-form.is-simple .search-toggle {
    display: none;
}

.gpc-search-form.is-dropdown .search-form {
    display: none;
    padding: 10px;
}

.gpc-search-form.is-dropdown .search-form.is-show {
    display: block;
    position: absolute;
    top: 100%;
    right: 0;
}