html, body, #main {
    height: 100%;
}
body {
    /* height: 100%; */
}
html, body, p, div, li {
	font-family: Helvetica, Arial, sans-serif;
	letter-spacing: 0;
}
body, button, input, textarea {
	font-family: Arial, sans-serif;
	-webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-tap-highlight-color: transparent;
}
img,
img:focus,
div:focus,
a:focus,
a:active:focus,
a:active,
button:focus,
button:active:focus,
button:active,
button::-moz-focus-inner {
    outline: none !important;
    outline-style: none;
    -moz-outline-style: none;
    box-shadow: none !important;
}
*:focus {
    outline: none !important;
    box-shadow: none !important;
}

/************************
* NAVBAR
************************/

.navbar {
    background-color: #eeeeee !important;
}
.navbar-nav {
    margin-top: 16px;
    letter-spacing: 0;
}
.navbar-brand img {
    height: 30px;
    width: auto;
}
.nav-link:hover {
    color: #000000 !important;
    -webkit-transition: all .3s ease-out;
    -moz-transition: all .3s ease-out;
    -o-transition: all .3s ease-out;
    transition: all .3s ease-out;
}
.nav-link.active {
    color: #75d5ff !important;
    -webkit-transition: all .3s ease-out;
    -moz-transition: all .3s ease-out;
    -o-transition: all .3s ease-out;
    transition: all .3s ease-out;
}
.navbar-light .navbar-toggler {
    border: 0;
}
.navbar-light .navbar-toggler[aria-expanded=true] .navbar-toggler-icon {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg fill='rgba(0, 0, 0, 0.5)' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none'/%3E%3Cpath d='M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z'/%3E%3C/svg%3E");
    background-size: 34px 34px;
}
.section {
    overflow-x: hidden;
}

@media (min-width:992px) {
    .navbar {
        padding-left: 60px;
        padding-right: 40px;
    }
    .navbar-brand {
        padding: 20px 0;
    }
    .navbar-brand img {
        height: 44px;
    }
    .navbar-nav {
        font-size: 1.2rem;
        letter-spacing: -0.5px;
    }
    .navbar-expand-lg .navbar-nav .nav-link {
        padding-left: 20px;
        padding-right: 20px;
    }
}
@media (max-width:991.99px) {
    .navbar-brand {
        padding-left: .8rem;
    }
    .navbar-brand img {
        padding-bottom: 5px;
    }
    .navbar-collapse {
        margin-left: 0.8rem;
        margin-right: 0.8rem;
    }
    .navbar-collapse .nav-item {
        font-size: 1.15rem !important;
        padding: 0.35rem;
        border-top: 1px solid #e3e3e3;
        text-align: center;
    }
}

/************************
* HOME
************************/

.section-home {
    /* margin-top: 100px; */
    /* margin-left: 120px; */
    /* height: calc(100% - 100px); */
    height: 100vh;
    overflow: hidden;
}
.parallax {
    z-index: -2;
    /* height: 100vh; */
    width: 100%;
    position: fixed;
    top: 100px;
    left: 0;
}
.parallax-mask {
    background: none;
    width: calc(100% - 120px);
    /* height: calc(100% - 100px); */
    height: 100vh;
    margin-left: auto;
}
.overlay {
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,0.5);
}
.socmed-line {
    width: 5px;
    height: 100%;
    border-left: 2px solid #ccc;
    position: absolute;
    z-index: 6;
    top: 0;
    left: 60px;
}
.socmed-icon {
    width: 24px;
    margin-left: -12px;
    padding-top: 20px;
    padding-bottom: 20px;
    position: absolute;
    z-index: 8;
    bottom: 0;
    left: 60px;
    background-color: #fff;
}
.socmed-icon img {
    width: 100%;
    height: auto;
    padding: 15px 0;
}
.navigation {
    width: 260px;
    min-height: 170px;
    padding: 30px 60px 20px;
    background-color: #f6f6f6;
    position: absolute;
    z-index: 9;
    top: 100px;
    left: 0;
    border-bottom-right-radius: 100px;
    font-weight: bold;
}
.navigation .current {
    width: 120px;
    font-size: 4rem;
    line-height: 2rem;
    color: #75d5ff;
}
.navigation .total {
    width: 120px;
    font-size: 1.5rem;
    text-align: right;
    color: #777;
}
.navigation .arrows {
    width: 120px;
    margin-top: 10px;
    display: flex;
    justify-content: space-between;
}
.arrows .arrow {
    padding: 15px 0;
    color: #ccc;
}
.arrows .arrow svg {
    fill: currentColor;
}
.arrows .arrow.active {
    color: #75d5ff;
}

@media (max-width:991.99px) {
    .section-home {
        margin-left: 0;
    }
    .parallax {
        top: 57px;
    }
    .parallax-mask {
        width: calc(100%);
        height: calc(100vh - 57px);
        margin-top: 57px;
        margin-left: 0;
    }
    .parallax-mask .navigation, .socmed-line, .socmed-icon {
        display: none;
    }
}

/************************
* ABOUT
************************/

.section-about {
    min-height: calc(100vh - 100px);
    background-image: linear-gradient(#ffffff, #f6f6f6);
}
.col-left {
    padding-left: 0;
}
.col-left h1 {
    font-size: 16rem;
    font-weight: bold;
    color:  #f3f3f3;
}
.left-content {
    padding: 0 60px;
}
.section-about .left-content {
    padding-right: 100px;
    margin-top: -15px;
}
.left-content h2 {
    font-size: 3rem;
    font-weight: bold;
    letter-spacing: -1px;
}
.left-content p {
    font-size: 1.25rem;
    line-height: 150%;
} 
.col-left .btn.btn-primary {
    color: #333;
    border-radius: 100px;
    padding: .5rem 3rem;
    background-color: #75d5ff;
    border-color: #75d5ff;
}
.section-about .col-right {
    height: 75vh;
    background: url('img/about.jpg') bottom left no-repeat;
    border-bottom-left-radius: 160px;
    background-size: cover;
}
@media (max-width:1599.99px) {
    .col-left h1 {
        font-size: 13rem;
    }
    .section-about .left-content {
        padding-right: 60px;
        margin-top: -30px;
    }
    .section-about .left-content p {
        font-size: 1.1rem;
    }
}
@media (max-width:1439.99px) {
    .col-left h1 {
        font-size: 12rem;
    }
    .section-about .left-content {
        padding-right: 60px;
        margin-top: -100px;
    }
    .section-about .left-content p {
        font-size: 1rem;
    }
}
@media (max-width:991.99px) {
    .section-about {
        height: initial;
        min-height: initial;
        padding: 30px 0;
    }
    .col-left h1 {
        font-size: 8rem;
    }
    .left-content {
        width: 100%;
        padding: 0 30px;
    }
    .section-about .left-content {
        padding-right: 30px;
        margin-top: 0;
    }
    .section-about .col-right {
        display: none;
    }
}
@media (max-width:575.99px) {
    .col-left h1 {
        font-size: 8rem;
    }
    .left-content h2 {
        font-size: 2rem;
    }
    .left-content p {
        font-size: 1rem;
    }
}
@media (max-width:360px) {
    .col-left h1 {
        font-size: 7rem;
    }
}

/************************
* SERVICE
************************/

.section-service, .section-service .container-fluid, .service {
    min-height: calc(100vh - 100px);
    background: #fff;
    overflow: hidden;
}
.section-service h1 {
    display: none;
}
.s-creative {
    background: url('img/s-creative.jpg') center center no-repeat;
}
.s-media {
    background: url('img/s-media.jpg') center center no-repeat;
}
.s-tech {
    background: url('img/s-tech.jpg') center center no-repeat;
}
.service {
    background-size: 100% 100%;
    padding: 0;
    margin: 0;
    border: 0;
    outline: none;
    border-radius: 0;
    transition: all 4s ease-in-out;
}
.service:hover {
    cursor: pointer;
    background-size: 120% 120%;
    transition: all 4s ease-in-out;
}

.service-content {
    width: 100%;
    height: 100%;
    padding: 60px;
    background-color: rgba(255,255,255,0);
    transition: all 0.6s ease-out;
    -webkit-transform: all 0.6s ease-out;
    -moz-transform: all 0.6s ease-out;
    -ms-transform: all 0.6s ease-out;
}
.service-content:hover {
    background-color: rgba(255,255,255,0.5);
    transition: all 0.6s ease-out;
    -webkit-transform: all 0.6s ease-out;
    -moz-transform: all 0.6s ease-out;
    -ms-transform: all 0.6s ease-out;
}
.service-content h2 {
    width: 400px;
    height: 64px;
    color: #58595B;
    text-transform: uppercase;
    font-size: 3rem;
    font-weight: bold;
    letter-spacing: 1px;
    text-align: left;
    transform: rotate(-90deg);
    transform-origin: 100% 100%;
    -webkit-transform: rotate(-90deg);
    -webkit-transform-origin: 100% 100%;
    -moz-transform: rotate(-90deg);
    -moz-transform-origin: 100% 100%;
    -ms-transform: rotate(-90deg);
    -ms-transform-origin: 100% 100%;
    -o-transform: rotate(-90deg);
    -o-transform-origin: 100% 100%;
    filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);
    position: absolute;
    left: -270px;
    bottom: 460px;
    transition: all 0.6s ease-out;
    -webkit-transform: all 0.6s ease-out;
    -moz-transform: all 0.6s ease-out;
    -ms-transform: all 0.6s ease-out;
    -o-transform: all 0.6s ease-out;
}
.service:hover .service-content h2 {
    /*transform: rotate(0);
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0);
    left: calc(50% - 200px);
    top: calc(50% - 150px);
    text-align: center;*/
    bottom: 0;
    opacity: 0;
    transition: all 0.6s ease-out;
    -webkit-transform: all 0.6s ease-out;
    -moz-transform: all 0.6s ease-out;
    -ms-transform: all 0.6s ease-out;
    -o-transform: all 0.6s ease-out;
}
.service-content p {
    font-size: 1.2rem;
    text-align: center;
    color: #3c3c3b;
    opacity: 1;
    transform: translate(0);
    transition: all 0.6s ease-in-out;
    overflow: hidden;
}
.service:hover .service-content p {
    opacity: 0;
    transform: translateY(-100px);
	transition: all 0.6s ease-in-out;
}
.service-zoom {
    position: absolute;
    left: calc(50% - 30px);
    top: calc(50% - 30px);
    width: 60px;
    height: 60px;
    opacity: 0;
    padding: 30px;
    border: 2px solid #333;
    border-radius: 50%;
    transition: all 0.6s ease-in-out;
}
.service:hover .service-zoom {
    left: calc(50% - 50px);
    width: 100px;
    height: 100px;
    opacity: 0.5;
    transition: all 0.6s ease-in-out;
}
.service-content h3 {
    position: absolute;
    left: calc(50% - 125px);
    top: calc(50% - 100px);
    width: 250px;
    font-weight: bold;
    text-transform: uppercase;
    color: rgba(0,0,0,0);
    transition: all 0.6s ease-in-out;
}
.service-content:hover h3 {
    left: calc(50% - 125px);
    top: calc(50% - 140px);
    width: 250px;
    color: rgba(0,0,0,0.5);
    transition: all 0.6s ease-in-out;
}
.service-popup {
    position: fixed;
    top: 0;
    z-index: 9999;
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,0.9);
    color: #fff;
    overflow: hidden;
}
.service-popup-content {
    width: 100%;
    height: 100%;
    text-align: left;
    padding: 30px;
    margin: auto;
    overflow-y: scroll;
}
.service-popup-content h3 {
    width: 100%;
    text-align: left;
    font-weight: bold;
}
.service-popup-img {
    width: 100%;
    padding-bottom: 30px;
}
.service-popup-img img {
    width: 100%;
    height: auto;
}
.btn-popup-close {
    width: 30px;
    height: 30px;
    position: absolute;
    top: 15px;
    right: 15px;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg fill='rgba(255, 255, 255, 1)' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none'/%3E%3Cpath d='M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z'/%3E%3C/svg%3E");
    background-size: 34px 34px;
}
@media (max-width:1599.99px) {
    .service-content {
        padding: 45px 60px;
    }
    .service-content h2 {
        width: 360px;
        font-size: 2.5rem;
        left: -250px;
        bottom: 400px;
    }
    .service-content p {
        font-size: 1rem;
    }
}
@media (max-width:1439.99px) {
    .service-content {
        padding: 45px;
    }
}
@media (max-width:991.99px) {
    .section-service, .section-service .container-fluid, .service {
        min-height: calc(100vh - 57px);
    }
    .service {
        /*border-bottom: 1px solid #333;*/
    }
    .service-content {
        padding: 30px;
    }
    .service-content h2 {
        left: -260px;
        bottom: 400px;
    }
    .service-zoom {
        width: 100px;
        height: 100px;
        left: calc(50% - 50px);
        /*opacity: 0.5;*/
        /*padding: 15px;*/
    }
    .service:hover .service-zoom {
        /*padding: 30px;*/
    }
    .service-popup-content h3 {
        font-size: 1.2rem;
    }
    .service-popup-content p {
        font-size: 0.75rem;
    }
}

/************************
* TECHNOLOGY
************************/

.section-tech {
    min-height: calc(100% - 100px);
    padding-top: 30px;
    background-image: linear-gradient(#ffffff, #f6f6f6);
    border-bottom: 1px solid #eeeeee;
}
.section-tect .container-fluid {
    height: 100%;
}
.section-tech .col-left h1 {
    font-size: 11rem;
}
.section-tech .col-right {
    height: calc(100vh - 100px);
    background-size: contain;
}
.section-tech .navigation {
    position: relative;
    top: 0;
    margin-bottom: 30px;
    background-color: transparent;
}
.video-overlay {
    position: fixed;
    top: 0;
    z-index: 9999;
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,0.8);
}
.btn-video-close {
    color: #fff;
    border-color: #fff;
    border-radius: 50px;
    background-color: rgba(0,0,0,0.3);
    padding: .5rem 2rem;
    margin-top: 30px;
}
.btn-video-close:hover {
    color: #75d5ff;
    border-color: #75d5ff;
}

@media (max-width:1599.99px) {
    .section-tech .col-left h1 {
        font-size: 8rem;
    }
}
@media (max-width:1439.99px) {
    .section-tech .col-left h1 {
        font-size: 7rem;
    }
}
@media (max-width:991.99px) {
    .section-tech {
        height: initial;
        min-height: initial;
    }
    .section-tech .col-right {
        height: calc(100% - 57px);
        width: 100%;
    }
    .section-tech .col-left h1 {
        font-size: 6rem;
    }
    .section-tech .navigation {
        display: block;
        padding: 0 30px;
        margin-bottom: 0;
    }
}
@media (max-width:575.99px) {
    .section-tech .col-left h1 {
        font-size: 4.2rem;
    }
    .section-tech .col-right {
        height: 100vw;
    }
}
@media (max-width:360px) {
    .section-tech .col-left h1 {
        font-size: 3.6rem;
    }
}

/************************
* CLIENT
************************/

.section-client {
    background-color: #fff;
}
.section-client, .section-client .col-lg-6 {
    min-height: calc(100vh - 100px);
}
.section-client .col-lg-6 {
    padding-left: 0;
    padding-right: 0;
}
.section-client h1 {
    font-size: 12rem;
    font-weight: bold;
    color:  #f3f3f3;
}
.content-client {
    padding: 0 60px;
}
.section-client .col-lg-6 p.lead {
    text-align: center;
    font-size: 1.5rem;
    line-height: 150%;
}
.clients {
    padding: 0 30px;
    margin-left: -30px;
    align-items: center;
}
.client {
    padding: 30px 70px;
}
.client img {
    width: 100%;
    height: auto;
}

.col-testimony {
    background-color: #f6f6f6;
    text-align: center;
}
.col-testimony h1 {
    color: #e9e9e9;
}
.slider-testimony {
    margin-top: 0;
    min-height: 450px;
}
.content-testimony {
    width: 100%;
    text-align: center;
    min-height: 450px;
    overflow: visible;
    padding: 0 1px;
}
.testimony-wrapper {
    border: 1px solid #ddd;
    background: rgba(255,255,255, 0.5);
    border-radius: 15px;
    padding: 30px;
}
.content-testimony p.testimony {
    font-size: 1.5rem;
    margin-bottom: 45px;
}
.content-testimony p.lead {
    font-size: 1.2rem !important;
    font-weight: bold;
    margin-bottom: 0;
}
.content-testimony p.lead-title {
    color: #666;
    font-size: 1.2rem;
}
.slider-control {
    padding: 0;
}
.slider-control .btn {
    color: #ccc;
}
.slider-control .btn:hover {
    color: #75d5ff;
}
.slider-control .btn.previous svg {
    margin-left: 6px;
}

@media (max-width:1599.99px) {
    .section-client h1 {
        padding-top: 30px;
        font-size: 9rem;
    }
    .client {
        padding: 30px 45px;
    }
    .content-testimony p.testimony {
        font-size: 1.1rem;
    }
}
@media (max-width:1439.99px) {
    .section-client h1 {
        padding-top: 0;
        font-size: 8rem;
    }
    .clients {
        padding: 0;
    }
    .client {
        padding: 20px 45px;
    }
    .content-testimony p.testimony {
        font-size: 1rem;
    }
}
@media (max-width:991.99px) {
    .section-client, .section-client .col-lg-6 {
        min-height: initial;
    }
    .section-client .col-lg-6 {
        padding-bottom: 30px;
    }
    .slider-testimony {
        margin-top: 0;
    }
}
@media (max-width:575.99px) {
    .col-client {
        margin: 0;
    }
    .client {
        padding: 15px;
    }
    .col-testimony h1 {
        font-size: 5rem;
    }
    .content-testimony {
        font-size: 1rem;
    }
    .slider-testimony {
        padding: 0 15px;
    }
    .testimony-wrapper {
        padding: 30px 15px;
    }
    .content-testimony p.testimony {
        margin-bottom: 20px;
    }
    .content-testimony p.lead {
        font-size: 1rem !important;
    }
    .content-testimony p.lead-title {
        font-size: 0.85rem;
        margin-bottom: 0;
    }
    .slider-control {
        padding: 0;
    }
    .slider-control .btn {
        width: 24px;
        padding-left: 0;
        padding-right: 0;
    }
    .slider-control .btn.next {
        margin-left: -2px;
    }
}

/************************
* FOOTER
************************/

footer {
    padding-left: 60px;
    padding-right: 60px;
    background-color: #75d5ff;
    color: #333;
    font-size: .9rem;
    line-height: 150%;
}
.footer-logo {
    height: 32px;
    width: auto;
    margin: 15px 0;
}
footer .lead {
    font-size: 1rem;
    font-weight: normal;
}
footer a {
    color: #333 !important;
}

/************************
* HOME SLIDES
************************/

#container-slides {
	position: absolute;
	width: calc(100% - 120px);
    /* height: calc(100% - 100px); */
    height: 100%;
    overflow: hidden;
    margin: 0 0 0 120px;
    padding: 0;
}
#slides {
	position: relative;
	width: 100%;
    height: 100%;
    padding: 0;
    margin: 0;
    /*background-color: #f9f9f9;*/
    /*background-color: rgba(255,163,164,.2);*/
    /*background-color: rgba(25,118,210,.1);*/
    background: linear-gradient(0, rgba(25,118,210,.1) 0%, rgba(255,0,102,.1) 100%);
    /*background: linear-gradient(135deg, rgba(255,0,102,.3) 0%, rgba(25,118,210,.3) 100%);*/
}
#slides .slide {
	position: absolute;
	display: flex;
	width: 100%;
    height: 100%;
}
#slides .slide .title {
    position: absolute;
    width: 500px;
	top: calc(50% - 120px);
	right: 60px;
	z-index: 2;
	padding-top: 5px;
	font-family: 'Nunito Sans', Helvetica, Arial, sans-serif;
    font-size: 2.5rem;
    font-weight: 700;
    line-height: 150%;
	color: #58595B;
    overflow: hidden;
}
@media (max-width:1439.99px) {
    #slides .slide .title {
        width: 400px;
        font-size: 2rem;
    }
}
@media (max-width:991.99px) {
    #container-slides {
        width: 100%;
        height: calc(100vh - 57px);
        margin: 0;
    }
    #slides .slide .title {
        width: 100%;
        font-size: 1.375rem;
        line-height: 130%;
        top: initial;
        right: 0;
        bottom: 57px;
        padding: 30px 45px;
        text-align: center;
        margin-bottom: 0;
    }
}
#slides .slide .title .title-text {
	display: block;
	transform: translateY(240px);
	transition: transform 1s ease-in-out;
}
#slides .slide .slide-partial {
	position: absolute;
	width: 100%;
	/*height: 100%;*/
     height: calc(100% - 100px); 
	overflow: hidden;
	transition: transform 1s ease-in-out;
}
#slides .slide .slide-partial img {
	position: absolute;
	z-index: 1;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 1s ease-in-out;
}
#slides .slide .slide-left {
	top: 0;
	left: 0;
	transform: translateX(-100%);
}
#slides .slide .slide-left img {
	top: 0;
	right: 0;
	object-position: 100% 50%;
	transform: translateX(50%);
}
#slides .slide .slide-right {
	top: 0;
	right: 0;
	transform: translateX(100%);
	transition-delay: 0.2s;
}
#slides .slide .slide-right img {
	top: 0;
	left: 0;
	object-position: 0% 50%;
	transition-delay: 0.2s;
	transform: translateX(-50%);
}
#slides .slide.active .title .title-text {
	transform: translate(0);
	transition-delay: 0.3s;
}
#slides .slide.active .slide-partial, #slides .slide.active .slide-partial img {
	transform: translateX(0);
}
.navigation .btn-slide {
    width: 42px;
    height: 56px;
    padding: 0;
}
.navigation .btn-slide.previous {
    background: url(img/arrow-left.svg) center center no-repeat;
}
.navigation .btn-slide.next {
    background: url(img/arrow-right-on.svg) center center no-repeat;
}
.navigation .btn-slide.previous:hover {
    background: url(img/arrow-left-on.svg) center center no-repeat;
}
.navigation .btn-slide.next:hover {
    background: url(img/arrow-right-on.svg) center center no-repeat;
}

@media (max-width:991.99px) {
    #slides .slide .slide-partial {
        height: 100%;
    }
    .mobile-control {
        width: 100%;
        position: absolute;
        z-index: 99;
        bottom: 50px;
        display: flex;
        padding: 0;
    }
    .mobile-control .btn {
        width: 50px;
        height: 50px;
    }
    .mobile-control .btn-slide.previous {
        background: url(img/arrow-prev.svg) center center no-repeat;
        text-align: right;
        margin-left: 6px;
    }
    .mobile-control .btn-slide.next {
        background: url(img/arrow-next.svg) center center no-repeat;
        margin-left: auto;
        text-align: left;
    }
}