/*
Theme Name:           Flatsome
Theme URI:            http://flatsome.uxthemes.com/
Author:               UX-Themes
Author URI:           http://www.uxthemes.com/
Description:          Multi-Purpose Responsive WooCommerce Theme
Version:              3.15.6
Requires at least:    5.0.0
Requires PHP:         5.6.20
WC requires at least: 4.4.0
Text Domain:          flatsome
License:              http://themeforest.net/licenses
License URI:          http://themeforest.net/licenses
*/


/***************
All custom CSS should be added to Flatsome > Advanced > Custom CSS,
or in the style.css of a Child Theme.
***************/
.text-mb-0 p {
	margin-bottom: 0 !important;
}

.row-col-pb-0 .col {
  	padding-bottom: 0 !important;
}

.container {
	padding-left: 18px !important;
  	padding-right: 18px !important;
}

.section.container {
	max-width: 1200px;
}

.section.container .section-content > .row {
	margin-left: 0 !important;
  	margin-right: 0 !important;
}

.page-wrapper {
	padding-top: 0;
	padding-bottom: 0
}

.container-width, .full-width, .row {
	max-width: 100%;
}

.row-main > .col {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.row:after {
	display: none;
}

.row .section {
	padding: 0;
}

.col {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.nav > li > a {
	font-family: "Inter", sans-serif !important;
}

.blue {
    color: #0166ff;
  	font-weight: bold;
}

.green {
    color: #00bfae;
  	font-weight: bold;
}

.wpcf7 .wpcf7-not-valid-tip {
  	background-color: #40afd7;
  	color: #ffffff;
    margin-top: 1px;
}

.wpcf7 .wpcf7-not-valid-tip:after {
	border-bottom-color: #40afd7;
}

/** Component **/
#wrapper, #main {
	background-color: #fafbfc !important;
}

.btn-primary {
    background: linear-gradient(90deg, #0166ff, #00e6b8 80%);
    color: #fff;
    font-weight: 700;
  	font-size: 1.07rem;
    padding: 0.95rem 2.1rem;
    border-radius: 2rem;
    border: none;
    outline: none;
    box-shadow: 0 2px 12px #00bfae20;
    cursor: pointer;
    transition: background .17s;
    text-decoration: none;
    display: inline-block;
  	line-height: 1;
}

.btn-primary:hover {
	opacity: 0.85 !important;
  	box-shadow: none !important;
}

.btn-outline {
    background: #fff;
    color: #0166ff;
    font-weight: 700;
  	font-size: 1.07rem;
    border: 2px solid #0166ff;
    padding: 0.95rem 2.1rem;
    border-radius: 2rem;
    transition: background .16s, color .16s;
    text-decoration: none;
    display: inline-block;
  	line-height: 1;
}

.btn-outline:hover {
    background: #f6fcfe;
    color: #00bfae;
    border-color: #00bfae;
  	box-shadow: none !important;
}

/** Home **/
.hero-banner-row {
	margin-left: 0 !important;
  	margin-right: 0 !important;
}

.hero-banner-row > .col {
	padding-left: 0 !important;
  	padding-right: 0 !important;
}

.hero-banner-slider .flickity-viewport {
	height: 700px !important;
}

@media screen and (max-width: 549px) {
    .hero-banner-slider .flickity-viewport {
        height: 300px !important;
    }
}

.hero-banner-slider .slider-nav-light .flickity-page-dots .dot {
	border: unset;
    background: rgba(36, 102, 255, 0.7);
  	opacity: 1 !important;
}

.hero-banner-slider .slider-nav-light .flickity-page-dots .dot.is-selected {
    background: rgba(70, 191, 174, 0.7);
    transform: scale(1.2);
}

.flickity-prev-next-button {
	height: 36px;
}

.flickity-prev-next-button .flickity-button-icon {
	background-color: rgba(237, 237, 237, 0.8) !important;
    border: unset !important;
}

.flickity-prev-next-button .flickity-button-icon path {
	display: none !important;
}

.flickity-prev-next-button:hover .flickity-button-icon {
  	background-color: #0166ff !important;
}

.flickity-prev-next-button:hover::after {
	color: #fff !important;
}

.flickity-prev-next-button.previous:after {
    display: block;
    content: '←';
    font-size: 1.2rem;
    font-family: math;
  	color: #0166ff;
  	position: relative;
}

.flickity-prev-next-button.next:after {
    display: block;
    content: '→';
    font-size: 1.2rem;
    font-family: math;
  	color: #0166ff;
 	position: relative;
}

@media screen and (max-width: 549px) {
    .hero-banner-slider .flickity-prev-next-button {
        display: block;
    }
}

.hero-banner-slider .img,
.hero-banner-slider .img-inner,
.hero-banner-slider .img img {
	height: 100%;
}

.hero-banner-slider .img img {
  	object-fit: cover;
}

.hero-home-row {
	margin: 0 !important;
}

.hero-leqee-title {
    font-family: 'Inter', Arial, sans-serif;
    font-size: 2.95rem;
    font-weight: 900;
    line-height: 1.1;
    margin-bottom: 1.1rem;
    background: linear-gradient(90deg, #0166ff 60%, #00e6b8 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    color: transparent;
    letter-spacing: -1.2px;
    display: inline-block;
}

.hero-leqee-title p {
	margin-bottom: 0
}

.hero-leqee-subtitle {
    font-size: 1.25rem;
    font-weight: 500;
    color: #384d60;
    margin-bottom: 2.3rem;
    letter-spacing: 0.02em;
    max-width: 520px;
    margin-left: auto;
    margin-right: auto;
    line-height: 1.6;
}

@media screen and (max-width: 549px) {
  .hero-leqee-title {
    font-size: 2rem;
  }
  
  .hero-leqee-subtitle {
  	font-size: 1rem;
  }
}

.hero-btn-group {
  	justify-content: center;
  	align-items: center;
	gap: 20px;
}

.hero-btn-group .col {
	max-width: fit-content !important;
  	margin: 0;
  	padding: 0 !important;
}

.hero-btn-group .button {
	margin-bottom: 0;
  	height: 57px;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
}

@media screen and (max-width: 549px) {
  .hero-btn-group {
  	flex-direction: column;
  }
}

.features-row {
    display: flex;
    gap: 2.2rem;
    margin: 3.5rem 0 2.7rem 0 !important;
    justify-content: center;
    flex-wrap: wrap;
}

.feature-card {
    background: #fff;
    border-radius: 1.7rem;
    box-shadow: 0 2px 16px #0166ff10;
    min-width: 255px;
    text-align: center;
    flex: 1 1 270px;
  	padding-bottom: 0;
}

.feature-card:hover {
    box-shadow: 0 8px 32px #00bfae26;
}

.feature-card p {
	margin-bottom: 0;
}

.feature-card .col-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
  	padding: 2rem 1.6rem 1.6rem 1.6rem;
}

.feature-card-align-left .col-inner {
    align-items: flex-start;
}

.feature-icon {
    width: 54px;
    height: 54px;
    margin-bottom: 1.1rem;
    border-radius: 50%;
    background: linear-gradient(135deg, #0166ff33 40%, #00e6b833 100%);
    display: flex;
    align-items: center;
    justify-content: center;
}

.feature-icon svg {
    width: 32px;
    height: 32px;
}

.feature-title p {
    font-size: 1.12rem;
    font-weight: 700;
    color: #0166ff;
    margin-bottom: 0.38rem;
}

.feature-desc p {
    font-size: 1.01rem;
    color: #465260;
    line-height: 1.6;
  	margin-bottom: 0;
}

.about-preview {
    margin: 1rem auto 1rem auto;
    background: linear-gradient(90deg, #f6fcfe 60%, #fafdff 100%);
    border-left: 5px solid #00bfae;
    border-radius: 1.25rem;
    box-shadow: 0 2px 16px #00bfae0c;
    max-width: 770px;
    font-size: 1.13rem;
    color: #26394f;
    line-height: 1.7;
    font-weight: 400;
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
    padding: 0;
}

.about-preview strong {
    color: #0166ff;
}

.about-preview .col-inner {
	padding: 2.1rem 2rem 1.6rem 2.2rem;
}

.discover-about {
	margin: 0;
}

.discover-about span {
    color: #00bfae;
    text-decoration: underline;
}

.client-logo-section {
    margin: 0 auto 0 auto;
    padding: 26px 8px 22px 8px;
    text-align: center;
    background: #fafdff;
    border-radius: 1.4rem;
    box-shadow: 0 1px 8px #00bfae0a;
    position: relative;
}

div.client-gallery-carousel {
  	margin-top: 24px !important;
	margin-left: 80px !important;
  	margin-right: 80px !important;
}

@media screen and (max-width: 549px) {
    div.client-gallery-carousel {
        margin-top: 16px !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
  
    .row-slider .flickity-prev-next-button {
		width: 36px !important;
    }
}

.client-gallery-carousel .box-image {
    flex: 0 0 150px;
    display: flex;
    justify-content: center;
    align-items: center;
    opacity: 0.8;
    background: #fff;
    padding: 10px 16px;
    border-radius: 12px;
    box-shadow: 0 2px 12px 3px #0166ff0a;
    margin: 0;
    transition: filter 0.2s, opacity 0.2s;
}

.client-gallery-carousel img {
    width: auto;
    max-width: 120px;
  	height: 60px;
    object-fit: contain;
    filter: grayscale(100%) brightness(1.1);
    transition: filter 0.2s, opacity 0.2s;
}

.client-gallery-carousel .gallery-box:hover img {
	filter: grayscale(0) brightness(1.1);
}

.client-gallery-carousel .gallery-col {
	padding-bottom: 0 !important;
}

.client-gallery-carousel .gallery-col .col-inner {
	padding-left: 15px;
  	padding-right: 15px;
    margin-top: 7px;
    margin-bottom: 7px;
}

.client-gallery-carousel .overlay.fill {
	background-color: transparent !important;
}

.client-gallery-carousel .flickity-prev-next-button {
	opacity: 1;
  	top: 25%;
  	padding-top: 1px;
}

/* About us */
.about-hero {
    text-align: center;
    margin-top: 5rem;
    margin-bottom: 0;
  	padding-bottom: 0;
}

.about-hero h1 {
    font-size: 2.8rem;
    font-weight: 900;
    line-height: 1.1;
    margin-bottom: 0.5rem;
    letter-spacing: -1.2px;
}

.about-hero .highlight {
    background: linear-gradient(90deg, #0166ff, #00e6b8);
    background-clip: text;
    color: transparent;
}

.about-hero .subtitle {
    font-size: 2.05rem;
    font-weight: 600;
    color: #191b1f;
    display: block;
    margin-top: 0.2rem;
}

.about-divider {
    width: 72px;
    height: 4px;
    margin: 1.2rem auto 1.8rem auto;
    background: linear-gradient(90deg, #0166ff, #00e6b8);
    border-radius: 8px;
}

@media screen and (max-width: 549px) {
    .about-hero {
        margin-top: 3rem;
    }
  
  	.about-hero h1 {
        font-size: 2rem;
    }
  
    .about-hero .subtitle {
        font-size: 1.1rem;
    }
}

.about-intro-card p {
	margin-bottom: 0;
}

.about-intro-quote {
    font-size: 1.35rem;
    font-weight: 700;
    background: linear-gradient(90deg, #0166ff, #00e6b8 70%);
    background-clip: text;
    color: transparent;
    margin-bottom: 1.1rem;
    display: block;
    letter-spacing: -0.01em;
}

.about-image-row {
    display: flex;
    justify-content: center;
    gap: 2.2rem;
    margin: 0 auto 0 auto !important;
}

.about-image-row img {
    border-radius: 1.25rem;
    height: 180px;
    object-fit: cover;
    box-shadow: 0 2px 16px #0001;
}

.about-image-row .overlay.fill {
	display: none;
}

.about-image-row .gallery-col {
  	max-width: 310px;
	flex-basis: 50%;
  	margin: 0;
  	padding-bottom: 0;
}

@media screen and (max-width: 549px) {
    .about-image-row .gallery-col {
        max-width: 100%;
        flex-basis: 100%;
        margin: 0;
        padding-bottom: 0;
    }
}

.about-blocks {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2.8rem;
    margin-top: 1.6rem;
}

@media screen and (max-width: 549px) {
    .about-blocks {
      grid-template-columns: 1fr;
      gap: 1.3rem;
    }
}

.about-block {
  	max-width: 100%;
    background: #fff;
    border-radius: 1.25rem;
    box-shadow: 0 4px 24px #0001;
    min-height: 180px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
  	padding-bottom: 0;
}

.about-block .col-inner {
	padding: 2rem 1.7rem;
}

.about-block h3 {
    font-size: 1.45rem;
    font-weight: 700;
    margin-bottom: 0.7rem;
    color: #0166ff;
}

.company-desc-card {
	margin-top: 3.5rem;
  	margin-bottom: 3.5rem;
}

.company-desc-icon {
    position: absolute;
    left: -35px;
    top: 24px;
    width: 54px;
    height: 54px;
    background: linear-gradient(135deg, #00e6b8 60%, #0166ff 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 12px #00bfae30;
}

.company-desc-icon svg {
	width: 32px;
  	height: 32px;
}

.company-desc-card p span:first-of-type {
    color: #0166ff;
    font-weight: 600;
}

.company-desc-card p span:last-of-type {
    color: #00bfae;
    font-weight: 600;
}

.company-desc-card strong {
	color: #000;
}

.core-values-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 1.5rem;
    margin-top: 2.7rem;
    margin-bottom: 0.5rem;
    justify-items: center;
}

.core-value-card {
    background: #fff;
    border-radius: 1.3rem;
    box-shadow: 0 2px 16px #0166ff14;
    display: flex;   
  	flex-direction: column;
    align-items: center;
    min-width: 150px;
    max-width: 100%;
    transition: box-shadow .18s;
  	padding: 0;
}

.core-value-card .col-inner {
	padding: 1.5rem 1.1rem 1.1rem 1.1rem;
}

@media screen and (max-width: 549px) {
    .core-values-grid {
        grid-template-columns: 1fr;
    }
  
    .core-value-card {
      max-width: 100%;
  	}
}

/* Services */
.hero-intro p {
    font-size: 1.14rem;
    max-width: 580px;
    margin: 0 auto 0.5em auto;
    line-height: 1.7;
}

.service-card {
    background: #ffffff;
    border-radius: 1.2rem;
    box-shadow: 0 2px 16px #00bfae11;
    transition: box-shadow 0.15s, transform 0.13s;
    min-height: 300px;
}

.service-card:hover {
    box-shadow: 0 6px 28px #0166ff17;
    transform: scale(1.018);
}

.service-card:not(:last-of-type) {
	margin-bottom: 2.7rem;
}

.service-card > .col {
	padding: 1.8rem 1rem 1rem !important;
}

.service-content h2 {
    font-size: 1.35rem;
    color: #0166ff;
    margin-bottom: 0.5em;
    font-weight: 800;
}

.service-content p {
    font-size: 1.08rem;
    margin-bottom: 1em;
}

.service-content ul {
    margin-top: 1.5rem;
}

.service-content li {
    margin-bottom: 0.72em;
    font-size: 1.05rem;
}

.service-card img {
    object-fit: cover;
    border-radius: 1.1rem;
    box-shadow: 0 2px 14px #00bfae10;
    background: #fafdff;
}

.why-choose {
    background: linear-gradient(90deg, #f6fcfe 60%, #fafdff 100%);
}

/* Contact */


.contact-form-wrap,
.contact-info-wrap {
  	padding: 1.5rem !important;
}

@media screen and (max-width: 849px) {
	.contact-form-wrap,
    .contact-info-wrap {
        padding-left: 0 !important;
      	padding-right: 0 !important;
    }
  
  	.contact-form-wrap .col-inner,
    .contact-info-wrap .col-inner {
        padding: 1.3rem !important;
    }
  
    .contact-info-wrap {
      	padding-bottom: 0 !important;
    }
}

.contact-form-wrap .col-inner {
    background: #ffffff;
    border-radius: 1.3rem;
    box-shadow: 0 2px 12px #00bfae13;
    padding: 2.2rem;
}

.contact-form-wrap label {
    font-weight: 600;
    color: #0166ff;
    display: block;
    margin-bottom: 0.22em;
    margin-top: 1em;
    font-size: 1rem;
}

.contact-form-wrap input,
.contact-form-wrap textarea {
    width: 100%;
    box-sizing: border-box;
    padding: 0.66em 1em;
    border-radius: 0.8em;
    border: 1.5px solid #dae6f2;
    background: #fafdff;
    color: #222222;
    font-size: 1.03rem;
    font-weight: normal;
  	margin-top: .3em;
    margin-bottom: 0.3em;
    transition: border-color 0.18s;
    outline: none;
    resize: vertical;
  	box-shadow: unset;
}

.contact-form-wrap input:focus,
.contact-form-wrap textarea:focus {
	border-color: #00bfae;
}

.contact-form-wrap input[type=submit] {
    background: linear-gradient(90deg, #0166ff, #00e6b8 80%);
    color: #ffffff;
    font-weight: 700;
    border-radius: 2rem;
    border: none;
    margin-top: 1.2em;
    cursor: pointer;
    box-shadow: 0 2px 9px #00bfae16;
    transition: background .17s;
    display: inline-block;
  	width: fit-content;
  	height: 50px;
  	text-transform: none;
  	padding: 0 1.5rem;
}

.contact-form-wrap .wpcf7-spinner {
	display: none;
}

.contact-form-wrap .recaptcha {
  	margin-top: 1.2em;
}

.contact-info-wrap .col-inner {
    background: linear-gradient(90deg, #f6fcfe 60%, #fafdff 100%);
    border-radius: 1.3rem;
    box-shadow: 0 1px 7px #00bfae11;
    color: #26394f;
    font-size: 1.09rem;
    display: flex;
    flex-direction: column;
    gap: 1.1em;
    justify-content: flex-start;
	padding: 2.2rem;
  	height: 100%
}

.contact-info-socials {
    display: flex;
    gap: 20px;
    margin-top: 10px;
}

.contact-info-socials a {
    display: flex;
    justify-content: center;
    align-items: center;
    color: #00bfae;
    background: #ffffff;
    border-radius: 50%;
    padding: 8px 9px;
    box-shadow: 0 2px 6px #00e6b815;
    font-size: 1.2rem;
    transition: background 0.14s, color 0.14s;
}

.contact-info-socials a:hover {
    background: #00bfae;
    color: #ffffff;
}

.contact-map {
    width: 100%;
    height: 170px;
    border: none;
    border-radius: 1rem;
    margin-top: 1.2em;
    box-shadow: 0 1px 7px #00bfae11;
}

.contact-info-item p {
	margin-bottom: .5rem;
}

.contact-info-item svg {
	float: left;
  	margin-top: .3rem;
  	margin-right: 1rem;
  	width: 19px;
}

.contact-info-wrap .blue,
.contact-info-wrap .green {
	font-weight: normal;
}

/* Case Studies */
.casestudies-slider .flickity-viewport {
	height: 500px !important;
}

.casestudies-slider-row,
.casestudies-slider-row > .col,
.casestudies-slider-row > .col > .col-inner {
	height: 100%;
  	padding-bottom: 0;
}

.casestudies-slide-content {
	background: linear-gradient(135deg, #f6fcfe 0%, #e6f4f9 100%);
}

.casestudies-slide-content.col .col-inner {
	padding: 60px 80px;
    display: flex;
    flex-direction: column;
    justify-content: center;
  	height: 100%;
    max-width: 760px;
    margin: 0 auto;
}

.casestudies-slide-content p {
	margin-bottom: 0;
}

.casestudies-slide-title {
    font-size: 1.8rem;
    font-weight: 800;
    color: #0166ff;
    margin-bottom: 15px;
    letter-spacing: -0.5px;
}

.casestudies-slide-result {
	font-size: 1.2rem;
    font-weight: 700;
    color: #00bfae;
    margin-top: auto;
}

@media screen and (max-width: 549px) {
    .casestudies-slider-row > .col {
        height: 50% !important;
    }

    .casestudies-slide-content.col .col-inner {
		padding: 2.5rem 1.125rem;
    	text-align: center;
    }
  
    .casestudies-slide-result {
        margin-top: 1.25rem;
    }
}

.core-features {
    background: linear-gradient(135deg, #f6fcfe 0%, #e6f4f9 100%);
    margin: 30px 0;
    border-radius: 16px;
    box-shadow: 0 4px 20px rgba(0, 102, 255, 0.08);
  	padding-bottom: 0;
}

.core-features .col-inner {
    padding: 5rem 7rem;
}

@media screen and (max-width: 849px) {
    .core-features .col-inner {
        padding: 3rem 1.5rem;
    }
}

@media screen and (max-width: 549px) {
    .core-features .col-inner {
        padding: 2rem 1.125rem;
    }
}

.core-features-title h2 {
    font-size: 2rem;
    font-weight: 800;
    color: #0166ff;
    margin-bottom: 2rem;
    letter-spacing: -0.5px;
}

.feature-item {
    margin-bottom: 2rem;
    display: flex;
    align-items: flex-start;
    padding: 0.5rem 1rem;
    border-radius: 12px;
    transition: all 0.2s ease;
}

.feature-item:last-of-type {
	margin-bottom: 0;
}

.feature-item:hover {
    background-color: rgba(255, 255, 255, 0.6);
    transform: translateY(-2px);
}

.feature-number {
    flex: 0 0 36px;
    height: 36px;
    background: linear-gradient(90deg, #0166ff, #00e6b8);
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    margin-right: 18px;
    font-size: 1rem;
    box-shadow: 0 2px 8px rgba(0, 102, 255, 0.2);
}

.feature-heading {
    font-size: 1.2rem;
    font-weight: 700;
    color: #0166ff;
    margin-bottom: 0.5rem;
}

.feature-description {
    font-size: 1.05rem;
    color: #465260;
    line-height: 1.5;
}

.sub-feature {
    margin-left: 16px;
    margin-bottom: .3rem;
    position: relative;
}

.sub-feature:before {
    content: '';
    position: absolute;
    left: -15px;
    top: 9px;
    width: 8px;
    height: 8px;
    background: linear-gradient(90deg, #0166ff, #00e6b8);
    border-radius: 50%;
}

.sub-feature-heading {
    font-size: 1.05rem;
    color: #465260;
    line-height: 1.5;
}

.cta-section {
    margin: 44px auto 0 auto;
    text-align: center;
    padding: 2.2rem 1.5rem 1.8rem 1.5rem;
    background: linear-gradient(90deg, #f6fcfe 60%, #fafdff 100%);
    border-radius: 1.2rem;
    max-width: 660px;
    box-shadow: 0 2px 18px #0166ff0c;
}

.cta-section p {
 	margin-bottom: .5rem;
  	padding: 0 1rem;
}

.cta-section strong {
    color: #00bfae;
    font-size: 1.17rem;
}

.cta-section .btn-primary {
	margin-top: 1.5em;
  	margin-bottom: 0;
}

/* Header */
.header-full-width .header-main .container {
  	padding-left: 32px !important;
  	padding-right: 32px !important;
}

.header-main .logo-left .logo {
	margin-right: 0.55rem;
}

.header-main .html_topbar_left .highlight {
	color: #00bfae;
    font-size: 1.38rem;
    font-weight: 900;
    letter-spacing: -1px;

}

.header-nav-main.nav > li a {
	text-decoration: none;
    color: #23272f;
    font-weight: 600;
    font-size: 1.04rem;
    padding: 5px 0;
    transition: color .15s;
    border-bottom: 2.5px solid transparent;
    word-break: break-word;
    white-space: nowrap;
    display: block;
    text-overflow: ellipsis;
    overflow: hidden;
    max-width: 110px;
  	line-height: 1.1;
}

.header-nav-main.nav > li.active a,
.header-nav-main.nav > li:not(.lang-item):hover a {
  	color: #00bfae;
    border-bottom: 2.5px solid #00bfae;
}


.mobile-nav > li > a > i.icon-menu {
    font-size: 2.6em !important;
    color: #0166ff !important;
}

.sidebar-menu ul li a {
	font-size: 0.9em;
    color: #23272f;
}

.sidebar-menu ul li:hover a {
  	background-color: rgb(0, 191, 174);
  	color: #fff;
}

/* END - Header */


/* Footer */
#footer {
    background: linear-gradient(90deg, #0166ff12 0%, #00e6b814 100%);
    padding: 36px 0 22px 0;
    color: #253046;
    font-size: 1rem;
    border-top: 1px solid #00bfae17;
    margin-top: 60px;
}

#footer .footer-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 18px;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 30px;
}

#footer .footer-brand {
    font-weight: 900;
    color: #0166ff;
    font-size: 1.23rem;
    letter-spacing: -0.6px;
    margin-bottom: 0.6em;
}

#footer .footer-contact {
    margin-bottom: 0.6em;
    color: #23272f;
    font-size: 1.03rem;
    line-height: 1.6;
}

#footer .footer-phone {
    color: #0166ff;
    text-decoration: none;
}

#footer .footer-email {
    color: #00bfae;
    text-decoration: none;
}

#footer .footer-socials {
    display: flex;
    gap: 18px;
    align-items: center;
    margin-top: 10px;
  	display: none !important; // Temporary Disabled
}

#footer .footer-socials a {
    display: inline-block;
    color: #00bfae;
    background: #ffffff;
    border-radius: 50%;
    padding: 8px;
    box-shadow: 0 2px 6px #00e6b815;
    font-size: 1.1rem;
    transition: background 0.14s, color 0.14s;
}

#footer .footer-socials a:hover {
    background: #00bfae;
    color: #ffffff;
}

#footer .footer-socials a svg {
    float: left;
}

#footer .footer-legal {
    width: 100%;
    text-align: center;
    margin-top: 28px;
    font-size: 0.98rem;
    color: #7e899a;
}

#footer .absolute-footer {
	display: none !important;
}

@media (max-width: 900px) {
    #footer .footer-container {
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
    }

    #footer .footer-legal {
        margin-top: 18px;
    }
}

@media screen and (max-width: 549px) {
    #footer .footer-legal {
        margin-top: 25px;
        padding: 0 18px;
        box-sizing: border-box;
    }
}
/* END - Footer */

/* Case Studies Tabs */
.case-studies-tabs {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px;
    margin: 40px 0 30px;
    padding: 0 20px;
}

.case-studies-tabs button {
    padding: 10px 20px;
    background: transparent;
    border: 1px solid transparent;
    border-radius: 30px;
    cursor: pointer;
    font-size: 16px;
    transition: all 0.3s ease;
    opacity: .5;
  	text-transform: none;
  	height: 46px;
  	display: flex;
  	justify-content: center;
  	align-items: center;
  	font-weight: normal;
}

.case-studies-tabs button:hover {
    color: #0166ff;
    opacity: 1;
}

.case-studies-tabs button.active {
    background: #00bfae;
    color: white;
    border-color: #00bfae;
    opacity: 1;
}

/* Case Studies Carousel Container */
.case-studies-container {
    position: relative;
    max-width: 100%;
    overflow: hidden;
    padding: 0 20px 90px;
}

/* Case Studies Carousel */
.case-studies-carousel {
    display: flex;
    gap: 25px;
    overflow-x: auto;
    scroll-behavior: smooth;
    scrollbar-width: none;
    /* Firefox */
    -ms-overflow-style: none;
    /* IE and Edge */
    padding: 10px 30px;
}

.case-studies-carousel::-webkit-scrollbar {
    display: none;
    /* Chrome, Safari, Opera */
}

.case-studies-carousel-item {
    flex: 0 0 300px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}

.case-studies-carousel-item video {
    width: 100%;
    border-radius: 16px;
    cursor: pointer;
}

/* Transition for opacity change */
.case-studies-carousel-item {
    transition: opacity 0.3s ease;
}

/* Carousel Navigation Arrows */
.carousel-arrow {
    position: absolute;
    bottom: 30px;
    /* Push to bottom */
    top: auto;
    transform: translateY(0);
    /* Remove vertical centering */
    width: 40px;
    height: 40px;
    background: rgba(255, 255, 255, 0.8);
    border: none;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
    z-index: 10;
    font-size: 18px;
  	color: #00bfae;
}

/* Container for both arrows */
.case-studies-container {
    position: relative;
}

/* Position them side-by-side in bottom center with 20px gap */
.carousel-arrow.prev {
    left: 50%;
    transform: translateX(-50%) translateX(-30px);
    /* center minus half gap */
}

.carousel-arrow.next {
    left: 50%;
    transform: translateX(-50%) translateX(30px);
    /* center plus half gap */
}

.carousel-arrow:hover {
    background: white;
}

.video-modal {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.8);
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
}

.video-modal-content {
    height: 90vh;
    /* set fixed height reference */
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
}

.video-modal video {
    height: 100%;
    /* force video to follow parent height */
    width: auto;
    /* width auto to preserve aspect ratio */
    display: block;
    max-width: none;
    /* important to prevent width limit */
    max-height: 100%;
    /* prevent vertical overflow */
    border-radius: 8px;
}

.video-modal-close {
    position: absolute;
    top: 8px;
    right: 8px;
    background: white;
    color: black;
    font-size: 20px;
    font-weight: bold;
    border-radius: 50%;
    width: 30px;
    height: 30px;
    text-align: center;
    line-height: 30px;
    cursor: pointer;
    z-index: 10000;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
}

.case-studies-section,
.case-studies-section .section-content > .row > .col {
	padding-bottom: 0 !important;
}
