/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Jun 02 2025 | 11:05:51 */
/* 1. colors
------------------------------ */
.bg-primary {
  background-color: var(--global-palette1);
}
.bg-accent {
  background-color: var(--global-palette2);
}
.bg-dark {
  background-color: var(--global-palette3);
}
.bg-subtle {
  background-color: var(--global-palette4);
}
.bg-light {
  background-color: var(--global-palette5);
}
.bg-white {
  background-color: var(--global-palette9);
}
.bg-dark, .bg-dark a, .bg-dark .elementor-heading-title {
  color: var(--global-palette9);
}
.text-primary, .text-primary .elementor-heading-title {color: var(--global-palette1) !important;}
.text-white, .text-white .elementor-heading-title {color: var(--global-palette3) !important;}
.bordered {border: 1px solid var(--global-palette3);}
.border-bottom {border-bottom: 2px solid var(--global-palette3);}
.border-left {border-left: 1px solid var(--global-palette3);}
#page-header .border-left {border-left: 0;}
@media (min-width: 1025px) {#page-header .border-left {border-left: 1px solid var(--global-palette9);}}

/* 2. typographics
----------------------------- */
a, .elementor a, #menu-primary-menu a:hover {
  text-decoration: underline;
}
a:hover, .elementor a:hover,
.elementor-icon-list-items a, .elementor-button span {
  text-decoration: none;
}
body, html {
  font-size: 16px;
  line-height: 1.5;
}
@media (min-width: 768px) {
  body, html {
    font-size: 18px;
  }
}
h1, h2, h3, h4, h5, h6, .elementor-heading-title,
.single-content p:last-child {
  margin: inherit !important;
  margin-bottom: .5rem !important;
}
.elementor-widget-heading .elementor-heading-title.elementor-size-xl {
  font-size: 2rem !important;
}
@media (min-width: 768px) {
.elementor-widget-heading .elementor-heading-title.elementor-size-xl {
  font-size: 2.5rem !important;
}
}
.lead {
  font-size: 1.1rem;
}

/* 3. margin & paddings
------------------------------ */
section {
  padding-top: 3rem;
  padding-bottom: 3rem;
}
section section, #hero, #page-header, .widget_block {
  padding-top: 0;
  padding-bottom: 0;
}
.elementor-column-gap-wide > .elementor-column > .elementor-element-populated {
  padding: 1rem;
}
.elementor-column-gap-wider > .elementor-column > .elementor-element-populated {
  padding: 2rem;
}
@media (min-width: 768px) {
  section {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
  .elementor-column-gap-wide > .elementor-column > .elementor-element-populated {
    padding: 2rem;
  }
  .elementor-column-gap-wider > .elementor-column > .elementor-element-populated {
    padding: 4rem;
  }
}
.container-30 {
  max-width: 384px;
}
.container-40 {
  max-width: 512px;
}
.container-50 {
  max-width: 640px;
}
.container-75 {
  max-width: 960px;
}
.mt-0 {
  margin-top: 0 !important;
}
.mb-0 {
  margin-bottom: 0 !important;
}
.mb-1 {
  margin-bottom: 1rem !important;
}
.mb-2 {
  margin-bottom: 2rem !important;
}
.pt-0 {
  padding-top: 0 !important;
}
.pb-0 {
  padding-bottom: 0 !important;
}
.py-0 {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
.pb-1 {
  padding-bottom: 1rem !important;
}

/* 4. modificators
------------------------------ */
.op-50 {
  opacity: 0.5 !important;
}
.op-75 {
  opacity: 0.75 !important;
}
.shadow {
  box-shadow: 0 0 1rem 0 rgba(0,0,0,.25);
}
.list-unlisted {
  list-style: none;
}
.widget-area ul {
  padding: 0;
  margin: 0;
}
.gap20 > div {
	gap: 20px;
}

/* 5. buttons
------------------------------ */
button, .button, .wp-block-button__link, input[type="button"], input[type="reset"], input[type="submit"],
.fl-button, .elementor-button-wrapper .elementor-button, .elementor-form .elementor-button {
  border-radius: 2rem;
  font-size: 16px;
  letter-spacing: -0.01em;
  text-decoration: none;
  text-transform: uppercase; 
}
.elementor-button-wrapper .elementor-button .dashicons {
  font-size: 1em;
  height: 1em;
  width: 1em;
  transition: none !important;
}
.elementor-button.elementor-size-sm {
  padding: .75rem 1.5rem;
}
.elementor-button.elementor-size-md, #main-header .header-button {
  padding: .875rem 1.75rem;
}
.elementor-button.elementor-size-lg {
  padding: 1rem 2rem;
}
.btn-primary .elementor-button-wrapper .elementor-button {
  background-color: var(--global-palette1);
  border-color: var(--global-palette1);
  color: var(--global-palette3);
}
.btn-primary .elementor-button-wrapper .elementor-button:hover {
  background-color: transparent;
  border-color: var(--global-palette1);
  color: var(--global-palette1);
}
.btn-dark .elementor-button-wrapper .elementor-button {
  background-color: var(--global-palette3);
  border-color: var(--global-palette3);
  color: var(--global-palette9);
}
.btn-dark .elementor-button-wrapper .elementor-button:hover {
  background-color: transparent;
  border-color: var(--global-palette3);
  color: var(--global-palette3);
}
/* buttons: style info */
.elementor-button-info .elementor-button-wrapper .elementor-button,
.elementor-button-wrapper .elementor-button:hover {
  background-color: transparent;
  border-color: var(--global-palette3);
  color: var(--global-palette3);
}
.elementor-button-info .elementor-button-wrapper .elementor-button:hover {
  background-color: var(--global-palette3);
  border-color: var(--global-palette3);
  color: var(--global-palette9);
}
.bg-dark .elementor-button-info .elementor-button-wrapper .elementor-button,
.btn-white.elementor-button-info .elementor-button-wrapper .elementor-button {
  background-color: transparent;
  border-color: var(--global-palette9);
  color: var(--global-palette9);
}
.bg-dark .elementor-button-info .elementor-button-wrapper .elementor-button:hover,
.btn-white.elementor-button-info .elementor-button-wrapper .elementor-button:hover {
  background-color: var(--global-palette9);
  border-color: var(--global-palette9);
  color: var(--global-palette3);
}


/* ELEMENTOR WIDGETS STYLES
===================================== */
/* elementor widgets: cta
------------------------------ */
.elementor-widget-call-to-action {
  min-height: 100%;
  overflow: hidden;
}
.elementor-widget-call-to-action .elementor-widget-container {
  min-height: 100%;
  display: flex;
}
.elementor-cta--skin-classic .elementor-cta {
  width: 100%;
}
.elementor-cta--skin-classic .elementor-cta__content {
  background-color: transparent;
  padding: 3rem;
  transition: none;
  width: 100%;
}

/* elementor widgets: icon-box
------------------------------ */
.elementor-widget-icon-box {
  border: 1px solid var(--global-palette3);
  min-height: 100%;
  padding: 2rem;
}
.elementor-widget-icon-box .elementor-icon-box-wrapper {
  text-align: left !important;
}
.elementor-widget-icon-box .elementor-widget-container {
  width: 100%;
}
.elementor-icon-box-icon {
  fill: var(--global-palette1); 
}
.elementor-icon-box-title {
  font-size: 1rem;
  text-transform: uppercase;
  line-height: 1.1;
  margin-bottom: 0.75rem !important;
}
#contact-info .elementor-widget-icon-box {
	border:0;
	padding: 0rem;
}
#contact-info .elementor-widget-icon-box {
	min-height: auto;
}
/* NAVBAR
===================================== */
.drawer-content .site-header-item:last-child {
  position: absolute;
  bottom: 1.5em;
}
.mobile-navigation ul ul {
  padding-left: 0;
}
#main-header .header-button:hover {
  background-color: var(--global-palette9) !important;
  border-color: var(--global-palette9) !important;
  color: var(--global-palette3) !important;
}

/* PAGE: HOME
===================================== */
/* section: hero */
@media (max-width: 767px) {
#hero > .elementor-background-overlay {
  background: #000000;
  background-image: linear-gradient(90deg, #000000 0%, #00000000 100%);
  opacity: .4;
}
}

/* section: about-us */
#about-us .elementor-widget-counter {
  border-bottom: 1px solid var(--global-palette9);
  max-width: 16rem;
}
#about-us .elementor-counter {
  padding: 1.5rem;
  padding-top: 1rem;
}
#about-us .elementor-counter .elementor-counter-number-wrapper {
  display: inline-block;
  font-size: 3rem;
  font-weight: 500;
  line-height: 1.1;
  letter-spacing: -0.03em;
}
#about-us .elementor-counter .elementor-counter-title {
  font-size: 1rem;
  font-weight: 500;
  text-align: left;
  text-transform: uppercase;
  line-height: 1.1;
}

/* section: services */
#services .elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tabs-wrapper {
  padding-top: 4rem;
}
#services .elementor-widget-tabs.elementor-tabs-view-vertical .elementor-tabs-content-wrapper {
  border: 0;
  border-left: 1px solid var(--global-palette3);
}
#services .elementor-widget-tabs .elementor-tab-desktop-title.elementor-active:after {
  border-top: 1px solid var(--global-palette3);
  width: 100%;
}
#services .elementor-tab-title {
  border-color: var(--global-palette3);
  opacity: .5;
}
#services .elementor-tab-title h2 {
  color: inherit;
  font-size: 1.25rem;
  letter-spacing: 0;
  margin-bottom: 0 !important;
}
#services .elementor-tab-title:hover,
#services .elementor-tab-title.elementor-active {
  opacity: 1;
}
#services .elementor-widget-tabs .elementor-tab-desktop-title {
  border: none;
}
#services .elementor-widget-tabs .elementor-tab-content {
  padding: 0;
}

@media (max-width: 1024px) {
	#services .elementor-tabs-wrapper,
	#gallery .elementor-tabs-wrapper{
		margin-bottom: 1rem;
	}
    #services .elementor-tabs,
	#gallery .elementor-tabs {
        flex-direction: column;
    }

    #services .elementor-tabs-wrapper > div,
	#gallery .elementor-tabs-wrapper > div {
        border-right: none;
    }

    #services .elementor-tabs-wrapper,
	#gallery .elementor-tabs-wrapper {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
    }

    #services .elementor-tabs-wrapper .elementor-active,
	#gallery .elementor-tabs-wrapper .elementor-active {
        border-right: 0;
        border-bottom: 3px solid var(--global-palette4);
    }

    #services .elementor-tabs-wrapper,
	#gallery .elementor-tabs-wrapper {
        width: 100%;
    }

    #services .elementor-tab-title,
	#gallery .elementor-tab-title {
        padding: 10px 15px;
    }

    #services .elementor-tab-mobile-title,
	#gallery .elementor-tab-mobile-title {
        display: none;
    }
}

@media (max-width: 767px) {
#services .elementor-tabs {
  border-bottom: 1px solid var(--global-palette3);
}
#services .elementor-tab-title:hover, #services .elementor-tab-title.elementor-active {
  opacity: 1;
}
#services .elementor-tabs .elementor-tab-title {
  padding: 1rem 1.5rem;
  border: 0;
}
#services .elementor-tabs .elementor-tab-content {
  border: 0;
}
	#services .elementor img {
	height: 300px;
    width: 100%;
    object-fit: cover;
	}
}

/* section: showcase-slider */
#showcase-slider .elementor-element .swiper .elementor-swiper-button {
  border-radius: 2rem;
  font-size: 1rem;
  border: 2px solid var(--global-palette9);
  color: var(--global-palette9);
  padding: .75rem;
  top: auto;
  bottom: 1rem;
  position: absolute;
  transform: translateY(-50%);
  transform: none;
  z-index: 1;
}
#showcase-slider .elementor-element .swiper .elementor-swiper-button-prev {
  left: 1rem;
  right: auto;
}
#showcase-slider .elementor-element .swiper .elementor-swiper-button-next {
  left: 4rem;
  right: auto;
}
#showcase-slider .elementor-element .swiper .elementor-swiper-button i {
  display: none;
}
#showcase-slider .elementor-element .swiper .elementor-swiper-button-prev svg,
#showcase-slider .elementor-element .swiper .elementor-swiper-button-next svg {
  fill: var(--global-palette9);
}

#showcase-slider .elementor-element .swiper .elementor-swiper-button:hover {
  background-color: var(--global-palette9);
  border-color: var(--global-palette9);
  color: var(--global-palette3);
  transition: 0.3s ease;
}

#showcase-slider .elementor-element .swiper .elementor-swiper-button:hover svg {
  fill: var(--global-palette3);
}

/* section: features */
#features .elementor-widget-icon-box {
  border: 1px solid var(--global-palette3);
  padding: 2rem;
  box-shadow: 0 .2rem 0 0 var(--global-palette1);
}
#features .elementor-widget-icon-box .elementor-widget-container {
  width: 100%;
}
#features .elementor-icon-box-wrapper {
  text-align: left !important;
  min-height: 12rem;
}
#features .elementor-icon-box-wrapper .elementor-icon-box-icon {
  margin-bottom: 4rem;
}
#features .elementor-widget-icon-box .elementor-icon-box-title {
  font-size: 1.1rem;
  letter-spacing: 0;
  line-height: 1.1;
  margin-bottom: .5rem !important;
  text-transform: uppercase;
}

/* section: mission */
#mission .elementor-image-box-wrapper {
	background-color: var(--global-palette3);
}
#mission .elementor-image-box-content {
	padding: 2rem;
}
#mission .elementor-image-box-title,
#mission .elementor-image-box-description{
	color: var(--global-palette9);
}
#mission .elementor-image-box-description {
	opacity: 0.75;
}
#mission .elementor-image-box-img {
	width: 100%;
	margin: 0 !important;
}
#mission .elementor-image-box-img img {
	width: 100%;
	height: 350px;
	object-fit: cover;
}

/* section: reviews */
#reviews .inner-wrapper {
  position: absolute;
  top: 0;
  left: 0;
  height: 35rem;
  width: 100vw;
}
#reviews .elementor-testimonial__image img {
	width: 4rem !important;
	height: 4rem !important;
}
#reviews .elementor-testimonial__footer {
	margin-bottom: 0 !important;
}
#reviews .elementor-testimonial__text {
  font-size: 1rem;
  line-height: 1.5rem;
  font-style: normal;
  height: 6rem !important;
}
#reviews .elementor-swiper-button-next,
#reviews .elementor-swiper-button-prev {
  font-size: 1.5rem !important;
  color: var(--global-palette3) !important;
}
#reviews .elementor-testimonial__content {
	display: flex;
    flex-direction: column-reverse;
}
#reviews .elementor-testimonial__cite {
	font-style: normal;
	margin: 1rem 0 !important;
}
#reviews .elementor-testimonial__name {
	font-size: 15px;
}
#reviews .elementor-testimonial__title {
	font-size: 12px;
	color: var(--global-palette3);
	opacity: 0.5;
}
#reviews .elementor-swiper-button-prev {
  left: 0;
}
#reviews .elementor-swiper-button-next {
  right: 0;
}
@media(max-width: 768px) {
	#reviews .elementor-testimonial__text {
		font-size: 14px;
		line-height: 1.3;
	}
}

/* section: request-estimate */
.forminator-col {
	padding: 0 !important;
}
.forminator-row {
	gap: 0.5rem;
	margin-bottom: 0.5rem !important;
}
.forminator-button-submit {
	background-color: var(--global-palette3) !important;
    color: var(--global-palette9) !important;
	padding: 1rem 2rem !important;
	border-radius: 2rem !important;
    font-size: 16px !important;
    letter-spacing: -0.01em !important;
    text-decoration: none;
	width: 100% !important;
	margin-top: 0.5rem !important;
}
 .forminator-field input, .forminator-textarea,
 .forminator-field input:focus, .forminator-textarea:focus,
 .forminator-field input:active, .forminator-textarea:active{
	color: var(--global-palette3);
	background: transparent;
	border: 1px solid var(--global-palette3);
	padding: 15px 20px !important;
	font-size: 18px !important;
}
.forminator-field input::placeholder, .forminator-textarea::placeholder {
	color: var(--global-palette3) !important;
	opacity: 0.75;
}
.forminator-label {
	display: none !important;
}
.forminator-textarea {
	min-height: 120px !important;
	height: 120px !important;
}
.forminator-multi-upload {
	min-height: 100px !important;
	height: 100px !important;
}
.forminator-multi-upload {
	padding: 20px !important;
}
.forminator-error-message {
	color: var(--global-palette3) !important;
    line-height: 1.5 !important;
	background: transparent !important;
}
@media(max-width: 1024px) {
	#request-estimate .forminator-field-email{
		margin-bottom: 0 !important;
	}
	#request-estimate .elementor-container.elementor-column-gap-wider .elementor-column:first-child > div {
		padding-bottom: 0 !important;
	}
}
@media(max-width: 786px) {
	#request-estimate .forminator-field-email{
		margin-bottom: 10px !important;
	}
	#email-1, #text-1{
		margin-bottom: 10px !important;
	}
	#request-estimate .elementor-column-gap-wider .elementor-element-populated{
		padding: 1rem;
	}
	
	#request-estimate .elementor-heading-title {
		margin-top: 1rem !important;
	}
}

/* footer */
footer .site-middle-footer-wrap section {
  padding-top: 0rem;
  padding-bottom: 0rem;
}
footer .footer-logo {
  display: block;
  max-width: 120px;
  position: absolute;
  top: -35px;
  left: -25px;
}
footer .footer-text {
  max-width: 80%;
  opacity: .75;
  padding-top: 6rem;
}
footer .site-bottom-footer-wrap section {
  padding-top: 0;
  padding-bottom: 0;
}
footer .site-bottom-footer-wrap {
  font-size: 90%;
}
footer .widget_nav_menu .sub-menu {
  display: none;
}
#custom_html-2 .textwidget.custom-html-widget {
	position: relative;
}
#custom_html-8,
footer .footer-html p {
  color: var(--global-palette8);
}
footer .site-bottom-footer-wrap .site-footer-bottom-section-2 {
  display: flex;
  align-items: center;
  text-align: right;
}
@media (max-width: 1024px) {
footer .site-bottom-footer-wrap .site-footer-bottom-section-1,
footer .site-bottom-footer-wrap .site-footer-bottom-section-2 {
  text-align: center;
}
}


/* PAGE: SERVICES
===================================== */
/* section: projects */
@media (max-width: 767px) {
#page-services {
  padding-top: 0;
  padding-bottom: 0;
}
}

/* PAGE: Portfolio
===================================== */
#projects .uael-post__footer {
  margin-top: 0;
}
#projects .uael-post-inf-loader>div {
  background-color: var(--global-palette3);
}
#gallery .elementor-tab-title {
	padding: 0 15px 10px 15px;
	margin-bottom: 1rem;
}
#gallery .elementor-tab-title,
#gallery .elementor-tabs-content-wrapper,
#gallery .elementor-tab-content,
#gallery .elementor-tab-title:before,
#gallery .elementor-tab-title:after{
	border: 0;
}
#gallery .elementor-tab-title.elementor-active {
	border-bottom: 3px solid var(--global-palette3);
}
.elementor-slideshow__footer {
	display: none;
}

/* PROJECT PAGE (POST PAGE)
===================================== */
#post-slider .uael-img-carousel-wrap .slick-arrow {
  border-radius: 2rem;
  border: 2px solid var(--global-palette9);
  color: var(--global-palette9);
  font-size: 0;
  padding: .75rem;
  top: auto;
  bottom: 1rem;
  position: absolute;
  transform: none;
  width: 2.75rem;
  z-index: 1;
}
#post-slider .uael-img-carousel-wrap .slick-arrow:hover {
  background-color: var(--global-palette9);
  border-color: var(--global-palette9);
  color: var(--global-palette3);
}
#post-slider .uael-img-carousel-wrap .slick-prev {
  left: 1.5rem;
  right: auto;
}
#post-slider .uael-img-carousel-wrap .slick-next {
  left: 4.5rem;
  right: auto;
}
#post-slider .uael-img-carousel-wrap .slick-prev::before,
#post-slider .uael-img-carousel-wrap .slick-next::before {
  color: var(--global-palette9);
  color: inherit;
  content: "\f340";
  font-family: "dashicons";
  line-height: 1;
  font-size: 1rem;
  opacity: 1;
}
#post-slider .uael-img-carousel-wrap .slick-next::before {
  content: "\f344";
}
@media (min-width: 1025px) {
.slick-list {
  height: auto !important;
}
/*#post-slider .uael-img-gallery-wrap .uael-grid-img-thumbnail img {min-height: 950px;}*/
#post-info {margin-top: 4rem;}
}
#post-footer .elementor-column-gap-wider > .elementor-column > .elementor-element-populated {
  padding-top: 2rem;
  padding-bottom: 2rem; 
}