﻿html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav.top, output, ruby, section, summary, time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
    font-family: "Abel", sans-serif;
    line-height: 1.5;
}

body, html {
    height: 100%;
    width: 100%;
    max-width: 100%;
    -webkit-text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    background-color: #ddd;
    overflow: hidden;
}

#no-mobile {
    display: none;
}

.td-initial {
    background-image: url(../resources/td-all-white.png);
    background-position: center top;
    background-size: 80%;
    background-repeat: no-repeat;
    width: 200px;
    position: absolute;
    left: 50%;
    margin-left: -100px;
    bottom: 20px;
    text-align: center;
    color: #fff;
    font-size: 12px;
    padding-top: 50px;
    font-weight: normal;
}

    .td-initial em {
        font-style: normal;
        font-family: Arial, sans-serif;
        font-size: 12px;
        color: #555;
        display: inline-block;
    }

div.content {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 10px;
    left: 0;
    overflow: hidden;
}

canvas {
    height: 100%;
    width: 75%;
    position: absolute;
    top: 0;
    left: 0;
}

a {
    text-decoration: none;
}

#bigblue {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    background-color: #00aeef;
    box-sizing: border-box;
    transition: all 1s;
    box-shadow: -3px 0 5px rgba(50, 50, 50, 0.7);
    overflow: hidden;
    border-left: solid 50px #00aeef;
    z-index: 12;
}

#bigwhite {
    position: absolute;
    top: 50%;
    left: 50%;
    margin-left: -100%;
    height: 0;
    width: 200%;
    background: #fff;
}

    #bigwhite.who {
        -webkit-animation: bigWhite1 0.75s ease;
        -webkit-animation-fill-mode: forwards;
        -moz-animation: bigWhite1 0.75s ease;
        -moz-animation-fill-mode: forwards;
        animation: bigWhite1 0.75s ease;
        animation-fill-mode: forwards;
    }

    #bigwhite.what {
        -webkit-animation: bigWhite2 0.75s ease;
        -webkit-animation-fill-mode: forwards;
        -moz-animation: bigWhite2 0.75s ease;
        -moz-animation-fill-mode: forwards;
        animation: bigWhite2 0.75s ease;
        animation-fill-mode: forwards;
    }

    #bigwhite.how {
        -webkit-animation: bigWhite3 0.75s ease;
        -webkit-animation-fill-mode: forwards;
        -moz-animation: bigWhite3 0.75s ease;
        -moz-animation-fill-mode: forwards;
        animation: bigWhite3 0.75s ease;
        animation-fill-mode: forwards;
    }

    #bigwhite.why {
        -webkit-animation: bigWhite4 0.75s ease;
        -webkit-animation-fill-mode: forwards;
        -moz-animation: bigWhite4 0.75s ease;
        -moz-animation-fill-mode: forwards;
        animation: bigWhite4 0.75s ease;
        animation-fill-mode: forwards;
    }

    #bigwhite.work {
        -webkit-animation: bigWhite1 0.75s ease;
        -webkit-animation-fill-mode: forwards;
        -moz-animation: bigWhite1 0.75s ease;
        -moz-animation-fill-mode: forwards;
        animation: bigWhite1 0.75s ease;
        animation-fill-mode: forwards;
    }

    #bigwhite.contact {
        -webkit-animation: bigWhite2 0.75s ease;
        -webkit-animation-fill-mode: forwards;
        -moz-animation: bigWhite2 0.75s ease;
        -moz-animation-fill-mode: forwards;
        animation: bigWhite2 0.75s ease;
        animation-fill-mode: forwards;
    }

#bigblue.shrink {
    left: 33%;
    z-index: 10;
}

#typedev {
    position: absolute;
    top: 50%;
    left: 50%;
    height: 200px;
    width: 200px;
    margin-left: -100px;
    margin-top: -100px;
    border-radius: 100px;
    text-align: center;
    transform: scale(1);
}

    #typedev.start.initial:hover {
        -webkit-animation: shiver 0.1s infinite;
        -moz-animation: shiver 0.1s infinite;
        animation: shiver 0.1s infinite;
    }

    #typedev.start {
        background-color: #fff;
        color: #00aeef;
        z-index: 1;
        transform: scale(1);
        transition: all 0.5s;
    }

    #typedev .typedev-t {
        font-family: 'Times New Roman', serif;
        font-size: 100px;
        display: block;
        line-height: 1;
        margin-top: 30px;
    }

    #typedev .go {
        display: block;
        margin-top: 5px;
        font-size: 25px;
    }

section {
    position: absolute;
    top: 0;
    left: 33%;
    bottom: 0;
    right: 0;
    z-index: 10;
    opacity: 0;
    transition: opacity 1s ease;
    transform: translateY(100%);
}

    section.visible {
        opacity: 1;
        transform: translateX(0);
        transition: all 0.5s ease 0.2s;
    }

    section h1 {
        position: absolute;
        top: 20px;
        left: 50%;
        height: 150px;
        width: 150px;
        margin-left: -75px;
        border-radius: 75px;
        text-align: center;
        background: #00aeef;
        color: #fff;
        z-index: 1;
    }

        section h1 span.curly-t {
            font-family: 'Times New Roman', serif;
            font-size: 75px;
            display: block;
            line-height: 1;
            margin-top: 20px;
        }

        section h1 span.label {
            display: block;
            margin-top: 5px;
            font-size: 20px;
        }

        section h1 + div.border {
            position: absolute;
            top: 15px;
            left: 50%;
            height: 156px;
            width: 156px;
            margin-left: -80px;
            border-radius: 80px;
            text-align: center;
            border: solid 2px #00aeef;
        }

li {
    margin-left: 30px;
    font-size: 20px;
}

section p, section ul, section ol {
    padding: 10px 170px;
    margin-left: 20px;
    line-height: 2;
    font-size: 20px;
    opacity: 0;
    transform: translateX(-40px);
    transition: all 0.5s;
}

    section p.visible, section q.visible, section ul.visible, section ol.visible {
        opacity: 1;
        transform: translateX(0);
    }

    section p:first-of-type {
        margin-top: 220px;
    }

span.type {
    color: #00aeef;
    font-size: 24px;
    font-family: 'Times New Roman', serif;
}

span.dev {
    color: #aaa;
    display: inline-block;
    font-size: 14px;
    padding-bottom: 10px;
    vertical-align: top;
    padding-top: 5px;
}

p.center {
    text-align: center;
}

section q {
    display: block;
    font-family: 'Times New Roman', serif;
    font-size: 40px;
    font-style: italic;
    text-align: center;
    border-top: solid 1px #00aeef;
    border-bottom: solid 1px #00aeef;
    padding: 20px;
    margin: 20px 170px 40px 170px;
    color: #00aeef;
    opacity: 0;
    transform: translateX(-40px);
    transition: all 0.5s;
}

em {
    font-family: 'Times New Roman', serif;
    font-style: italic;
    font-weight: bold;
    font-size: 24px;
}

#bigblue .ring {
    position: absolute;
    height: 200px;
    width: 200px;
    box-sizing: border-box;
    border: solid 3px #fff;
    opacity: 1;
    transform: scale(1);
    border-radius: 100px;
    top: 50%;
    left: 50%;
    margin-left: -100px;
    margin-top: -100px;
    -webkit-animation: ring 2s ease;
    -webkit-animation-iteration-count: infinite;
    -moz-animation: ring 2s ease;
    -moz-animation-iteration-count: infinite;
    animation: ring 2s ease;
    animation-iteration-count: infinite;
}

#typedev.start.explode {
    transform: scale(10);
    opacity: 0;
}

nav {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 33%;
    width: 200px;
    margin-left: -100px;
    display: none;
    z-index: 11;
    overflow: hidden;
}

    nav > div {
        display: block;
        width: 100%;
        height: 16.7%;
        position: relative;
    }

    nav a {
        transform: scale(0);
        position: absolute;
        left: 50%;
        top: 50%;
        margin-top: -50px;
        background-color: #fff;
        border: solid 3px #00aeef;
        color: #00aeef;
        height: 100px;
        width: 100px;
        text-align: center;
        border-radius: 50px;
        box-sizing: border-box;
        display: block;
        font-size: 22px;
        padding-top: 29px;
        text-transform: lowercase;
        font-family: 'Times New Roman', serif;
        font-style: italic;
        transition: all 0.5s;
    }

        nav a + .ring {
            position: absolute;
            left: 50%;
            top: 50%;
            height: 100px;
            width: 100px;
            margin-top: -50px;
            border-radius: 50px;
            border: solid 3px #00aeef;
            display: none;
            box-sizing: border-box;
        }

        nav a:hover {
            -webkit-animation: shiver 0.1s infinite;
            -moz-animation: shiver 0.1s infinite;
            animation: shiver 0.1s infinite;
        }

    nav.show {
        display: block;
    }

        nav.show #who {
            -webkit-animation: menuIn 0.5s ease 0s;
            -webkit-animation-fill-mode: forwards;
            -moz-animation: menuIn 0.5s ease 0s;
            -moz-animation-fill-mode: forwards;
            animation: menuIn 0.5s ease 0s;
            animation-fill-mode: forwards;
        }

        nav.show #what {
            -webkit-animation: menuIn 0.5s ease 0.1s;
            -webkit-animation-fill-mode: forwards;
            -moz-animation: menuIn 0.5s ease 0.1s;
            -moz-animation-fill-mode: forwards;
            animation: menuIn 0.5s ease 0.1s;
            animation-fill-mode: forwards;
        }

        nav.show #how {
            -webkit-animation: menuIn 0.5s ease 0.2s;
            -webkit-animation-fill-mode: forwards;
            -moz-animation: menuIn 0.5s ease 0.2s;
            -moz-animation-fill-mode: forwards;
            animation: menuIn 0.5s ease 0.2s;
            animation-fill-mode: forwards;
        }

        nav.show #why {
            -webkit-animation: menuIn 0.5s ease 0.3s;
            -webkit-animation-fill-mode: forwards;
            -moz-animation: menuIn 0.5s ease 0.3s;
            -moz-animation-fill-mode: forwards;
            animation: menuIn 0.5s ease 0.3s;
            animation-fill-mode: forwards;
        }

        nav.show #work {
            -webkit-animation: menuIn 0.5s ease 0.5s;
            -webkit-animation-fill-mode: forwards;
            -moz-animation: menuIn 0.5s ease 0.5s;
            -moz-animation-fill-mode: forwards;
            animation: menuIn 0.5s ease 0.5s;
            animation-fill-mode: forwards;
        }

        nav.show #contact {
            -webkit-animation: menuIn 0.5s ease 0.5s;
            -webkit-animation-fill-mode: forwards;
            -moz-animation: menuIn 0.5s ease 0.5s;
            -moz-animation-fill-mode: forwards;
            animation: menuIn 0.5s ease 0.5s;
            animation-fill-mode: forwards;
        }

    nav a.active {
        background-color: #00aeef;
        color: #fff;
        border-color: #fff;
    }

        nav a.active + .ring {
            display: block;
            border-color: #fff;
            -webkit-animation: ringsmall 2s ease 0.5s;
            -webkit-animation-iteration-count: infinite;
            -moz-animation: ringsmall 2s ease 0.5s;
            -moz-animation-iteration-count: infinite;
            animation: ringsmall 2s ease 0.5s;
            animation-iteration-count: infinite;
        }

#next {
    position: absolute;
    left: 66.7%;
    bottom: 50px;
    height: 50px;
    width: 50px;
    border-radius: 26px;
    border: solid 2px #00aeef;
    display: block;
    z-index: 13;
    margin-left: -25px;
    opacity: 0.2;
    transition: all 0.3s;
    background-image: url(../resources/arrow-cyan.png);
    background-position: center center;
    background-size: 50%;
    background-repeat: no-repeat;
}

    #next:hover {
        opacity: 1;
    }

    #next.hidden {
        opacity: 0;
        display: none;
    }

.width-50 {
    width: 45%;
    box-sizing: border-box;
}

.right {
    float: right;
    padding-left: 20px;
    clear: right;
}

.left {
    float: left;
    clear: left;
    padding-right: 20px;
}

a.logo {
    margin: 20px 0;
    height: 60px;
    width: auto;
    display: block;
    background-position: center center;
    background-size: contain;
    background-repeat: no-repeat;
}

    a.logo:hover {
        -webkit-animation: shiver 0.1s;
        -webkit-animation-iteration-count: infinite;
        -moz-animation: shiver 0.1s;
        -moz-animation-iteration-count: infinite;
        animation: shiver 0.1s;
        animation-iteration-count: infinite;
    }

.big {
    font-size: 50px;
}

a.normal {
    color: #00aeef;
    display: inline-block;
    padding-left: 10px;
    border-left: solid 10px #00aeef;
}

    a.normal:hover {
        -webkit-animation: shiver 0.1s ease;
        -webkit-animation-iteration-count: infinite;
        -moz-animation: shiver 0.1s ease;
        -moz-animation-iteration-count: infinite;
        animation: shiver 0.1s ease;
        animation-iteration-count: infinite;
    }

#td-logo {
    background-image: url(../resources/td-cyan-white.png);
    background-repeat: no-repeat;
    background-position: left center;
    background-size: contain;
    position: absolute;
    top: 20px;
    left: 20px;
    width: 250px;
    height: 100px;
}

@-webkit-keyframes bigWhite1 {
    0% {
        transform: rotate(-45deg);
        height: 0;
    }

    100% {
        transform: rotate(-45deg);
        height: 300%;
        margin-top: -160%;
    }
}

@-moz-keyframes bigWhite1 {
    0% {
        transform: rotate(-45deg);
        height: 0;
    }

    100% {
        transform: rotate(-45deg);
        height: 300%;
        margin-top: -160%;
    }
}

@keyframes bigWhite1 {
    0% {
        transform: rotate(-45deg);
        height: 0;
    }

    100% {
        transform: rotate(-45deg);
        height: 300%;
        margin-top: -160%;
    }
}

@-webkit-keyframes bigWhite2 {
    0% {
        transform: rotate(90deg);
        height: 0;
    }

    100% {
        transform: rotate(90deg);
        height: 300%;
        margin-top: -150%;
    }
}

@-moz-keyframes bigWhite2 {
    0% {
        transform: rotate(90deg);
        height: 0;
    }

    100% {
        transform: rotate(90deg);
        height: 300%;
        margin-top: -150%;
    }
}

@keyframes bigWhite2 {
    0% {
        transform: rotate(90deg);
        height: 0;
    }

    100% {
        transform: rotate(90deg);
        height: 300%;
        margin-top: -150%;
    }
}

@-webkit-keyframes bigWhite3 {
    0% {
        transform: rotate(45deg);
        height: 0;
    }

    100% {
        transform: rotate(45deg);
        height: 300%;
        margin-top: -160%;
    }
}

@-moz-keyframes bigWhite3 {
    0% {
        transform: rotate(45deg);
        height: 0;
    }

    100% {
        transform: rotate(45deg);
        height: 300%;
        margin-top: -160%;
    }
}

@keyframes bigWhite3 {
    0% {
        transform: rotate(45deg);
        height: 0;
    }

    100% {
        transform: rotate(45deg);
        height: 300%;
        margin-top: -160%;
    }
}

@-webkit-keyframes bigWhite4 {
    0% {
        transform: rotate(180deg);
        height: 0;
    }

    100% {
        transform: rotate(180deg);
        height: 300%;
        margin-top: -150%;
    }
}

@-moz-keyframes bigWhite4 {
    0% {
        transform: rotate(180deg);
        height: 0;
    }

    100% {
        transform: rotate(180deg);
        height: 300%;
        margin-top: -150%;
    }
}

@keyframes bigWhite4 {
    0% {
        transform: rotate(180deg);
        height: 0;
    }

    100% {
        transform: rotate(180deg);
        height: 300%;
        margin-top: -150%;
    }
}

@-webkit-keyframes menuIn {
    100% {
        transform: scale(1);
    }
}

@-moz-keyframes menuIn {
    100% {
        transform: scale(1);
    }
}

@keyframes menuIn {
    100% {
        transform: scale(1);
    }
}

@-webkit-keyframes ring {
    100% {
        opacity: 0;
        transform: scale(2);
    }
}

@-moz-keyframes ring {
    100% {
        opacity: 0;
        transform: scale(2);
    }
}

@keyframes ring {
    100% {
        opacity: 0;
        transform: scale(2);
    }
}

@-webkit-keyframes ringsmall {
    100% {
        opacity: 0;
        transform: scale(1.5);
    }
}

@-moz-keyframes ringsmall {
    100% {
        opacity: 0;
        transform: scale(1.5);
    }
}

@keyframes ringsmall {
    100% {
        opacity: 0;
        transform: scale(1.5);
    }
}

@-webkit-keyframes shiver {
    0% {
        transform: rotate(0) translateX(0) translateY(0) scale(1);
    }

    50% {
        transform: rotate(0) translateX(2px) translateY(2px) scale(1);
    }

    100% {
        transform: rotate(0) translateX(-2px) translateY(-2px) scale(1);
    }
}

@-moz-keyframes shiver {
    0% {
        transform: rotate(0) translateX(0) translateY(0) scale(1);
    }

    50% {
        transform: rotate(0) translateX(2px) translateY(2px) scale(1);
    }

    100% {
        transform: rotate(0) translateX(-2px) translateY(-2px) scale(1);
    }
}

@keyframes shiver {
    0% {
        transform: rotate(0) translateX(0) translateY(0) scale(1);
    }

    50% {
        transform: rotate(0) translateX(2px) translateY(2px) scale(1);
    }

    100% {
        transform: rotate(0) translateX(-2px) translateY(-2px) scale(1);
    }
}

@media all and (max-width: 1400px) {
    section, nav, #bigblue.shrink {
        left: 20%;
    }

        section p, section ul, section ol {
            padding-left: 130px;
            padding-right: 50px;
            line-height: 1.5;
        }

        section q {
            margin-left: 130px;
            margin-right: 50px;
            line-height: 1.5;
        }

        section p, li {
            font-size: 18px;
        }

    em {
        font-size: 22px;
    }

    q {
        font-size: 30px;
    }

    #next {
        bottom: 20px;
        left: 60%;
    }

    #td-logo {
        top: 10px;
        left: 10px;
        width: 150px;
    }
}

@media all and (max-width: 1024px) {
    nav.show, section {
        left: 0;
    }

    section {
        left: 40px;
        overflow: auto;
        padding-bottom: 80px;
    }

    #bigblue {
        border-left: none;
    }

        #bigblue.shrink {
            border-left: solid 40px #00aeef;
            left: 0;
        }

    canvas {
        display: none;
    }

    nav {
        margin-left: 0;
        width: 80px;
    }

        nav a, nav a + .ring {
            height: 70px;
            width: 70px;
            margin-top: -35px;
            margin-left: -35px;
            font-size: 16px;
            padding-top: 18px;
        }

    section p, section ul, section ol {
        padding-left: 0;
        padding-right: 20px;
        margin-left: 50px;
        line-height: 1.5;
    }

    section h1 {
        height: 100px;
        width: 100px;
        margin-left: -50px;
    }

    section h1 span.curly-t {
        font-size: 50px;
        margin-top: 10px;
    }

    section h1 span.label {
        font-size: 15px;
        margin-top: 3px;
    }

    section h1 + div.border {
        height: 106px;
        width: 106px;
        margin-left: -55px;
    }

    section q {
        line-height: 1.5;
        font-size: 18px;
        padding: 10px;
        margin: 10px;
        margin-left: 50px;
        margin-right: 20px;
    }

    section p, li {
        font-size: 14px;
    }

    section p:first-of-type {
        margin-top: 140px;
    }

    em {
        font-size: 16px;
    }

    .width-50 {
        width: auto;
    }

    .width-50.left, .width-50.right {
        float: none;
        padding-right: 40px;
        padding-left: 0;
    }

    .big {
        font-size: 20px;
    }

    #next {
        left: 53%;
    }
    /*#bigblue {
        display: none;
    }

    canvas {
        display: none;
    }

    #no-mobile {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        display: block;
        background: #00aeef;
    }

    #no-mobile > p {
        margin: 35px;
        color: #fff;
        text-align: justify;
    }

    .content {
        display: none;
    }

    #td-logo {
        display: none;
    }*/

    @-webkit-keyframes bigWhite1 {
        0% {
            transform: rotate(-45deg);
            height: 0;
        }

        100% {
            transform: rotate(-45deg);
            height: 300%;
            width: 300%;
            margin-left: -200%;
            margin-top: -300%;
        }
    }

    @-moz-keyframes bigWhite1 {
        0% {
            transform: rotate(-45deg);
            height: 0;
        }

        100% {
            transform: rotate(-45deg);
            height: 300%;
            width: 300%;
            margin-left: -200%;
            margin-top: -300%;
        }
    }

    @keyframes bigWhite1 {
        0% {
            transform: rotate(-45deg);
            height: 0;
        }

        100% {
            transform: rotate(-45deg);
            height: 300%;
            width: 300%;
            margin-left: -200%;
            margin-top: -300%;
        }
    }

    @-webkit-keyframes bigWhite2 {
        0% {
            transform: rotate(90deg);
            height: 0;
        }

        100% {
            transform: rotate(90deg);
            height: 300%;
            width: 300%;
            margin-left: -200%;
            margin-top: -300%;
        }
    }

    @-moz-keyframes bigWhite2 {
        0% {
            transform: rotate(90deg);
            height: 0;
        }

        100% {
            transform: rotate(90deg);
            height: 300%;
            width: 300%;
            margin-left: -200%;
            margin-top: -300%;
        }
    }

    @keyframes bigWhite2 {
        0% {
            transform: rotate(90deg);
            height: 0;
        }

        100% {
            transform: rotate(90deg);
            height: 300%;
            width: 300%;
            margin-left: -200%;
            margin-top: -300%;
        }
    }

    @-webkit-keyframes bigWhite3 {
        0% {
            transform: rotate(45deg);
            height: 0;
        }

        100% {
            transform: rotate(45deg);
            height: 300%;
            width: 300%;
            margin-top: -300%;
        }
    }

    @-moz-keyframes bigWhite3 {
        0% {
            transform: rotate(45deg);
            height: 0;
        }

        100% {
            transform: rotate(45deg);
            width: 300%;
            margin-top: -300%;
        }
    }

    @keyframes bigWhite3 {
        0% {
            transform: rotate(45deg);
            height: 0;
        }

        100% {
            transform: rotate(45deg);
            width: 300%;
            margin-top: -300%;
        }
    }

    @-webkit-keyframes bigWhite4 {
        0% {
            transform: rotate(180deg);
            height: 0;
        }

        100% {
            transform: rotate(180deg);
            height: 300%;
            margin-top: -150%;
        }
    }

    @-moz-keyframes bigWhite4 {
        0% {
            transform: rotate(180deg);
            height: 0;
        }

        100% {
            transform: rotate(180deg);
            height: 300%;
            margin-top: -150%;
        }
    }

    @keyframes bigWhite4 {
        0% {
            transform: rotate(180deg);
            height: 0;
        }

        100% {
            transform: rotate(180deg);
            height: 300%;
            margin-top: -150%;
        }
    }
}
