@font-face {
    font-family: 'AndersonGrotesk-Rg';
    src: url('./fonts/AndersonGroteskRegular.eot');
    src: url('./fonts/AndersonGroteskRegular.eot?#iefix') format('embedded-opentype'), url('./fonts/AndersonGroteskRegular.woff2') format('woff2'), url('./fonts/AndersonGroteskRegular.woff') format('woff'), url('./fonts/AndersonGroteskRegular.ttf') format('truetype'), url('./fonts/AndersonGroteskRegular.svg#AndersonGroteskRegular') format('svg');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'AndersonGrotesk-Blk';
    src: url('./fonts/AndersonGroteskBlack.eot');
    src: url('./fonts/AndersonGroteskBlack.eot?#iefix') format('embedded-opentype'), url('./fonts/AndersonGroteskBlack.woff2') format('woff2'), url('./fonts/AndersonGroteskBlack.woff') format('woff'), url('./fonts/AndersonGroteskBlack.ttf') format('truetype'), url('./fonts/AndersonGroteskBlack.svg#AndersonGroteskBlack') format('svg');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'AndersonGrotesk-Bold';
    src: url('./fonts/AndersonGroteskBold.eot');
    src: url('./fonts/AndersonGroteskBold.eot?#iefix') format('embedded-opentype'), url('./fonts/AndersonGroteskBold.woff2') format('woff2'), url('./fonts/AndersonGroteskBold.woff') format('woff'), url('./fonts/AndersonGroteskBold.ttf') format('truetype'), url('./fonts/AndersonGroteskBold.svg#AndersonGroteskBold') format('svg');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'AndersonGrotesk-Lt';
    src: url('./fonts/AndersonGroteskLight.eot');
    src: url('./fonts/AndersonGroteskLight.eot?#iefix') format('embedded-opentype'), url('./fonts/AndersonGroteskLight.woff2') format('woff2'), url('./fonts/AndersonGroteskLight.woff') format('woff'), url('./fonts/AndersonGroteskLight.ttf') format('truetype'), url('./fonts/AndersonGroteskLight.svg#AndersonGroteskLight') format('svg');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'AndersonGrotesk-Ultra';
    src: url('./fonts/AndersonGroteskUltrabold.eot');
    src: url('./fonts/AndersonGroteskUltrabold.eot?#iefix') format('embedded-opentype'), url('./fonts/AndersonGroteskUltrabold.woff2') format('woff2'), url('./fonts/AndersonGroteskUltrabold.woff') format('woff'), url('./fonts/AndersonGroteskUltrabold.ttf') format('truetype'), url('./fonts/AndersonGroteskUltrabold.svg#AndersonGroteskUltrabold') format('svg');
    font-weight: 800;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Flaticon";
    src: url("./fonts/Flaticon.eot");
    src: url("./fonts/Flaticon.eot?#iefix") format("embedded-opentype"), url("./fonts/Flaticon.woff2") format("woff2"), url("./fonts/Flaticon.woff") format("woff"), url("./fonts/Flaticon.ttf") format("truetype"), url("./fonts/Flaticon.svg#Flaticon") format("svg");
    font-weight: normal;
    font-style: normal;
}

screen and (-webkit-min-device-pixel-ratio:0) {
    @font-face {
        font-family: "Flaticon";
        src: url("./fonts/Flaticon.svg#Flaticon") format("svg");
    }
}

[class^="flaticon-"]:before,
[class*=" flaticon-"]:before,
[class^="flaticon-"]:after,
[class*=" flaticon-"]:after {
    font-family: Flaticon;
    font-size: 30px;
    font-style: normal;
}

.flaticon-facebook:before {
    content: "\f100";
}

.flaticon-instagram:before {
    content: "\f101";
}

.flaticon-linkedin:before {
    content: "\f102";
}

.flaticon-direct:before {
    content: "\f103";
}

.flaticon-zoom:before {
    content: "\f104";
}

.flaticon-cancel:before {
    content: "\f105";
}

* {
    box-sizing: border-box;
}

*:focus {
    outline: none!important;
}

body {
    font-family: 'AndersonGrotesk-Rg';
    font-size: 16px;
    overflow-x: hidden;
}

body.dark-mode {
    transition: .5s ease;
}

::-webkit-scrollbar-track {
    -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
    border-radius: 10px;
    background-color: #F5F5F5;
}

::-webkit-scrollbar {
    width: 6px;
    background-color: #F5F5F5;
}

::-webkit-scrollbar-thumb {
    border-radius: 10px;
    -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, .3);
    background-color: #000;
}


/*html {
  font-family: sans-serif;
  -ms-scroll-snap-type: mandatory;
      scroll-snap-type: mandatory;
  -ms-scroll-snap-points-y: repeat(100vh);
      scroll-snap-points-y: repeat(100vh);
  -ms-scroll-snap-type: y mandatory;
      scroll-snap-type: y mandatory;
}
*/

section {
    height: 100%;
}

.font-light {
    font-family: 'AndersonGrotesk-Rg';
}

.font-bold {
    font-family: 'AndersonGrotesk-Bold';
}

.font-ultra {
    font-family: 'AndersonGrotesk-Ultra';
}

.section-padding {
    padding: 3rem 0;
}

.navbar {
    width: 100%;
    height: 75px;
    position: absolute;
    z-index: 1051;
}
.dark-mode .navbar-custom {
    background-color: #121212;
}
.brand-logo {
    width: 180px;
    height: 40px;
    background: url(../images/logo-dark.svg)no-repeat center center;
    background-size: 100%;
}

.brand-logo-white {
    width: 180px;
    height: 40px;
    background: url(../images/logo-white.svg)no-repeat center center;
    background-size: 100%;
}

.hero {
    padding-top: 25vh;
    background-color: #fff;
}

.hero-heading {
    font-size: 48px;
    line-height: 48px;
    text-align: left;
    font-family: 'AndersonGrotesk-Ultra';
}

.hero-img {
    position: absolute;
    bottom: 0px;
    z-index: 18;
    left: 50%;
    transform: translateX(-50%);
    width: 115%;
}

.menu-hero h1 {
    font-family: 'AndersonGrotesk-Ultra';
}

.menu-hero h2 {
    font-family: 'AndersonGrotesk-Bold';
}

.menu-hero a {
    color: inherit;
    text-decoration: none;
    transition: all .5s ease;
}

.liner {
    display: none;
    content: '';
    height: 2px;
    width: 10px;
    background: #000;
    margin: 5px 10px 5px 0px;
    transition: all 1s ease;
}

.menu-hero a:hover .liner {
    display: inline-block;
}

.scroll-downs {
    margin: 0 auto;
    width: 24px;
    height: 45px;
}

.mousey {
    width: 3px;
    padding: 4px 12px;
    height: 30px;
    border: 2px solid #000;
    border-radius: 25px;
    box-sizing: content-box;
}

.scroller {
    width: 3px;
    height: 10px;
    border-radius: 25%;
    background-color: #000;
    animation-name: scroll;
    animation-duration: 1s;
    animation-timing-function: cubic-bezier(.15, .41, .69, .94);
    animation-iteration-count: infinite;
}

@keyframes scroll {
    0% {
        opacity: 0;
    }
    10% {
        transform: translateY(0);
        opacity: 1;
    }
    100% {
        transform: translateY(15px);
        opacity: 0;
    }
}

.social-link {
    font-family: 'AndersonGrotesk-Bold';
    color: #222;
    position: absolute;
    right: 15px;
    transform: rotate(-90deg);
    z-index: 99;
}

.scroll-next {
    width: 50px;
    height: 50px;
    background: #000;
    border-radius: 50px;
    text-align: center;
    padding: 10px 0;
}

.scroll-icon {
    width: 30px;
    height: 30px;
    background: url(../images/down-arrow.svg) no-repeat center center;
    background-size: 100%;
    margin: 0px auto;
}

.device-bg {
    width: 100%;
    height: 0;
    border-radius: 50%;
    padding-top: 100%;
    background: #ebebeb;
}

.device-bg img {
    position: absolute;
    max-width: 100%;
    top: 0;
    left: 0;
    right: 0;
}

.hero-text::after {
    content: '|';
    display: inline;
    -webkit-animation: blink 0.7s infinite;
    -moz-animation: blink 0.7s infinite;
    animation: blink 0.7s infinite;
}

.typed-cursor {
    opacity: 0;
    display: none;
}

@keyframes blink {
    0% {
        opacity: 1;
    }
    50% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

@-webkit-keyframes blink {
    0% {
        opacity: 1;
    }
    50% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

@-moz-keyframes blink {
    0% {
        opacity: 1;
    }
    50% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

.bg-text-row {
    height: 100%;
    display: block;
}

.double-text {
    height: 100%;
}

.background-text {
    overflow: hidden;
    font-size: 160px;
    line-height: 160px;
    color: #ececec;
    padding: 30px 0px;
    font-family: 'AndersonGrotesk-Ultra';
}

.t-25 {
    top: 80px;
}

.foreground-text {
    position: absolute;
    z-index: 11;
    font-size: 35px;
    line-height: 30px;
    -ms-transform: translateY(-50%);
    transform: translateY(-60%);
    font-family: 'AndersonGrotesk-Ultra';
}

.lead-title {
    position: absolute;
    margin: 40px 0;
    z-index: 11;
    font-size: 36px;
    line-height: 36px;
}

a.ext-link {
    position: relative;
    height: 100%;
    text-decoration: none;
    color: #f8f9fa;
    cursor: pointer;
}

a.ext-link>div {
    position: relative;
    height: 100%;
    padding: 1rem 0;
}

.title {
    font-size: 1.25rem;
    text-transform: uppercase;
    line-height: 1;
    opacity: 1;
    position: relative;
}

.subtitle {
    color: #ced4da;
    font-size: .9rem;
    letter-spacing: .035rem;
    line-height: 1.125;
    margin: -.25rem 0 0;
    opacity: 0;
}

.marquee div {
    font-size: 23.55vh;
    color: #d0d0d0;
    font-family: 'AndersonGrotesk-Ultra';
    padding-left: 100%;
    display: inline-block;
    animation: marquee-h 3s linear infinite;
    white-space: nowrap;
    overflow: hidden;
}

@keyframes marquee-h {
    100% {
        transform: translate(-100%, 0);
    }
}

.marquee-h div {
    font-size: 23.55vh;
    color: #d0d0d0;
    font-family: 'AndersonGrotesk-Ultra';
    padding-top: 100%;
    display: inline-block;
    animation: marquee-v 3s linear infinite;
    white-space: nowrap;
    overflow: hidden;
}

@keyframes marquee-v {
    100% {
        transform: translate(0, -100%);
    }
}

.services {
    background: #fff;
}

.tech-stack {
    width: 100%;
    overflow: hidden;
    height: 90px;
    background: url('../images/tech-stack.png')no-repeat center center;
    background-size: 100%;
}

.bb-1 {
    border-bottom: 1px solid #000;
}

.input {
    padding: 10px;
    background: #d0d0d0;
    border-radius: 10px;
    border: 0;
    height: 50px;
    width: 100%;
}

.input:focus,
.send-btn:focus {
    outline: none;
}

.send-btn {
    background: #fff;
    border: 0;
    border-radius: 10px;
    outline: 0;
    height: 50px;
    line-height: 50px;
    width: 100%;
}

.send-icon {
    width: 20px;
    height: 20px;
    background: url(../images/send-icon.svg)no-repeat center center;
    background-size: 100%;
    margin: 0 auto;
    display: inline-block;
}

.service-box {
    background: #ebe7e7;
    transition: all .5s ease;
}

.service-box:hover {
    background: rgb(14, 8, 234);
    background: -moz-linear-gradient(40deg, rgba(14, 8, 234, 1) 0%, rgba(5, 2, 130, 1) 100%)!important;
    background: -webkit-linear-gradient(40deg, rgba(14, 8, 234, 1) 0%, rgba(5, 2, 130, 1) 100%)!important;
    background: linear-gradient(40deg, rgba(14, 8, 234, 1) 0%, rgba(5, 2, 130, 1) 100%)!important;
    filter: progid: DXImageTransform.Microsoft.gradient(startColorstr="#0e08ea", endColorstr="#050282", GradientType=1)!important;
}

.service-content {
    padding: 15px;
}

.service-content h4 {
    font-family: 'AndersonGrotesk-Bold';
    font-size: 28px;
    margin: 5px 0;
}

.service-content p {
    margin: 0;
}

.service-box:hover .service-content h4,
.service-box:hover .service-content p {
    color: #fff;
}

.service-img {
    text-align: center;
}

.service-img img {
    max-width: 80%;
    height: auto;
}

.contact-content h2 {
    font-size: 32px;
}

.contact-content a {
    font-size: 24px;
    color: inherit;
    text-decoration: none;
    transition: all .3s ease;
}

.contact-content a:hover {
    color: #797979;
}

.social {
    list-style: none;
    padding: 0;
    margin: 0;
}

.social li {
    display: inline-block;
    margin-right: 10px;
}

.social li a {
    text-decoration: none;
    color: #fff;
}

.footer {
    font-size: 14px;
    font-family: 'AndersonGrotesk-Bold';
}

.menu {
    list-style: none;
}

.menu li {
    padding: 0;
    margin: 0;
}

.menu li a {
    font-size: 6vw;
    line-height: 7vw;
    font-family: 'AndersonGrotesk-Ultra';
    color: #000;
    text-decoration: none;
}

.menu li a:hover {
    color: #000;
}

.menu li a:hover~.menu li a {
    color: #ebebeb;
}

.ts-modal {
    width: 100vw;
    min-height: 100vh;
}
.pf-modal .modal-dialog{
     min-width: 100vw!important;
    min-height: 100vh;
    max-width: auto!important;
    margin:0!important;
}
.pf-modal .modal-content{
    padding:4rem 0;
}
.custom-modal .modal-close {
    position: absolute;
    top: 10px;
    right: 15px;
    width:40px;
    height: 40px;
    z-index: 9999;
    cursor: pointer;
}
.custom-modal .close-icon{
    width: 50px;
    height: 50px;
    background:url('../images/cancel.svg') no-repeat center center;
    background-size: 70%;
    float: left;
}
.custom-modal .modal-dialog {
    position: relative;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    width: 100%;
    height: 100%;
    pointer-events: auto;
    background-color: #fff;
    background-clip: padding-box;
    border: 0;
    border-radius: 0!important;
    outline: 0;
}
.custom-modal .modal-content {
    position: relative;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    width: 100%;
    height: 100%;
    pointer-events: auto;
    background-color: #fff;
    background-clip: padding-box;
    border: 0;
    border-radius: 0;
    outline: 0;
    padding: 9rem 0;
}

.custom-modal .modal-dialog {
    max-width: 100vw!important;
    margin: 0;
}

.toggle {
    display: block;
    cursor: pointer;
    float: right;
}

.toggle input {
    display: none;
}

.toggle input+div {
    width: 20px;
    height: 14px;
    position: relative;
}

.toggle input+div div {
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    -webkit-transition: -webkit-transform .5s ease;
    transition: -webkit-transform .5s ease;
    transition: transform .5s ease;
    transition: transform .5s ease, -webkit-transform .5s ease;
}

.toggle input+div div span {
    display: block;
    position: absolute;
    left: 0;
    right: 0;
}

.toggle input+div div span:first-child {
    top: 0;
}

.toggle input+div div span:first-child:before,
.toggle input+div div span:first-child:after {
    top: 0;
}

.toggle input+div div span:last-child {
    bottom: 0;
}

.toggle input+div div span:last-child:before,
.toggle input+div div span:last-child:after {
    bottom: 0;
}

.toggle input+div div span:before,
.toggle input+div div span:after {
    content: '';
    display: block;
    width: 47%;
    height: 2px;
    border-radius: 1px;
    background: #000;
    position: absolute;
    -webkit-backface-visibility: hidden;
    -webkit-transition: border-radius .3s ease, background .4s ease, -webkit-transform .5s ease;
    transition: border-radius .3s ease, background .4s ease, -webkit-transform .5s ease;
    transition: transform .5s ease, border-radius .3s ease, background .4s ease;
    transition: transform .5s ease, border-radius .3s ease, background .4s ease, -webkit-transform .5s ease;
}

.toggle input+div div span:before {
    left: 0;
    -webkit-transform-origin: 0 50%;
    transform-origin: 0 50%;
    -webkit-transform: translate(1px, 0) scaleX(1.1);
    transform: translate(1px, 0) scaleX(1.1);
}

.toggle input+div div span:after {
    right: 0;
    -webkit-transform-origin: 100% 50%;
    transform-origin: 100% 50%;
    -webkit-transform: translate(-1px, 0) scaleX(1.1);
    transform: translate(-1px, 0) scaleX(1.1);
}

.toggle input+div svg {
    display: block;
    fill: none;
    stroke: #000;
    stroke-width: 2px;
    width: 44px;
    height: 44px;
    stroke-linecap: round;
    position: absolute;
    left: 50%;
    top: 50%;
    margin: -22px 0 0 -22px;
    stroke-dasharray: 0 82.801 8 82.801;
    stroke-dashoffset: 82.801;
    -webkit-transform-origin: 50% 50%;
    transform-origin: 50% 50%;
    -webkit-backface-visibility: hidden;
    -webkit-transform: scale(1);
    transform: scale(1);
    -webkit-transition: stroke-dashoffset .5s ease, stroke-dasharray .6s ease, stroke .4s ease, -webkit-transform .5s ease;
    transition: stroke-dashoffset .5s ease, stroke-dasharray .6s ease, stroke .4s ease, -webkit-transform .5s ease;
    transition: stroke-dashoffset .5s ease, stroke-dasharray .6s ease, transform .5s ease, stroke .4s ease;
    transition: stroke-dashoffset .5s ease, stroke-dasharray .6s ease, transform .5s ease, stroke .4s ease, -webkit-transform .5s ease;
}

.toggle input+div svg:nth-child(3) {
    -webkit-transform: rotate(180deg) scale(1);
    transform: rotate(180deg) scale(1);
}

.toggle input:checked+div div {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
}

.toggle input:checked+div div span:before,
.toggle input:checked+div div span:after {
    background: #000;
}

.toggle input:checked+div div span:first-child:before {
    -webkit-transform: rotate(45deg) translate(2.2px, -3px) scaleX(1.05);
    transform: rotate(45deg) translate(2.2px, -3px) scaleX(1.05);
}

.toggle input:checked+div div span:first-child:after {
    -webkit-transform: rotate(-45deg) translate(-2.2px, -3px) scaleX(1.05);
    transform: rotate(-45deg) translate(-2.2px, -3px) scaleX(1.05);
}

.toggle input:checked+div div span:last-child:before {
    -webkit-transform: rotate(-45deg) translate(2.2px, 3px) scaleX(1.05);
    transform: rotate(-45deg) translate(2.2px, 3px) scaleX(1.05);
}

.toggle input:checked+div div span:last-child:after {
    -webkit-transform: rotate(45deg) translate(-2.2px, 3px) scaleX(1.05);
    transform: rotate(45deg) translate(-2.2px, 3px) scaleX(1.05);
}

.toggle input:checked+div svg {
    stroke-dashoffset: 62;
    stroke-dasharray: 0 82.801 62 82.801;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    stroke: #000;
}

.toggle input:checked+div svg:nth-child(3) {
    -webkit-transform: rotate(270deg);
    transform: rotate(270deg);
}

.toggle-theme {
    width: 50px;
    display: inline-block;
}

.theme-icon {
    width: 20px;
    height: 20px;
}

.dark {
    background: url('../images/moon.svg') no-repeat center center;
    background-size: 100%;
    width: 30px;
    height: 30px;
}

.light {
    background: url('../images/sun.svg') no-repeat center center;
    background-size: 100%;
    width: 30px;
    height: 30px;
}

.portfolio-slider {
    overflow: hidden;
}

.pf-card {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 320px;
    transition: .5s;
    float: left;
    margin-left: 30px;
    margin-right: 100px;
}

.pf-card-xl {
    width: 450px;
}

.pf-card:hover {
    width: 450px
}

.pf-content {
    position: relative;
    width: 100%;
    height: 380px;
    box-shadow: -8px 8px 0px rgb(175, 175, 175, 0.5);
    transition: .5s;
}

.pf-card-overlay {
    position: absolute;
    width: 100%;
    height: 100%;
    background: rgba(177, 177, 177);
    opacity: .89;
}

.pf-card:hover .pf-card-overlay {
    background: rgb(14, 8, 234);
    background: -moz-linear-gradient(40deg, rgba(14, 8, 234, 1) 0%, rgba(4, 0, 123, 1) 100%)!important;
    background: -webkit-linear-gradient(40deg, rgba(14, 8, 234, 1) 0%, rgba(4, 0, 123, 1) 100%)!important;
    background: linear-gradient(40deg, rgba(14, 8, 234, 1) 0%, rgba(4, 0, 123, 1) 100%)!important;
    filter: progid: DXImageTransform.Microsoft.gradient(startColorstr="#0e08ea", endColorstr="#050282", GradientType=1)!important;
    opacity: .85;
}

.mypentas {
    background: url('../images/portfolio/mypentas-bg-1.jpg') no-repeat center center;
    background-size: cover;
}

.allinall {
    background: url('../images/portfolio/allinall-bg.jpg') no-repeat center center;
    background-size: cover;
}

.portfolio {
    text-align: center;
    overflow: hidden;
}

.pf-image {
    cursor: pointer;
    transition: .5s ease;
}

.pf-image:hover {
    cursor: pointer;
    transform: scale(1.05);
}

.pf-see-more {
    transition: .5s;
    opacity: 1;
    width: 50px;
    height: 50px;
    border-radius: 50px;
    background: url('../images/zoom-in-black.svg')no-repeat center center;
    background-color: #fff;
    background-size: 40%;
    margin: 5px auto;
    opacity: 0;
    color: #000;
    line-height: 50px;
    cursor: pointer;
}

.pfs-slider {
    width: 100%;
}

.portfolio:hover .pf-see-more {
    opacity: 1;
}

.pf-logo {
    width: 120px;
    margin: 5px auto;
    text-align: center;
}

.pf-hover-content {
    color: #fff;
    position: absolute;
    opacity: 0;
    top: 25%;
    left: 5%;
}

.pf-card:hover .pf-hover-content {
    opacity: 1;
}

.pf-hover-content h3 {
    font-size: 34px;
    font-family: 'AndersonGrotesk-Bold';
    margin: 0;
}

.pf-hover-content p {
    font-size: 14px;
    font-family: 'AndersonGrotesk-Lt';
    margin: 0;
}


.pf-toggle-modal {
    position: absolute;
    bottom: -70px;
    left: 5%;
    transition: .5s;
    opacity: 0;
    width: 50px;
    height: 50px;
    border-radius: 50px;
    background: #fff;
}

.pf-card:hover .pf-toggle-modal {
    bottom: 25px;
    opacity: 1;
}

.open-modal {
    width: 30px;
    height: 30px;
    margin: 10px auto;
    background: url('../images/full-screen.svg')no-repeat center center;
    background-size: 40%;
}

.close-modal {
    width: 50px;
    height: 50px;
    margin: 10px auto;
    background: url('../images/zoom-out-white.svg')no-repeat center center;
    background-size: 40%;
}

.arrow-up {
    width: 30px;
    height: 30px;
    margin: 10px auto;
    background: url('../images/up-arrow-black.svg')no-repeat center center;
}

@-webkit-keyframes float {
    0% {
        -webkit-transform: translatey(0px);
        transform: translatey(0px);
    }
    50% {
        -webkit-transform: translatey(-20px);
        transform: translatey(-20px);
    }
    100% {
        -webkit-transform: translatey(0px);
        transform: translatey(0px);
    }
}

.float {
    -webkit-animation: float 3s ease-in-out infinite;
    animation: float 3s ease-in-out infinite;
}

.pf-device-laptop {
    position: absolute;
    width: 100%;
    opacity: 1;
    bottom: -15px;
    right: -20%;
    transition: .5s;
}

.pf-device-mobile {
    position: absolute;
    width: 65%;
    opacity: 1;
    bottom: -16px;
    right: 0;
    transition: .5s;
}

.pf-card:hover .pf-device-mobile {
    width: 50%;
}

.pf-card:hover .pf-device-laptop {
    width: 90%;
    right: -15%;
}

.pf-more-pf {
    background: #1b1b1b;
    color: #fff;
    padding: 30px;
}

.pf-more-pf h3 {
    font-size: 1.9rem;
    font-family: 'AndersonGrotesk-Ultra';
}

.pf-title {
    font-size: 34px;
    margin: 10px 0;
    font-family: 'AndersonGrotesk-Ultra';
}

.pf-title::after {
    width: 50px;
    height: 2px;
    background: #000;
    display: block;
}

.pf-cta a {
    font-family: 'AndersonGrotesk-Bold';
    color: inherit;
    text-decoration: none;
}

.pf-close-modal {
    transition: .5s;
    opacity: 1;
    width: 50px;
    height: 50px;
    border-radius: 50px;
    background: #000;
}

.theme-switch {
    display: inline-block;
}

.theme-switch h5 {
    margin: 0;
    float: left;
    font-family: 'AndersonGrotesk-Bold';
    margin-right: 10px;
}

.toggle-track {
    margin-left: 15px;
    background-color: #1a1a1a;
    border-radius: 30px;
    cursor: pointer;
    display: flex;
    height: 24px;
    position: relative;
    user-select: none;
    width: 50px;
}

.toggle-sun,
.toggle-moon {
    align-items: center;
    display: flex;
    font-size: 12px;
    padding: 0 4px;
    width: 50%;
}

.toggle-moon {
    justify-content: flex-end;
}

.toggle-thumb {
    background-color: #fff;
    border-radius: 50%;
    height: 20px;
    left: 2px;
    position: absolute;
    top: 2px;
    transition: transform .5s cubic-bezier(.23, 1, .32, 1);
    width: 20px;
}

.toggle-track.toggled .toggle-thumb {
    transform: translateX(26px);
}

@media(max-width: 768px) {
    .menu {
        padding: 15px;
        margin: 40px 0;
    }
    .menu li a {
        font-size: 32px;
        line-height: 50px;
        font-family: 'AndersonGrotesk-Ultra';
        color: #000;
        text-decoration: none;
    }
    .menu-hero h1 {
        font-size: 2.1rem;
    }
    .custom-modal .modal-content {
        padding: 4rem 0;
    }
    section {
        height: 100%;
    }
    .hero {
        padding-top: 15vh;
    }
    .hero-img {
        position: absolute;
        bottom: 0px;
        z-index: 18;
        left: 50%;
        transform: translateX(-50%);
        width: 100%;
    }
    .dark-mode .background-text {
        color: #ababab!important;
    }
    .xs-text-center {
        text-align: center!important;
    }
    .contact-content h2 {
        font-size: 24px;
    }
}

.copy {
    font-family: sans-serif;
}

#myVideo {
    position: fixed;
    right: 0;
    bottom: 0;
    min-width: 100%;
    min-height: 100%;
}

.thank-you {
    background: url('../images/thank-you.gif')no-repeat center center;
    background-size: cover;
}

.text-row {
    width: 100%;
    overflow-x: hidden;
    padding: 3rem 0;
    text-align: center;
}

.text-row h1 {
    word-break: keep-all;
}

.web-design {
    background: url('../images/webdev-dark.png') no-repeat center center;
    background-size: cover;
}

.app-design {
    background: url('../images/appdev-dark.png') no-repeat center center;
    background-size: cover;
}

.custom-design {
    background: url('../images/customdev-dark.png') no-repeat center center;
    background-size: cover;
}

.abt-small {
    font-size: 13px;
    font-family: 'AndersonGrotesk-Ultra';
}

.abt-big {
    font-size: 3rem;
    font-family: 'AndersonGrotesk-Ultra';
}


/**
 * CSS style for carouselTicker
 **/

.carouselTicker-list {
    margin: 10px 15px;
    padding: 0;
    list-style-type: none;
    overflow: hidden;
}

.carouselTicker-item {
    margin: 0 15px;
    float: left;
    text-align: center;
}

.carouselTicker-loader {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    background: #fff url("../images/loader.gif") center center no-repeat;
}


/**
 * CSS style for vertical direction
 **/

.carouselTicker_vertical .carouselTicker-list {
    margin: 0;
}

.carouselTicker_vertical .carouselTicker-item {
    margin: 0 0 5px 0;
    text-align: center;
}

#carouselTicker .carouselTicker-item,
#carouselTicker-destructor-example .carouselTicker-item {
    width: auto;
    height: auto;
    line-height: normal;
}

.carouselTicker-item img {
    vertical-align: top;
}

.carouselTicker-item h3 {
    font-size: 3rem;
    font-family: 'AndersonGrotesk-Ultra';
    margin: 0 20px;
}

.ticker-solid {
    color: #000;
}

.ticker-outline {
    color: #fff;
    -webkit-text-stroke: 1px black;
}

.stack-logo {
    width: 90px;
    height: 90px;
    margin: 0 20px;
    background: red;
}

.stack-angular {
    background: url('../images/stack/angular.svg') no-repeat center center;
    background-size: 100%;
}

.stack-vue {
    background: url('../images/stack/vue.svg') no-repeat center center;
    background-size: 100%;
}

.stack-react {
    background: url('../images/stack/react.svg') no-repeat center center;
    background-size: 100%;
}

.stack-bootstrap {
    background: url('../images/stack/boostrap.svg') no-repeat center center;
    background-size: 100%;
}

.stack-sass {
    background: url('../images/stack/sass.svg') no-repeat center center;
    background-size: 100%;
}

.stack-laravel {
    background: url('../images/stack/laravel.svg') no-repeat center center;
    background-size: 100%;
}

.stack-node {
    background: url('../images/stack/node.svg') no-repeat center center;
    background-size: 100%;
}

.stack-aws {
    background: url('../images/stack/aws.svg') no-repeat center center;
    background-size: 100%;
}

.stack-doc {
    background: url('../images/stack/doc.svg') no-repeat center center;
    background-size: 100%;
}

.stack-gitlab {
    background: url('../images/stack/gitlab.svg') no-repeat center center;
    background-size: 100%;
}


.stack-ionic {
    background: url('../images/stack/logo-ionic.svg') no-repeat center center;
    background-size: 100%;
}

.mail-sent {
    width: 80px;
    height: 80px;
    margin: 0 auto;
    background: url('../images/mail-sent.svg') no-repeat center center;
    background-size: 100%;
}

.error {
    width: 80px;
    height: 80px;
    margin: 0 auto;
    background: url('../images/error.svg') no-repeat center center;
    background-size: 100%;
}

.modal-dialog .modal-content {
    color: #000;
    border:0;
}
#ThankYouModal .modal-dialog .modal-content, #ErrorModal.modal-dialog .modal-content {
    color: #000;
    border:0;
    text-align: center;
} 

.modal-dialog .social li a {
    text-decoration: none;
    color: #000;
    transition: all .5s ease;
    font-size: 30px;
}

.modal-dialog .social li a:hover {
    text-decoration: none;
    color: #7c7c7c;
}

.modal-btn {
    background: #000;
    color: #fff;
    border: 0;
    border-radius: 10px;
    outline: 0;
    height: 50px;
    line-height: 50px;
    width: 100%;
    transition: all .5s ease;
}

.modal-btn:hover {
    background: #7c7c7c;
    color: #000;
}

.modal-content a {
    color: #000;
    text-decoration: none;
    transition: all .5s ease;
}

.modal-content a:hover {
    color: #797979!important;
}

.error-msg {
    color: yellow;
}

.mode-toggle {
    position: fixed;
    width: 40px;
    height: 40px;
    top: 50%;
    transform: translateY(-50%);
    padding: 10px 0;
    transition: all .3s;
    cursor: pointer;
    z-index: 9999;
}

.mode-toggle-dark {
    width: 20px;
    height: 20px;
    background: url(../images/moon.svg) no-repeat center center;
    background-size: 100%;
    margin: 0 auto;
    transition: all .3s;
}

.mode-toggle-light {
    width: 20px;
    height: 20px;
    background: url(../images/sun.svg) no-repeat center center;
    background-size: 100%;
    margin: 0 auto;
    transition: all .3s;
}

.light-mode .mode-toggle {
    background: #fff;
    box-shadow: 3px 3px 5px #ababab;
}

.dark-mode .mode-toggle {
    background: #000;
    box-shadow: 3px 3px 5px #323232;
}

.light-mode,
.dark-mode {
    transition: all .3s;
}

body.dark-mode {
    background: #121212;
    transition: .5s ease;
    color: #ababab!important;
}

.dark-mode .hero {
    background-color: #121212;
    transition: .5s ease;
}

.dark-mode .square {
    background-color: #1f1f1f!important;
    color: #ababab!important;
    transition: .5s ease;
}

.dark-mode .background-text {
    color: #1f1f1f!important;
    transition: .5s ease;
}

.dark-mode .mousey {
    width: 3px;
    padding: 4px 12px;
    height: 30px;
    border: 2px solid #ababab!important;
    border-radius: 25px;
    box-sizing: content-box;
}

.dark-mode .scroller {
    width: 3px;
    height: 10px;
    border-radius: 25%;
    background-color: #ababab!important;
    animation-name: scroll;
    animation-duration: 1s;
    animation-timing-function: cubic-bezier(.15, .41, .69, .94);
    animation-iteration-count: infinite;
}

.dark-mode .ticker-solid {
    color: #ababab!important;
    transition: .5s ease;
}

.dark-mode .ticker-outline {
    color: #121212;
    -webkit-text-stroke: 0.5px #ababab;
    transition: .5s ease;
}

.dark-mode .slick-prev,
.dark-mode .slick-next {
    background-color: #ababab!important;
    transition: .5s ease;
}

.dark-mode input {
    background: #121212!important;
    color: #ababab;
    transition: .5s ease;
}

.dark-mode .send-btn {
    background: #ababab!important;
    transition: .5s ease;
}

.dark-mode .social li a {
    text-decoration: none;
    color: #ababab;
    transition: .5s ease;
}

.dark-mode .social li a:hover {
    text-decoration: none;
    color: #797979;
}


.dark-mode .stack-angular {
    background: url('../images/stack/angular-dark.svg') no-repeat center center;
    background-size: 100%;
}

.dark-mode .stack-vue {
    background: url('../images/stack/vue-dark.svg') no-repeat center center;
    background-size: 100%;
}

.dark-mode .stack-react {
    background: url('../images/stack/react-dark.svg') no-repeat center center;
    background-size: 100%;
}

.dark-mode .stack-bootstrap {
    background: url('../images/stack/boostrap-dark.svg') no-repeat center center;
    background-size: 100%;
}

.dark-mode .stack-sass {
    background: url('../images/stack/sass-dark.svg') no-repeat center center;
    background-size: 100%;
}

.dark-mode .stack-laravel {
    background: url('../images/stack/laravel-dark.svg') no-repeat center center;
    background-size: 100%;
}

.dark-mode .stack-node {
    background: url('../images/stack/node-dark.svg') no-repeat center center;
    background-size: 100%;
}

.dark-mode .stack-aws {
    background: url('../images/stack/aws-dark.svg') no-repeat center center;
    background-size: 100%;
}

.dark-mode .stack-doc {
    background: url('../images/stack/doc-dark.svg') no-repeat center center;
    background-size: 100%;
}

.dark-mode .stack-gitlab {
    background: url('../images/stack/gitlab-dark.svg') no-repeat center center;
    background-size: 100%;
}
.dark-mode .stack-ionic {
    background: url('../images/stack/logo-ionic-dark.svg') no-repeat center center;
    background-size: 100%;
}
.dark-mode .toggle input+div div span:before,
.dark-mode .toggle input+div div span:after {
    content: '';
    display: block;
    width: 47%;
    height: 2px;
    border-radius: 1px;
    background: #ababab;
    position: absolute;
    -webkit-backface-visibility: hidden;
    -webkit-transition: border-radius .3s ease, background .4s ease, -webkit-transform .5s ease;
    transition: border-radius .3s ease, background .4s ease, -webkit-transform .5s ease;
    transition: transform .5s ease, border-radius .3s ease, background .4s ease;
    transition: transform .5s ease, border-radius .3s ease, background .4s ease, -webkit-transform .5s ease;
}

.dark-mode .toggle input+div div span:before {
    left: 0;
    -webkit-transform-origin: 0 50%;
    transform-origin: 0 50%;
    -webkit-transform: translate(1px, 0) scaleX(1.1);
    transform: translate(1px, 0) scaleX(1.1);
}

.dark-mode .toggle input+div div span:after {
    right: 0;
    -webkit-transform-origin: 100% 50%;
    transform-origin: 100% 50%;
    -webkit-transform: translate(-1px, 0) scaleX(1.1);
    transform: translate(-1px, 0) scaleX(1.1);
}

.dark-mode .toggle input+div svg {
    display: block;
    fill: none;
    stroke: #ababab;
    stroke-width: 2px;
    width: 44px;
    height: 44px;
    stroke-linecap: round;
    position: absolute;
    left: 50%;
    top: 50%;
    margin: -22px 0 0 -22px;
    stroke-dasharray: 0 82.801 8 82.801;
    stroke-dashoffset: 82.801;
    -webkit-transform-origin: 50% 50%;
    transform-origin: 50% 50%;
    -webkit-backface-visibility: hidden;
    -webkit-transform: scale(1);
    transform: scale(1);
    -webkit-transition: stroke-dashoffset .5s ease, stroke-dasharray .6s ease, stroke .4s ease, -webkit-transform .5s ease;
    transition: stroke-dashoffset .5s ease, stroke-dasharray .6s ease, stroke .4s ease, -webkit-transform .5s ease;
    transition: stroke-dashoffset .5s ease, stroke-dasharray .6s ease, transform .5s ease, stroke .4s ease;
    transition: stroke-dashoffset .5s ease, stroke-dasharray .6s ease, transform .5s ease, stroke .4s ease, -webkit-transform .5s ease;
}

.dark-mode .toggle input+div svg:nth-child(3) {
    -webkit-transform: rotate(180deg) scale(1);
    transform: rotate(180deg) scale(1);
}

.dark-mode .toggle input:checked+div div {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
}

.dark-mode .toggle input:checked+div div span:before,
.dark-mode .toggle input:checked+div div span:after {
    background: #ababab;
}

.dark-mode .toggle input:checked+div div span:first-child:before {
    -webkit-transform: rotate(45deg) translate(2.2px, -3px) scaleX(1.05);
    transform: rotate(45deg) translate(2.2px, -3px) scaleX(1.05);
}

.dark-mode .toggle input:checked+div div span:first-child:after {
    -webkit-transform: rotate(-45deg) translate(-2.2px, -3px) scaleX(1.05);
    transform: rotate(-45deg) translate(-2.2px, -3px) scaleX(1.05);
}

.dark-mode .toggle input:checked+div div span:last-child:before {
    -webkit-transform: rotate(-45deg) translate(2.2px, 3px) scaleX(1.05);
    transform: rotate(-45deg) translate(2.2px, 3px) scaleX(1.05);
}

.dark-mode .toggle input:checked+div div span:last-child:after {
    -webkit-transform: rotate(45deg) translate(-2.2px, 3px) scaleX(1.05);
    transform: rotate(45deg) translate(-2.2px, 3px) scaleX(1.05);
}

.dark-mode .toggle input:checked+div svg {
    stroke-dashoffset: 62;
    stroke-dasharray: 0 82.801 62 82.801;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    stroke: #ababab;
}

.dark-mode .toggle input:checked+div svg:nth-child(3) {
    -webkit-transform: rotate(270deg);
    transform: rotate(270deg);
}

.dark-mode .brand-logo {
    background: url(../images/logo-light.svg)no-repeat center center;
    background-size: 100%;
    transition: .5s ease;
}

.dark-mode .brand-logo-white {
    background: url(../images/logo-light.svg)no-repeat center center;
    background-size: 100%;
    transition: .5s ease;
}

.dark-mode .custom-modal .modal-content {
    background-color: #121212!important;
}
.dark-mode .pf-modal .modal-content {
    background-color: #121212!important;
    transition: .5s ease;
}
.dark-mode .modal-dialog .modal-content,
.dark-mode .modal-dialog .modal-content a {
    color: #ababab!important;
}

.dark-mode .modal-dialog .modal-content a:hover {
    color: #797979!important;
}

.dark-mode .pf-see-more {
    background: url('../images/zoom-in-black.svg')no-repeat center center;
    background-color: #ababab;
    background-size: 40%;
}

.dark-mode .close-modal {
    width: 50px;
    height: 50px;
    margin: 10px auto;
    border-radius: 50px;
    background: url('../images/zoom-out-black.svg')no-repeat center center;
    background-color: #ababab;
    background-size: 40%;
}

.section {
    overflow-x: hidden;
}

@media only screen and (max-width: 576px) {
    .square {
        position: relative;
        width: 100%;
        background-color: black;
        color: #fff!important;
    }
    .square:after {
        content: "";
        display: block;
        padding-bottom: 100%!important;
    }
    .square-height,
    .square-height-2 {
        height: 100%!important;
    }
    .content {
        position: absolute;
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;
        padding: 25px;
    }
    .web-design .content-middle,
    .app-design .content-middle,
    .custom-design .content-middle {
        top: 20px!important;
        transform: none!important
    }
}

@media only screen and (max-width: 768px) {
    .contact-content a {
    font-size: 20px;
    color: inherit;
    text-decoration: none;
    transition: all .3s ease;
}
.hero-heading {
    font-size: 40px;
    line-height: 48px;
    text-align: left;
    font-family: 'AndersonGrotesk-Ultra';
}
.abt-big {
    font-size: 2rem;
    font-family: 'AndersonGrotesk-Ultra';
}
}

@media (max-width: 992px) {
    .t-25{
        top:0;
    }
    .foreground-text {
        font-size: 24px;
        position: relative;
        padding: 0 15px;
        line-height: 26px;
        margin:10px 0;
        text-align: center;
    }
    .background-text {
        font-size: 46px;
        line-height: 50px;
        padding: 0;
        text-align: center;
        color: #000;
    }
    .subheading{
        text-align: center;
    }
    .square {
        position: relative;
        width: 100%;
        background-color: black;
        color: #fff!important;
    }
    .square-height {
        height: 240px;
    }
    .square-height-2 {
        height: 330px;
    }
    .square:after {
        content: "";
        display: block;
        padding-bottom: 0;
    }
    .content {
        position: absolute;
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;
        padding: 15px;
    }
    .content-middle {
        top: 50%!important;
        transform: translateY(-50%)!important;
        height: max-content;
    }
    
}

@media only screen and (min-width: 1024px) {
    .square {
        position: relative;
        width: 100%;
        background-color: black;
        color: #fff!important;
    }
    .square:after {
        content: "";
        display: block;
        padding-bottom: 100%;
    }
    .content {
        position: absolute;
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;
        padding: 25px;
    }
}

@media only screen and (min-width:1024px) and (max-width: 1199px) {
    .background-text {
        font-size: 120px;
    }
    body {
        font-size: 14px;
    }
    .contact-content h2 {
        font-size: 20px;
    }
    .contact-content a {
        font-size: 18px;
    }
    .input {
        height: 40px!important;
    }
    .send-btn {
        background: #fff;
        border: 0;
        border-radius: 10px;
        outline: 0;
        height: 40px;
        line-height: 40px;
        width: 100%;
    }
    .hero-heading {
        font-size: 40px;
        line-height: 48px;
        text-align: left;
        font-family: 'AndersonGrotesk-Ultra';
    }
    .abt-big {
        font-size: 2.5rem;
        font-family: 'AndersonGrotesk-Ultra';
    }
}
@media(min-width: 768px) and (max-width: 992px){
    .web-design {
    background: url(../images/web-bg.png)no-repeat bottom right;
    background-size: 50%;
    background-color: #000;
}
.app-design {
    background: url(../images/app-bg.png)no-repeat bottom right;
    background-size: 50%;
    background-color: #000;
}

.custom-design {
    background: url(../images/custom-bg.png)no-repeat bottom right;
    background-size: 50%;
    background-color: #000;
}
}
@media screen and (min-width: 1920px){

    .stack-logo {
        width: 100px;
        height: 100px;
        margin: 0 40px;
        background: red;
    } 
    .stack-angular {
        background: url('../images/stack/angular.svg') no-repeat center center;
        background-size: 100%;
    }
    
    .stack-vue {
        background: url('../images/stack/vue.svg') no-repeat center center;
        background-size: 100%;
    }
    
    .stack-react {
        background: url('../images/stack/react.svg') no-repeat center center;
        background-size: 100%;
    }
    
    .stack-bootstrap {
        background: url('../images/stack/boostrap.svg') no-repeat center center;
        background-size: 100%;
    }
    
    .stack-sass {
        background: url('../images/stack/sass.svg') no-repeat center center;
        background-size: 100%;
    }
    
    .stack-laravel {
        background: url('../images/stack/laravel.svg') no-repeat center center;
        background-size: 100%;
    }
    
    .stack-node {
        background: url('../images/stack/node.svg') no-repeat center center;
        background-size: 100%;
    }
    
    .stack-aws {
        background: url('../images/stack/aws.svg') no-repeat center center;
        background-size: 100%;
    }
    
    .stack-doc {
        background: url('../images/stack/doc.svg') no-repeat center center;
        background-size: 100%;
    }
    
    .stack-gitlab {
        background: url('../images/stack/gitlab.svg') no-repeat center center;
        background-size: 100%;
    }
    
    
    .stack-ionic {
        background: url('../images/stack/logo-ionic.svg') no-repeat center center;
        background-size: 100%;
    }

    .carouselTicker-item h3 {
        font-size: 4rem;
        font-family: 'AndersonGrotesk-Ultra';
        margin: 0 40px;
    }

}
.country {
    float: right;
    display: inline;
}
.country a{
    float: left;
    display: inline-block;
    margin: 0 3px;
}
.my{
    width: 40px;
    height: 40px;
    background: url('../images/myflag.png') no-repeat center center;
    background-size: 105%;
    border-radius: 40px;
    border:2px solid #000;
    transition: all .5s;
}
.sg{
    width: 40px;
    height: 40px;
    background: url('../images/sgflag.png') no-repeat center center;
    background-size: 115%;
    border-radius: 40px;
    border:2px solid #fff;
    transition: all .5s;
}
.sg:hover, .my:hover{
    border:2px solid #000; 
}

.dark-mode .my{
    border:2px solid #fff!important;
}
.dark-mode .sg{
    border:2px solid #121212!important;
}
.dark-mode .sg:hover, .dark-mode .my:hover{
    border:2px solid #fff!important; 
}