/* 1.1 Theme Reset Style */
html {
    font-size: $base-font-size + px;
}

:root {
    scroll-behavior: unset;
}

body {
    font-family: $base-font;
    color: $body-color;
    background-color: $body-bg-color;
    font-size: 15px;
    font-size: calc-rem-value(15);
    overflow-x: hidden;

    @include media-query(767px) {
        font-size: 14px;
    }
}

p {
    font-size: 18px;
    color: $body-color;
    line-height: 1.8em;

    @include media-query(767px) {
        font-size: 16px;
    }
}

h1,
h2,
h3,
h4,
h5,
h6 {
    color: $heading-color;
    font-family: $heading-font;
    font-weight: 700;
}

ul {
    padding-left: 0;
    margin: 0;
    list-style: none;
}

a {
    text-decoration: none;
    @include transition-time(0.2s);
}

a:hover {
    text-decoration: none;
}

img {
    max-width: 100%;
}


.sr-only {
    display: none;
    opacity: 0;
    visibility: hidden;
}

.container {
    @media(min-width:1430px) {
        max-width: 1430px;
    }
}

/* 1.2 Global Elements */
.page-wrapper {
    position: relative;
    overflow: hidden;
}

.wow {
    visibility: hidden;
}

.fi:before {
    margin: 0;
}

.section-padding {
    padding: 120px 0;

    @include media-query(991px) {
        padding: 90px 0;
    }

    @include media-query(767px) {
        padding: 60px 0;
    }
}

/*** contact form error handling ***/
.contact-validation-active {
    .error-handling-messages {
        width: 100%;
        margin-top: 15px;
    }

    label.error,
    label.error2 {
        color: red;
        font-size: calc-rem-value(14);
        font-weight: normal;
        margin: 5px 0 0 0;
        text-align: left;
        display: block;
    }

    #c-loader,
    #loader,
    #loader2 {
        display: none;
        margin-top: 10px;

        i {
            font-size: 30px;
            font-size: calc-rem-value(30);
            color: $theme-primary-color;
            display: inline-block;
            -webkit-animation: rotating linear 2s infinite;
            animation: rotating linear 2s infinite;
        }
    }

    #success,
    #success2,
    #c-success,
    #c-error,
    #error,
    #error2 {
        width: 100%;
        color: $white;
        padding: 5px 10px;
        font-size: 16px;
        text-align: center;
        display: none;

        @include media-query(767px) {
            font-size: 15px;
        }
    }

    #c-success,
    #success,
    #success2 {
        background-color: lighten(green, 5%);
        border-left: 5px solid green;
        margin-bottom: 5px;
    }

    #c-error,
    #error,
    #error2 {
        background-color: lighten(red, 5%);
        border-left: 5px solid red;
    }
}

@-webkit-keyframes rotating {
    from {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }

    to {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

@keyframes rotating {
    from {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }

    to {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

.rotating {
    -webkit-animation: rotating 5s alternate infinite;
    animation: rotating 5s alternate infinite;
}

@keyframes wave {

    0%,
    100% {
        transform: translate(0);
    }

    25% {
        transform: translateY(-20px);
    }

    50% {
        transform: translateY(10px);
    }

    75% {
        transform: translateY(-20px);
    }
}

@keyframes marquee {
    from {
        transform: translate3d(0, 0, 0);
    }

    to {
        transform: translate3d(-100%, 0, 0);
    }
}

@keyframes marquee-s2 {
    from {
        transform: translate3d(-100%, 0, 0);
    }

    to {
        transform: translate3d(0, 0, 0);
    }
}

@-webkit-keyframes margin {
    0% {
        -webkit-transform: translateY(-60px);
        transform: translateY(-60px);
    }

    50% {
        -webkit-transform: translateY(-50px);
        transform: translateY(-50px);
    }

    100% {
        -webkit-transform: translateY(-60px);
        transform: translateY(-60px);
    }
}

@keyframes margin {
    0% {
        -webkit-transform: translateY(-60px);
        transform: translateY(-60px);
    }

    50% {
        -webkit-transform: translateY(-50px);
        transform: translateY(-50px);
    }

    100% {
        -webkit-transform: translateY(-60px);
        transform: translateY(-60px);
    }
}

@-webkit-keyframes marginOdd {
    0% {
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }

    50% {
        -webkit-transform: translateY(-60px);
        transform: translateY(-60px);
    }

    100% {
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }
}

@keyframes marginOdd {
    0% {
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }

    50% {
        -webkit-transform: translateY(-60px);
        transform: translateY(-60px);
    }

    100% {
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }
}

@keyframes marquee {
    from {
        transform: translate3d(0, 0, 0);
    }

    to {
        transform: translate3d(-100%, 0, 0);
    }
}

@keyframes marquee-s2 {
    from {
        transform: translate3d(-100%, 0, 0);
    }

    to {
        transform: translate3d(0, 0, 0);
    }
}

/*** back to top **/
.back-to-top {
    background-color: transparentize($theme-primary-color, 0.3);
    width: 45px;
    height: 45px;
    line-height: 45px;
    border: 2px solid $theme-primary-color;
    border-radius: 45px;
    text-align: center;
    display: none;
    position: fixed;
    z-index: 999;
    right: 15px;
    bottom: 15px;
    @include transition-time(0.2s);

    @include media-query(991px) {
        width: 35px;
        height: 35px;
        line-height: 35px;
    }

    &:hover {
        background-color: $theme-primary-color;
    }
}

.back-to-top i {
    font-size: 18px;
    font-size: calc-rem-value(18);
    color: #fff;
    position: absolute;
    left: 50%;
    top: 50%;
    @include center-by-translating();
}


/** for popup image ***/
.mfp-wrap {
    background-color: transparentize($black, 0.1);
    z-index: 99999;
}

.mfp-with-zoom .mfp-container,
.mfp-with-zoom.mfp-bg {
    opacity: 0;
    -webkit-backface-visibility: hidden;
    -webkit-transition: all 0.3s ease-out;
    -moz-transition: all 0.3s ease-out;
    -o-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
}

.mfp-with-zoom.mfp-ready .mfp-container {
    opacity: 1;
}

.mfp-with-zoom.mfp-ready.mfp-bg {
    opacity: 0.8;
}

.mfp-with-zoom.mfp-removing .mfp-container,
.mfp-with-zoom.mfp-removing.mfp-bg {
    opacity: 0;
}

/*** for fancybox video ***/
.fancybox-overlay {
    background: rgba(0, 0, 0, 0.9);
    z-index: 999999;
}

.fancybox-wrap {
    z-index: 9999999;
}


.rolling-text {
    display: inline-block;
    overflow: hidden;
    height: 20px;
    line-height: 16px;
    position: relative;
}

.rolling-text .text-wrapper {
    display: flex;
    flex-direction: column;
    transform: translateY(0%);
}

.rolling-text .text-line {
    display: block;
    height: 20px;
    line-height: 16px;
    white-space: nowrap;
    top: 4px;
    position: relative;
}

.new_img-animet {
    visibility: hidden;
    overflow: hidden;
}

.middle-light {
    position: relative;
    overflow: hidden;
}

.middle-light::before {
    background: rgba(66, 198, 82, 0.2);
    bottom: 0;
    content: "";
    left: 50%;
    position: absolute;
    right: 51%;
    top: 0;
    opacity: 1;
    pointer-events: none;
    transition: all 0.4s linear;
    z-index: 1;
}

.middle-light:hover:before {
    left: 0;
    right: 0;
    opacity: 0;
}

.left-to-right-light {
    position: relative;
    overflow: hidden;
}

.left-to-right-light:before {
    position: absolute;
    top: 0;
    left: -100%;
    display: block;
    content: "";
    width: 50%;
    height: 100%;
    background: -o-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.3) 100%);
    background: -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, 0)), to(rgba(255, 255, 255, 0.3)));
    background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.3) 100%);
    -webkit-transform: skewX(-25deg);
    -ms-transform: skewX(-25deg);
    transform: skewX(-25deg);
    transition: all 0.3s ease;
}

.left-to-right-light:hover:before {
    -webkit-animation: shadeLf 1s;
    animation: shadeLf 1s;
}

.moving-cursor {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 11;
}