/**
Theme Name: Astra
Theme URI: https://wpastra.com/
Author: Brainstorm Force
Version: 4.13.9
Text Domain: astra
*/

body, button, input, select, textarea, .ast-button, .ast-custom-button {
    font-family: 'Century Gothic', Helvetica, Arial, sans-serif !important;
}

/* Override Elementor's global typography kit variables so text and headings use the same font. */
.elementor-kit-6 {
    --e-global-typography-primary-font-family: 'Century Gothic', Helvetica, Arial, sans-serif !important;
    --e-global-typography-secondary-font-family: 'Century Gothic', Helvetica, Arial, sans-serif !important;
    --e-global-typography-text-font-family: 'Century Gothic', Helvetica, Arial, sans-serif !important;
    --e-global-typography-accent-font-family: 'Century Gothic', Helvetica, Arial, sans-serif !important;
}

.carousel-slider .carousel-slider__item {
    position: relative !important;
    overflow: hidden !important;
}

.carousel-slider .carousel-slider__item a {
    text-decoration: none !important;
}

.carousel-slider .carousel-slider__item img {
    display: block;
    width: 100%;
    height: auto;
    min-height: 150px;
    object-fit: cover;
    margin-left: auto;
    margin-right: auto;
    max-width: 100%;
    transition: transform 0.35s ease;
}

/* Gutter between slides.
   Use padding, not margin: Owl Carousel sets each .owl-item width inline from
   its own measurements, so an extra margin it doesn't know about makes the
   stage wider than computed and pushes the last slide past the right edge. */
.carousel-slider .owl-item {
    box-sizing: border-box;
    padding-right: 10px;
}

.carousel-slider .owl-stage-outer {
    overflow: hidden;
}

.carousel-slider .carousel-slider__item:hover img {
    transform: scale(1.20);
}

.carousel-slider .carousel-slider__caption {
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    z-index: 2 !important;
}

.carousel-slider .carousel-slider__caption .title {
    display: none !important;
}

.carousel-slider .carousel-slider__caption .caption {
    display: block !important;
    text-align: left !important;
    color: #fff !important;
    padding: 2px 5px !important;
    margin: 0 !important;
    background: rgba(0, 0, 0, 0.5) !important;
    line-height: 1.5rem !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    transition: background 0.3s ease !important;
    font-weight: normal !important;
    text-decoration: none !important;
    font-size: 14px !important;
}

.carousel-slider-nav-icon{
    width: 30px !important;
}

.carousel-slider .carousel-slider__item:hover .carousel-slider__caption .caption {
    background: rgba(0, 0, 0, 0.75) !important;
}

/* Keep the carousel inside its container so the right-hand gutter is preserved.
   This previously used width: calc(100% + 120px), which extended the carousel
   past the container's right edge only - no matching offset on the left - so the
   slides ran off the right side of the page. */
.carousel-slider-outer {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    overflow: hidden !important;
}

.e-child{
    padding: 0 !important;
}

.e-heading-base{
    color: #785655 !important;
    font-size: 20px !important;
    font-weight: normal !important;
}

/* .e-con-inner{
    padding-top: 30px !important;
} */

#ast-scroll-top {
    color: #fcfcf7;
    background-color: #735555;
    font-size: 15px;
}

.sub-menu{
    width: 250px !important;
    background-color: rgba(255, 255, 255, 0.8) !important;
}

.sub-menu > .menu-item:hover {
    color: #5a3e8b !important;
}

.ast-desktop .astra-menu-animation-fade>.menu-item .menu-item.focus>.sub-menu, .ast-desktop .astra-menu-animation-fade>.menu-item .menu-item:hover>.sub-menu, .ast-desktop .astra-menu-animation-fade>.menu-item.focus>.astra-full-megamenu-wrapper, .ast-desktop .astra-menu-animation-fade>.menu-item.focus>.sub-menu, .ast-desktop .astra-menu-animation-fade>.menu-item:hover>.astra-full-megamenu-wrapper, .ast-desktop .astra-menu-animation-fade>.menu-item:hover>.sub-menu {
    opacity: 1;
    visibility: visible;
    transition: opacity ease-in-out .3s;
}

.portfolio01 h2 {
    color: #785655 !important;
    font-size: 20px !important;
    font-weight: normal !important;
}

@media (max-width: 1024px) {
    .carousel-slider-outer {
        width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
}

/* =========================================
   SCI FOOTER
   ========================================= */

.footer01 {
    background: #ffffff !important;
    padding: 50px 0 !important;
}

.footer01 > .e-con-inner {
    max-width: 1400px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 250px 0.9fr 1.1fr 1.25fr;
    column-gap: 60px;
    align-items: start;
}

.footer01-inner{
    padding: 80px 130px !important;
}

.hfe-before-footer-wrap{
    background-color: #ffffff !important;
}

/* Logo */
.footer01 .elementor-widget-image img {
    width: 200px;
    height: auto;
}

/* Headings */
.footer01 .elementor-heading-title {
    color: #1e293b;
    
    font-weight: 400;
    line-height: 1.2;
    margin: 0 0 10px;
        font-size: 1.3888888888889rem
25px
;
    


}

/* Lists */
.footer01 .elementor-icon-list-items {
    margin: 0;
    padding: 0;
    list-style: none;
}

.footer01 .elementor-icon-list-item {
    display: flex;
    align-items: center;
    min-height: 28px;
}

.footer01 .elementor-icon-list-item a {
    display: flex;
    align-items: center;
    text-decoration: none;
}

.footer01 .elementor-icon-list-icon {
    width: 20px;
    margin-right: 7px;
    display: flex;
    justify-content: center;
}

.footer01 .elementor-icon-list-icon svg {
    width: 18px;
    height: 18px;
    fill: #67768e;
}

.footer01 .elementor-icon-list-text {
    color: #67768e;
    font-size: 18px;
    line-height: 1.4;
}

/* Social icons */
.footer01 .elementor-social-icons-wrapper {
    display: flex;
    gap: 10px;
    margin-top: 5px;
}

.footer01 .elementor-social-icon {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
}

.footer01 .elementor-social-icon svg {
    width: 20px;
    height: 20px;
    fill: #ffffff;
}

.footer01 .elementor-social-icon-facebook {
    background-color: #3b5998;
}

.footer01 .elementor-social-icon-instagram {
    background-color: #262626;
}

.footer01 .elementor-social-icon-linkedin {
    background-color: #0077b5;
}

/* Inquire now */
.footer01 .elementor-element-25d2c71 {
    margin-top: 30px;
}

/* =========================================
   TABLET
   ========================================= */

@media (max-width: 1024px) {

    .footer01 {
        padding: 45px 30px;
    }

    .footer01 > .e-con-inner {
        grid-template-columns: 1fr 1fr;
        column-gap: 50px;
        row-gap: 45px;
    }

    .footer01 .elementor-heading-title {
        font-size: 26px;
    }

    .footer01 .elementor-icon-list-text {
        font-size: 20px;
    }
}

/* =========================================
   MOBILE
   ========================================= */

@media (max-width: 767px) {

    .footer01 {
        padding: 40px 25px;
    }

    .footer01 > .e-con-inner {
        grid-template-columns: 1fr;
        row-gap: 35px;
        justify-items: center;
        text-align: center;
    }

    .footer01 .elementor-heading-title {
        font-size: 25px;
    }

    .footer01 .elementor-icon-list-item {
        justify-content: center;
    }

    .footer01 .elementor-icon-list-text {
        font-size: 18px;
    }

    .footer01 .elementor-social-icons-wrapper {
        justify-content: center;
    }
}

header > h1 {
    display: none;
}

.regofficemain h4 {
	font-weight: bold;
	margin-bottom: 0px;
}
.regofficemain a,
.regoffice a {
	color: #fff !important;
	text-decoration: none !important;
}

.regofficemain > div{
    padding: 50px !important;
}

#ctabtn02 {
    padding: 15px 30px !important;
    background-color: #FFF !important;
    color: #735555 !important;
    border: solid 2px #FFF !important;
    font-size: 20px !important;
}

#ctabtn02:hover {
    background-color: #735555 !important;
    border: solid 2px #FFF !important;
    color: #FFF !important;
}

#linktext_01 figcaption {
    font-size: 15px;
    text-align: left;
    padding-left: 5px;
    margin-top: -45px !important;
}

#linktext_01 figcaption  a{
        color: #fff !important;
        background-color: transparent;
        text-decoration: none;
    }

    #colophon > div.site-below-footer-wrap.ast-builder-grid-row-container.site-footer-focus-item.ast-builder-grid-row-full.ast-builder-grid-row-tablet-full.ast-builder-grid-row-mobile-full.ast-footer-row-stack.ast-footer-row-tablet-stack.ast-footer-row-mobile-stack {
        border-top-color: #ffcd57 !important;
    }

.e-con {
    --container-max-width: 1240px !important;
}


.elementor-16 .elementor-element.elementor-element-e9cbfab .elementor-heading-title {
    font-family: 'Century Gothic', Helvetica, Arial, sans-serif !important;
    font-weight: 400 !important;
    color: #FFFFFF !important;
}

.reg_og_title > h1, .reg_og_title > h2 {
    font-family: 'Century Gothic', Helvetica, Arial, sans-serif !important;
    font-weight: 400 !important;
    font-size: 40px !important;
}

.reg_og_tag > div.elementor-icon-box-wrapper > div.elementor-icon-box-content > h3 > a {
    color: #000 !important;
    margin: 0px;
    text-align: center;
}

#reg_offices_email{
    color: #000 !important;
}
