/*
Theme Name: C Media Solutions
Author: 
Description: Your description goes here
Version: 1.0
Template: hello-elementor

This is the child theme for Hello Elementor theme, generated with Generate Child Theme plugin by catchthemes.

(optional values you can add: Theme URI, Author URI, License, License URI, Tags, Text Domain)
*/

*:focus,
*:focus-visible,
*:focus-within {
    outline: none;
}

body {
    border-radius: 50px !important;
    -webkit-border-radius: 50px !important;
    -moz-border-radius: 50px !important;
    -ms-border-radius: 50px !important;
    -o-border-radius: 50px !important;
}


/* Header */

.header-btn .elementor-button,
.black-btn-hover .elementor-button,
.contact-form .elementor-field-type-submit .elementor-button,
.h-navigation-menu .elementor-nav-menu>li>a {
    z-index: 1 !important;
    position: relative;
    overflow: hidden;
}

.black-btn-hover {
    display: flex;
}

.header-btn *,
.h-navigation-menu .elementor-nav-menu *,
.contact-form .elementor-field-type-submit .elementor-button *,
body .h-logo .elementor-heading-title,
.black-btn-hover * {
    transition: 0.5s all ease;
    -webkit-transition: 0.5s all ease;
    -moz-transition: 0.5s all ease;
    -ms-transition: 0.5s all ease;
    -o-transition: 0.5s all ease;
}

.header-btn .elementor-button::before,
.contact-form .elementor-field-type-submit .elementor-button::before,
.h-navigation-menu .elementor-nav-menu>.current-menu-item>a::before,
.h-navigation-menu .elementor-nav-menu>li>a::before,
.black-btn-hover .elementor-button::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    opacity: 1 !important;
    z-index: -1;
    transform-origin: left;
    transform: scaleX(0);
    -webkit-transform: scaleX(0);
    -moz-transform: scaleX(0);
    -ms-transform: scaleX(0);
    -o-transform: scaleX(0);
    transition: transform 0.5s ease;
    -webkit-transition: transform 0.5s ease;
    -moz-transition: transform 0.5s ease;
    -ms-transition: transform 0.5s ease;
    -o-transition: transform 0.5s ease;
    border-radius: inherit;
    -webkit-border-radius: inherit;
    -moz-border-radius: inherit;
    -ms-border-radius: inherit;
    -o-border-radius: inherit;
}

.header-btn .elementor-button::before {
    background: #ffffff !important;
}

.contact-header .header-btn .elementor-button::before {
    background: #171A1F !important;
}

.contact-form .elementor-field-type-submit .elementor-button::before {
    background: #171A1F !important;
}

.black-btn-hover .elementor-button::before {
    background: #000000 !important;
}

.header-btn .elementor-button:hover::before,
.contact-form .elementor-field-type-submit .elementor-button:hover::before,
.black-btn-hover .elementor-button:hover::before,
.h-navigation-menu .elementor-nav-menu>.current-menu-item>a::before,
.h-navigation-menu .elementor-nav-menu>li>a:hover::before {
    transform: scaleX(1);
    -webkit-transform: scaleX(1);
    -moz-transform: scaleX(1);
    -ms-transform: scaleX(1);
    -o-transform: scaleX(1);
}

.header-btn .elementor-button-content-wrapper {
    position: relative;
    z-index: 2;
}

.header-btn .elementor-button .elementor-button-icon svg {
    width: 12px;
    height: 12px;
}

.header-btn .elementor-button:hover .elementor-button-icon path {
    fill: #6C8B16 !important;
    stroke: #6C8B16 !important;
}

.contact-header .header-btn .elementor-button:hover .elementor-button-icon path {
    fill: #ffffff !important;
    stroke: #ffffff !important;
}

.h-navigation-menu .elementor-nav-menu>li:not(.header-mobile-btn)>a {
    border-radius: 90px !important;
}

.h-navigation-menu .elementor-nav-menu>.current-menu-item>a::before,
.h-navigation-menu .elementor-nav-menu>li>a::before {
    background: #6C8B16 !important;
}

.header-mobile-btn {
    display: none !important;
}

body:has(.elementor-menu-toggle.elementor-active) .h-main:not(.contact-header) .h-logo .elementor-heading-title {
    color: #6C8B16 !important;
}


/* Header */


/* Common */

.common-details .elementor-widget-container>*:last-child {
    margin-bottom: 0 !important;
}

.common-details>*:last-child {
    margin-bottom: 0 !important;
}

.common-details h1,
.common-details h2,
.common-details h3,
.common-details h4,
.common-details h5,
.common-details h6 {
    /* margin-bottom: 20px; */
    margin-top: 0;
}

.common-details>* {
    margin-bottom: 20px;
}

.common-details ul ul,
.common-details ul ol,
.common-details ol ol,
.common-details ol li {
    margin-top: 10px;
    margin-bottom: 10px;
}

.common-details ul li,
.common-details ol li {
    margin-bottom: 8px;
}

.common-details p img {
    margin-bottom: 10px;
}

.common-details blockquote {
    border-left: 5px solid #6C8B16;
    margin: 0;
    padding-left: 20px;
}

.border-none-btn .elementor-button {
    border: none;
}

.text-decoration-green .elementor-heading-title {
    text-decoration-color: #6C8B16 !important;
    -moz-text-decoration-color: #6C8B16 !important;
    text-underline-offset: 3px;
}

.title-green-shape span {
    display: inline-block;
    position: relative;
}

.title-green-shape span::after {
    content: "";
    position: absolute;
    width: 311px;
    height: 100%;
    z-index: -1;
    left: -15px;
    top: 0;
    background: url('./assets/images/Title Shape.png') no-repeat;
    background-size: 100% 100%;
    background-position: center center;
}


/* Common */


/* Footer */


/* =========================
   MAIN CONTAINER (FAKE HEIGHT)
   ========================= */

.glass-strip {
    position: relative;
    width: 100%;
    height: 1px;
    /* fake height */
    overflow: hidden;
}


/* =========================
   CENTER 1PX GLOW LINE
   ========================= */

.glass-strip::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 100%;
    height: 1px;
    background: linear-gradient(to right, transparent, rgba(255, 255, 255, 0.9), transparent);
    box-shadow: 0 0 6px rgba(255, 255, 255, 0.6), 0 0 18px rgba(255, 255, 255, 0.3);
}


/* =========================
   GLASS FADE (TOP/BOTTOM FADE OUT)
   ========================= */

.glass-strip::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, transparent 0%, rgba(255, 255, 255, 0.08) 30%, rgba(0, 0, 0, 0.25) 50%, rgba(255, 255, 255, 0.08) 70%, transparent 100%);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
}


/* =========================
   COMMON TRIANGLE BASE
   ========================= */

.triangle {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 5px;
    height: 1px;
    pointer-events: none;
    z-index: 1;
}


/* =========================
   LEFT TRIANGLE (→ RIGHT)
   ========================= */

.left-triangle {
    left: 0;
    clip-path: polygon(0 0, 100% 50%, 0 100%);
    background: linear-gradient(to right, rgba(255, 255, 255, 0.7), rgba(255, 255, 255, 0.25), transparent);
    filter: blur(0.3px);
}


/* =========================
   RIGHT TRIANGLE (← LEFT)
   ========================= */

.right-triangle {
    right: 0;
    clip-path: polygon(100% 0, 0 50%, 100% 100%);
    background: linear-gradient(to left, rgba(255, 255, 255, 0.7), rgba(255, 255, 255, 0.25), transparent);
    filter: blur(0.3px);
}

.f-icon-lists ul {
    row-gap: 10px !important;
}


/* Footer */


/* Banner Section */

.about-img {
    height: 100% !important;
    width: 100% !important;
}


/* Banner Section */


/* Contact Form Section */

.contact-form .elementor-field-type-submit {
    margin-top: 15px;
    margin-bottom: 0 !important;
    width: auto !important;
}

.contact-form .elementor-field-group:not(.elementor-field-type-submit) .elementor-field {
    padding: 17px 30px !important;
}

.contact-form textarea {
    max-height: 190px;
}

.contact-form .elementor-field-type-submit .elementor-button {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    padding: 22px 26px !important;
}

.contact-form .elementor-field-type-submit .elementor-button::after {
    content: "";
    position: relative;
    flex: 0 0 auto;
    width: 12px;
    height: 12px;
    background: url("data:image/svg+xml,%3Csvg  viewBox='0 0 13 13' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1.36621 11.1338C0.878045 10.6456 0.878059 9.85437 1.36621 9.36621L9.86621 0.866211C10.3544 0.378049 11.1456 0.378049 11.6338 0.866211C12.1219 1.35437 12.1219 2.14563 11.6338 2.63379L3.13379 11.1338C2.64563 11.6219 1.85437 11.622 1.36621 11.1338Z' fill='white' stroke='white'/%3E%3Cpath d='M0.5 1.75C0.5 1.05967 1.05963 0.5 1.75 0.5H10.75C11.4403 0.5 12 1.05966 12 1.75V10.75C12 11.4404 11.4403 12 10.75 12C10.0595 12 9.5 11.4403 9.5 10.75V3H1.75C1.05969 3 0.500022 2.44046 0.5 1.75Z' fill='white' stroke='white'/%3E%3C/svg%3E%0A") no-repeat;
    opacity: 1 !important;
}

.contact-form input,
.contact-form textarea {
    color: #000000 !important;
}

.contact-form .elementor-form-fields-wrapper + .elementor-message{
	margin-top:35px; !important
}

/* Contact Form Section */


/* Animations */


/* COMMON */

.icon-wrap {
    display: inline-block;
    will-change: transform;
}


/* FLOAT (applies to both) */

.icon-wrap {
    animation: float 5s ease-in-out infinite;
}

@keyframes float {
    0% {
        transform: translateY(0px);
    }
    50% {
        transform: translateY(-6px);
    }
    100% {
        transform: translateY(0px);
    }
}


/* HAND (pulse) */

.hand img {
    animation: pulse 2.5s ease-in-out infinite;
}

@keyframes pulse {
    0% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.08);
    }
    100% {
        transform: scale(1);
    }
}


/* STAR (rotate wiggle) */

.star img {
    animation: rotate 6s ease-in-out infinite;
}

@keyframes rotate {
    0% {
        transform: rotate(0deg);
    }
    25% {
        transform: rotate(6deg);
    }
    50% {
        transform: rotate(0deg);
    }
    75% {
        transform: rotate(-6deg);
    }
    100% {
        transform: rotate(0deg);
    }
}

.glass-effect-image {
    position: relative;
    overflow: hidden;
}

.glass-effect-image::after {
    content: "";
    position: absolute;
    width: 200%;
    height: 0%;
    left: 50%;
    top: 50%;
    background-color: rgba(255, 255, 255, .3);
    transform: translate(-50%, -50%) rotate(-45deg);
    z-index: 1;
}

.glass-effect-image:hover::after {
    height: 250%;
    transition: all 600ms linear;
    background-color: transparent;
    z-index: 999;
}

.advanced-title {
    overflow: hidden;
}

.advanced-title .elementor-heading-title {
    opacity: 0;
}

body.elementor-editor-active .advanced-title .elementor-heading-title {
    opacity: 1;
}


/* MAIN SHAPE */

.blob-shape {
    animation: blobMove 12s ease-in-out infinite;
    will-change: transform;
}


/* ORGANIC MOTION */

@keyframes blobMove {
    0% {
        transform: translate(0px, 0px) scale(1) rotate(0deg);
    }
    25% {
        transform: translate(-10px, 8px) scale(1.03) rotate(2deg);
    }
    50% {
        transform: translate(8px, -10px) scale(0.98) rotate(-2deg);
    }
    75% {
        transform: translate(-6px, 6px) scale(1.02) rotate(1deg);
    }
    100% {
        transform: translate(0px, 0px) scale(1) rotate(0deg);
    }
}


/* MAIN ANIMATION */

.line-shape {
    display: inline-block;
    will-change: transform;
    animation: lineFlow 8s ease-in-out infinite;
}


/* DIRECTIONAL FLOW */

@keyframes lineFlow {
    0% {
        transform: translateX(0px) translateY(0px) rotate(32deg);
        -webkit-transform: translateX(0px) translateY(0px) rotate(32deg);
        -moz-transform: translateX(0px) translateY(0px) rotate(32deg);
        -ms-transform: translateX(0px) translateY(0px) rotate(32deg);
        -o-transform: translateX(0px) translateY(0px) rotate(32deg);
    }
    25% {
        transform: translateX(6px) translateY(-3px) rotate(32deg);
        -webkit-transform: translateX(6px) translateY(-3px) rotate(32deg);
        -moz-transform: translateX(6px) translateY(-3px) rotate(32deg);
        -ms-transform: translateX(6px) translateY(-3px) rotate(32deg);
        -o-transform: translateX(6px) translateY(-3px) rotate(32deg);
    }
    50% {
        transform: translateX(12px) translateY(0px) rotate(32deg);
        -webkit-transform: translateX(12px) translateY(0px) rotate(32deg);
        -moz-transform: translateX(12px) translateY(0px) rotate(32deg);
        -ms-transform: translateX(12px) translateY(0px) rotate(32deg);
        -o-transform: translateX(12px) translateY(0px) rotate(32deg);
    }
    75% {
        transform: translateX(6px) translateY(3px) rotate(32deg);
        -webkit-transform: translateX(6px) translateY(3px) rotate(32deg);
        -moz-transform: translateX(6px) translateY(3px) rotate(32deg);
        -ms-transform: translateX(6px) translateY(3px) rotate(32deg);
        -o-transform: translateX(6px) translateY(3px) rotate(32deg);
    }
    100% {
        transform: translateX(0px) translateY(0px) rotate(32deg);
        -webkit-transform: translateX(0px) translateY(0px) rotate(32deg);
        -moz-transform: translateX(0px) translateY(0px) rotate(32deg);
        -ms-transform: translateX(0px) translateY(0px) rotate(32deg);
        -o-transform: translateX(0px) translateY(0px) rotate(32deg);
    }
}


/* Animations */

@media(max-width:1366px) {
    .title-green-shape span::after {
        width: 250px;
    }
    .contact-form .elementor-field-group:not(.elementor-field-type-submit) {
        padding-right: calc(20px / 2) !important;
        padding-left: calc(20px / 2) !important;
        margin-bottom: 20px !important;
    }
    .contact-form .elementor-field-type-submit {
        margin-top: 10px;
    }
    .contact-form textarea {
        max-height: 175px;
    }
    .contact-form .elementor-field-type-submit .elementor-button {
        padding: 15px 20px !important;
    }
    .contact-form .elementor-field-group:not(.elementor-field-type-submit) .elementor-field {
        padding: 15px 15px !important;
    }
}

@media(max-width:1200px) {
    .title-green-shape span::after {
        width: 220px;
        left: -8px;
    }
}

@media(max-width:1024px) {
    .title-green-shape span::after {
        width: 190px;
    }
    .contact-form .elementor-field-group:not(.elementor-field-type-submit) {
        padding-right: calc(15px / 2) !important;
        padding-left: calc(15px / 2) !important;
        margin-bottom: 15px !important;
    }
    .contact-form textarea {
        max-height: 140px;
    }
    .contact-form .elementor-field-type-submit .elementor-button {
        padding: 15px 20px !important;
    }
    .contact-form .elementor-field-group:not(.elementor-field-type-submit) .elementor-field {
        padding: 12px 15px !important;
    }
    .common-details>* {
        margin-bottom: 15px;
    }
}

@media (max-width:880px) {
    .h-main .elementor-nav-menu--dropdown.elementor-nav-menu__container {
        position: fixed !important;
        top: -20px !important;
        bottom: 0 !important;
        left: auto !important;
        right: -100% !important;
        max-width: 100% !important;
        width: 100% !important;
        height: 100% !important;
        overflow: auto;
        background: #fff !important;
        padding: 150px 0px 30px;
        transition: 0.5s;
        -webkit-transition: 0.5s;
        -moz-transition: 0.5s;
        -ms-transition: 0.5s;
        -o-transition: 0.5s;
        transform: unset !important;
        -webkit-transform: unset !important;
        -moz-transform: unset !important;
        -ms-transform: unset !important;
        -o-transform: unset !important;
    }
    .h-main .elementor-nav-menu--dropdown.elementor-nav-menu__container[aria-hidden="false"] {
        right: 0 !important;
        height: auto !important;
        margin-top: 0 !important;
    }
    .h-main .elementor-nav-menu--dropdown.elementor-nav-menu__container .elementor-nav-menu {
        display: block;
    }
    .h-main .elementor-nav-menu--dropdown.elementor-nav-menu__container .elementor-nav-menu .menu-item .hfe-menu-item {
        padding: 15px 10px !important;
    }
    .h-main .elementor-menu-toggle {
        z-index: 99999;
        padding: 0;
        background: transparent;
    }
    html.overflow-hidden {
        overflow: hidden;
    }
    .h-main .elementor-nav-menu--dropdown.elementor-nav-menu__container .elementor-nav-menu>.menu-item {
        display: flex;
        justify-content: center;
        align-items: center;
    }
    .h-main .elementor-nav-menu--dropdown.elementor-nav-menu__container .elementor-nav-menu>.menu-item:not(:last-child) {
        margin-bottom: 15px !important;
    }
    .h-navigation-menu .elementor-nav-menu>.current-menu-item>a::before,
    .h-navigation-menu .elementor-nav-menu>li>a::before {
        background: #171A1F !important;
    }
    .contact-header .h-navigation-menu .elementor-nav-menu>.current-menu-item>a::before,
    .contact-header .h-navigation-menu .elementor-nav-menu>li:not(.header-mobile-btn)>a::before {
        background: #6C8B16 !important;
    }
    .h-navigation-menu .elementor-nav-menu>li.current-menu-item:not(.header-mobile-btn)>a,
    .h-navigation-menu .elementor-nav-menu>li:not(.header-mobile-btn)>a:hover,
    .h-navigation-menu .elementor-nav-menu>li.current-menu-parent:not(.header-mobile-btn)>a {
        color: #ffffff !important;
    }
    .header-mobile-btn {
        display: flex !important;
    }
    .header-mobile-btn>a {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 10px;
        padding: 10px 20px !important;
        background: #6C8B16 !important;
        color: #ffffff !important;
        border-radius: 90px !important;
        -webkit-border-radius: 90px !important;
        -moz-border-radius: 90px !important;
        -ms-border-radius: 90px !important;
        -o-border-radius: 90px !important;
    }
    .header-mobile-btn>a::after {
        content: "";
        position: relative;
        width: 12px;
        height: 12px;
        background: url("data:image/svg+xml,%3Csvg  viewBox='0 0 13 13' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1.36621 11.1338C0.878045 10.6456 0.878059 9.85437 1.36621 9.36621L9.86621 0.866211C10.3544 0.378049 11.1456 0.378049 11.6338 0.866211C12.1219 1.35437 12.1219 2.14563 11.6338 2.63379L3.13379 11.1338C2.64563 11.6219 1.85437 11.622 1.36621 11.1338Z' fill='white' stroke='white'/%3E%3Cpath d='M0.5 1.75C0.5 1.05967 1.05963 0.5 1.75 0.5H10.75C11.4403 0.5 12 1.05966 12 1.75V10.75C12 11.4404 11.4403 12 10.75 12C10.0595 12 9.5 11.4403 9.5 10.75V3H1.75C1.05969 3 0.500022 2.44046 0.5 1.75Z' fill='white' stroke='white'/%3E%3C/svg%3E%0A") no-repeat;
        opacity: 1 !important;
    }
    .title-green-shape span::after {
        width: 160px;
    }
}

@media(max-width:767px) {
    .service-banner-inner {
        max-width: 385px !important;
    }
    .contact-form .elementor-field-group:not(.elementor-field-type-submit) {
        padding-right: 15px !important;
        padding-left: 15px !important;
    }
}

@media(max-width:575px) {
    .contact-section-inner {
        width: 100% !important;
    }
    .cmn-line-shape {
        opacity: 0.7 !important;
    }
}

@media(max-width:525px) {
    .who-we-images img {
        width: 100% !important;
    }
    .team-small-img-main,
    .team-big-img-main {
        width: 100% !important;
    }
    .team-small-img-main img,
    .team-big-img-main img {
        width: 100% !important;
        height: 300px !important;
    }
    .services-grid {
        --e-con-grid-template-columns: repeat(1, 1fr) !important;
    }
    .contact-form-right {
        width: 100% !important;
    }
}