/* @import url('https://fonts.googleapis.com/css2?family=Gowun+Dodum&display=swap'); */


/* Template for each variation */
@font-face {
  font-family: 'NoirPro';
  src: url('assets/fonts/NoirPro-Regular.eot');
  src: url('assets/fonts/NoirPro-Regular.eot?#iefix') format('embedded-opentype'),
       url('assets/fonts/NoirPro-Regular.woff2') format('woff2'),
       url('assets/fonts/NoirPro-Regular.woff') format('woff'),
       url('assets/fonts/NoirPro-Regular.otf') format('opentype');
  font-weight: 400;
  font-style: normal;
}

@font-face {
  font-family: 'NoirPro';
  src: url('assets/fonts/NoirPro-Italic.eot');
  src: url('assets/fonts/NoirPro-Italic.eot?#iefix') format('embedded-opentype'),
       url('assets/fonts/NoirPro-Italic.woff2') format('woff2'),
       url('assets/fonts/NoirPro-Italic.woff') format('woff'),
       url('assets/fonts/NoirPro-Italic.otf') format('opentype');
  font-weight: 400;
  font-style: italic;
}

@font-face {
  font-family: 'NoirPro';
  src: url('assets/fonts/NoirPro-Light.eot');
  src: url('assets/fonts/NoirPro-Light.eot?#iefix') format('embedded-opentype'),
       url('assets/fonts/NoirPro-Light.woff2') format('woff2'),
       url('assets/fonts/NoirPro-Light.woff') format('woff'),
       url('assets/fonts/NoirPro-Light.otf') format('opentype');
  font-weight: 300;
  font-style: normal;
}

@font-face {
  font-family: 'NoirPro';
  src: url('assets/fonts/NoirPro-LightItalic.eot');
  src: url('assets/fonts/NoirPro-LightItalic.eot?#iefix') format('embedded-opentype'),
       url('assets/fonts/NoirPro-LightItalic.woff2') format('woff2'),
       url('assets/fonts/NoirPro-LightItalic.woff') format('woff'),
       url('assets/fonts/NoirPro-LightItalic.otf') format('opentype');
  font-weight: 300;
  font-style: italic;
}

@font-face {
  font-family: 'NoirPro';
  src: url('assets/fonts/NoirPro-Medium.eot');
  src: url('assets/fonts/NoirPro-Medium.eot?#iefix') format('embedded-opentype'),
       url('assets/fonts/NoirPro-Medium.woff2') format('woff2'),
       url('assets/fonts/NoirPro-Medium.woff') format('woff'),
       url('assets/fonts/NoirPro-Medium.otf') format('opentype');
  font-weight: 500;
  font-style: normal;
}

@font-face {
  font-family: 'NoirPro';
  src: url('assets/fonts/NoirPro-MediumItalic.eot');
  src: url('assets/fonts/NoirPro-MediumItalic.eot?#iefix') format('embedded-opentype'),
       url('assets/fonts/NoirPro-MediumItalic.woff2') format('woff2'),
       url('assets/fonts/NoirPro-MediumItalic.woff') format('woff'),
       url('assets/fonts/NoirPro-MediumItalic.otf') format('opentype');
  font-weight: 500;
  font-style: italic;
}

@font-face {
  font-family: 'NoirPro';
  src: url('assets/fonts/NoirPro-SemiBold.eot');
  src: url('assets/fonts/NoirPro-SemiBold.eot?#iefix') format('embedded-opentype'),
       url('assets/fonts/NoirPro-SemiBold.woff2') format('woff2'),
       url('assets/fonts/NoirPro-SemiBold.woff') format('woff'),
       url('assets/fonts/NoirPro-SemiBold.otf') format('opentype');
  font-weight: 600;
  font-style: normal;
}

@font-face {
  font-family: 'NoirPro';
  src: url('assets/fonts/NoirPro-SemiBoldItalic.eot');
  src: url('assets/fonts/NoirPro-SemiBoldItalic.eot?#iefix') format('embedded-opentype'),
       url('assets/fonts/NoirPro-SemiBoldItalic.woff2') format('woff2'),
       url('assets/fonts/NoirPro-SemiBoldItalic.woff') format('woff'),
       url('assets/fonts/NoirPro-SemiBoldItalic.otf') format('opentype');
  font-weight: 600;
  font-style: italic;
}

@font-face {
  font-family: 'NoirPro';
  src: url('/fonts/NoirPro-Bold.eot');
  src: url('/fonts/NoirPro-Bold.eot?#iefix') format('embedded-opentype'),
       url('/fonts/NoirPro-Bold.woff2') format('woff2'),
       url('/fonts/NoirPro-Bold.woff') format('woff'),
       url('/fonts/NoirPro-Bold.otf') format('opentype');
  font-weight: 700;
  font-style: normal;
}

@font-face {
  font-family: 'NoirPro';
  src: url('/fonts/NoirPro-BoldItalic.eot');
  src: url('/fonts/NoirPro-BoldItalic.eot?#iefix') format('embedded-opentype'),
       url('/fonts/NoirPro-BoldItalic.woff2') format('woff2'),
       url('/fonts/NoirPro-BoldItalic.woff') format('woff'),
       url('/fonts/NoirPro-BoldItalic.otf') format('opentype');
  font-weight: 700;
  font-style: italic;
}

@font-face {
  font-family: 'NoirPro';
  src: url('/fonts/NoirPro-Heavy.eot');
  src: url('/fonts/NoirPro-Heavy.eot?#iefix') format('embedded-opentype'),
       url('/fonts/NoirPro-Heavy.woff2') format('woff2'),
       url('/fonts/NoirPro-Heavy.woff') format('woff'),
       url('/fonts/NoirPro-Heavy.otf') format('opentype');
  font-weight: 800;
  font-style: normal;
}

@font-face {
  font-family: 'NoirPro';
  src: url('/fonts/NoirPro-HeavyItalic.eot');
  src: url('/fonts/NoirPro-HeavyItalic.eot?#iefix') format('embedded-opentype'),
       url('/fonts/NoirPro-HeavyItalic.woff2') format('woff2'),
       url('/fonts/NoirPro-HeavyItalic.woff') format('woff'),
       url('/fonts/NoirPro-HeavyItalic.otf') format('opentype');
  font-weight: 800;
  font-style: italic;
}



body,html{
    scroll-behavior: smooth;
    scroll-padding-top: 100px;
}

body{
    /* font-family: "Gowun Dodum", sans-serif; */
    font-family: 'NoirPro';
    overflow-x: hidden;
    
}

:root{
    --primary:#0000FF;
    --secondary:#FF00DC;
    --black:#171717;
     --accent: #00CEFF;
}

#hero-slider .splide__slide.is-active .hero-slide-content{
    margin-top: 0;
    opacity: 1;
}

#hero-slider .splide__pagination{
    bottom: auto;
    top: 50%;
    transform: translateY(-50%);
    left: auto;
    right: 30px;
    display: grid;
    z-index: 2;
}

.sticky-header .main-nav-menu{
    > li > a{
        color: var(--black);
    }
    > li.menu-item-has-children > a:after{
        content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='ionicon' viewBox='0 0 512 512'%3E%3Cpath fill='none' stroke='%23171717' stroke-linecap='round' stroke-linejoin='round' stroke-width='48' d='M112 184l144 144 144-144'/%3E%3C/svg%3E");
    }
}

.main-nav-menu{
    > li{
        position: relative;

        &:hover > ul{
            opacity: 1;
            pointer-events: all;
            transform: translateX(-50%) translateY(0);
        }

        &:hover > a:before{
            width: 100%;
            left: 0;
        }

    }
    > li.menu-item-has-children:hover > a:after{
        rotate:180deg
    }
    > li.menu-item-has-children > a:after{
        content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='ionicon' viewBox='0 0 512 512'%3E%3Cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='48' d='M112 184l144 144 144-144'/%3E%3C/svg%3E");
        display: block;
        transition: all 0.3s ease-out;
        line-height: 0;
        width: 15px;
        transition: all 0.3s ease-out;
    }
    > li> a{
        display: inline-flex;
        align-items: center;
        gap: 2px;
        border-radius: 0.2rem;
        transition: all 0.3s ease-out;
        position: relative;
        transition: all 0.3s ease-out;

        

        &:before{
            content: "";
            width: 0;
            height: 2px;
            background: white;
            transition: all 0.3s ease-out;
            position: absolute;
            bottom: -5px;
            right: 0;
        }
        
    }
    > li > ul{
        position: absolute;
        top: 100%;
        left: 50%;
        padding-top: 20px;
        transform: translateX(-50%) translateY(20px);
        min-width: 100%;
        width: max-content;
        z-index: 1;
        opacity: 0;
        pointer-events: none;
        transition: all 0.2s ease-out;
        font-size: 1rem;

        >li:hover > a{
            color: var(--primary);
        }

        > li.menu-item-has-children > a:after{
            content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='ionicon' viewBox='0 0 512 512'%3E%3Cpath fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='48' d='M112 184l144 144 144-144'/%3E%3C/svg%3E");
            rotate: -90deg;
            display: block;
            transition: all 0.3s ease-out;
            line-height: 0;
            width: 15px;
        }

        > li.menu-item-has-children:hover > ul{
            opacity: 1;
            pointer-events: all;
            transform: translateX(100%);
        }
        > li > ul{
            position: absolute;
            top: 20px;
            right: 0;
            transform: translateX(90%);
            padding-left: 10px;
            width: max-content;
            line-height: 1;
            opacity: 0;
            transition: all 0.3s ease-out;
            pointer-events: none;

            >li:last-of-type > a{
                border: none;
            }

            a{
                color: rgba(0 0 0 /80%);
                display: block;
                padding:13px;
                transition: all 0.3s ease-out;
                border-bottom: 1px solid rgba(0 0 0 /5%);

                &:hover{
                    color: var(--primary);
                }

            }

            &:before{
                content: "";
                position: absolute;
                inset-block: 0;
                right: 0;
                left: 10px;
                background: white;
                border-radius: 0.3rem;
                box-shadow: 0 0 10px 0 rgba(0 0 0 /10%);
                z-index: -1;
            }
        }

        > li > a{
            color: rgba(0 0 0 /80%);
            transition: all 0.3s ease-out;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 10px;
            padding:10px;
            border-bottom: 1px solid rgba(0 0 0 /5%);

            &:hover{
                color: var(--primary);
            }
        }

        > li:last-of-type > a{
            border:none;
        }

        &:before{
            content: "";
            position: absolute;
            top: 20px;
            inset-inline: 0;
            bottom: 0;
            background: white;
            border-radius: 0.3rem;
            box-shadow: 0 0 10px 0 rgba(0 0 0 /10%);
            z-index: -1;
        }

    }
}

.about-info img{
    filter: brightness(0) saturate(100%) invert(11%) sepia(97%) saturate(4653%) hue-rotate(245deg) brightness(99%) contrast(155%);
}
.blue-images img{
    filter: brightness(0) saturate(100%) invert(11%) sepia(97%) saturate(4653%) hue-rotate(245deg) brightness(99%) contrast(155%);
}
.about-info:before{
    content: "";
    width: 80vw;
    position: absolute;
    top: -1px;
    left: 0;
    border-bottom: 1px solid rgb(229 229 229);
    height: 1px;
}
.about-info.no-border:before{
    display: none;
}
.about-info.no-border > div:before{
    display: none;
}
.about-info > div:before{
    content: "";
    width: 80vw;
    position: absolute;
    bottom: -1px;
    left: 0;
    border-bottom: 1px solid rgb(229 229 229);
    height: 1px;
}

.services > div{
    transition: background-color 0.3s ease-out;
    position: relative;
    z-index: 1;
    overflow: hidden;
}
.services > div:before{
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    height: 0%;
    width: 140%;
    background: linear-gradient(45deg, var(--primary),var(--accent));
    transition: all 0.3s ease-out;
    z-index: -1;
    border-radius: 100%;
    transform: translateY(50%) translateX(-50%);
}
.services > div:hover:before{
    height: 280%;
}
.clients-scroller-2  img{
    background: white;
    padding:10px 45px;
    max-height: 110px;
}
.trusted-quote p{
    color: transparent;
    -webkit-text-stroke: 1px var(--primary);
    font-weight: 100;
}
.image-filter-secondary{
    filter: brightness(0) saturate(100%) invert(17%) sepia(91%) saturate(3250%) hue-rotate(303deg) brightness(123%) contrast(130%);
}
.mobile-trigger{
    span{
        display: block;
        width: 40px;
        height: 2px;
        background: white;
        position: relative;
        transition: all 0.3s ease-out;

        &:before{
            content: "";
            position: absolute;
            width: 100%;
            left: 0;
            margin-top: -7px;
            height: 2px;
            display: block;
            background: white;
            transition: all 0.3s ease-out;
        }
        &:after{
            content: "";
            position: absolute;
            width: 100%;
            left: 0;
            height: 2px;
            display: block;
            margin-top: 7px;
            background: white;
            transition: all 0.3s ease-out;
        }
    }
}

.sticky-header .mobile-trigger.close-state{
    span{
        background: transparent;
        width: 25px;

        &:before{
            margin:0;
            rotate: 45deg;
            
        }
        &:after{
            margin:0;
           rotate: -45deg;
        }
    }
}

.sticky-header .mobile-trigger{
    span{
        background: black;

        &:before,&:after{
            background: black;
        }
    }
}

.plain-content{
    .reset-list{
        h2,h3{
            font-size: 1.4rem;
            font-weight: 500;
        }
    }
}

.reset-list{
    ul,ol{
        list-style: disc;
        margin-left: 1.4rem;
    }
}

@media(max-width:1024px){
    #hero-slider .splide__pagination{
        display: none;
    }
}

.mobile-nav{

    .open-sub > .drop-icon{
        rotate: 180deg;
    }

    > li > a{
        display: block;
        
        padding-block: 13px;
        padding-right: 10px;
        font-weight: 500;
    }
    > li{
        border-bottom: 1px solid #e5e5e5;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;

        > ul {
        background: #f3f3f3;
        padding:1.2rem;
        font-size: 1.1rem;
        display: none;
        width: 100%;
        > li > ul{
            margin-left: 15px;
            margin-top: 5px;
            font-size: 1.075rem;
        }
        }
    }
}
.content-block table{
    border-left: 1px solid rgba(0 0 0 /10%);
}

.content-block thead tr:first-of-type td{
    background: var(--primary);
    color: white;
    padding: 1rem;
}

.content-block tbody td{
    padding: 1rem;
    border-right: 1px solid rgba(0 0 0 /10%);
    border-bottom: 1px solid rgba(0 0 0 /10%);
}

.content-block table > :not(tbody) tr:first-of-type td{
    background: var(--primary);
    color: white;
    padding: 1rem;
}