/*** Import Fonts ***/
@import url(https://fonts.googleapis.com/css?family=Lato:400,300);
/*** Variables ***/
/* --------------------------------
Small Window Size and Mobile Style
-------------------------------- */
@media screen and (max-width: 875px) {
    .button-container {
        margin: 10px 10px !important;
    }
    h2 {
        font-size: 15vw !important;
    }
}

@media screen and (max-width: 550px) {
    .nav,
    .navbar {
        width: 90% !important;
    }
    .nav .nav-item,
    .navbar .nav-item {
        font-size: 10px !important;
    }
}

@media screen and (max-width: 350px) {
    .navbar-container {
        height: 120px !important;
    }
    .nav,
    .navbar {
        flex-wrap: wrap !important;
    }
    .nav .nav-item,
    .navbar .nav-item {
        margin: 5px 5px !important;
    }
}

/* --------------------------------
		General Style
-------------------------------- */
body,
html {
    font-weight: 300;
}

h2 {
    font-size: 100px;
    position: relative;
    color: #5b85c0;
    background-image: -webkit-linear-gradient(90deg, #a558d4 0%, #34619e 80%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    -webkit-animation: hue 60s infinite linear;
}

p.intro-des {
    position: relative;
    font-size: 20px;
    line-height: 35px;
    margin-top: 50px;
}

p.intro-des a {
    color: #3c3c3c;
}

p.intro-des span {
    font-size: 15px;
}

.button-row-container {
    width: 250px;
    height: 50px;
    position: relative;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    margin: 0 auto;
}

/*** Navbar ***/
.navbar-container {
    position: fixed;
    top: 0;
    left: 50%;
    margin-right: 50%;
    transform: translateX(-50%);
    z-index: 10;
    width: 100%;
    height: 70px;
    background: linear-gradient(to bottom, white 50%, rgba(255, 255, 255, 0) 100%);
}

.nav,
.navbar {
    width: 500px;
    margin: 20px auto auto;
    font-family: "Lato", sans-serif;
    font-size: 13px;
    font-weight: 400;
    letter-spacing: 2px;
    list-style: none;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    flex-wrap: nowrap;
}

.nav a,
.navbar a {
    color: #3c3c3c;
    text-decoration: none;
}

.nav .nav-item,
.navbar .nav-item {
    padding: 5px 0;
}

.nav .nav-item:after,
.navbar .nav-item:after {
    content: '\00a0';
    display: block;
    height: 1px;
    width: 100%;
    position: relative;
    top: 3px;
    background: transparent;
    transition: top 0.3s ease-out;
    -webkit-transition: top 0.3s ease-out;
}

.nav .nav-item:hover:after,
.navbar .nav-item:hover:after {
    top: 7px;
    background: #3c3c3c;
}

.active:after {
    height: 2px !important;
    background: #e74c3c !important;
}

section.page-container {
    margin: auto;
    width: 90%;
    max-width: 800px;
    height: 100vh;
    position: relative;
    text-align: center;
}

#intro {
    max-width: 800px;
}

#intro .section-container {
    margin-top: 70px;
}

.section-container {
    position: absolute;
    top: 45%;
    left: 50%;
    width: 90%;
    transform: translate(-50%, -50%);
    text-align: center;
}

.section-container h4 {
    font-size: 50px;
    font-weight: 300;
    color: #3c3c3c;
    margin-bottom: 30px;
}

/*** General Button Styles ***/
.button-container {
    display: inline-block;
    margin: 10px;
    cursor: pointer;
    font-weight: 400;
    letter-spacing: 2px;
    height: 45px;
    width: 200px;
    -webkit-perspective: 1000;
    -ms-perspective: 1000;
    perspective: 1000;
}

.button-container .flipper {
    transition: all 0.5s ease-in-out;
    -webkit-transform-style: preserve-3d;
    -ms-transform-style: preserve-3d;
    transform-style: preserve-3d;
    position: relative;
}

.button-container .button {
    height: 45px;
    width: 200px;
    border-radius: 3px;
    backface-visibility: hidden;
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    -webkit-box-shadow: 1px 2px 4px -1px rgba(60, 60, 60, 0.64);
    box-shadow: 1px 2px 4px -1px rgba(60, 60, 60, 0.64);
}

.button-container .button i.fa {
    color: white;
    font-size: 20px;
    margin: auto;
    text-shadow: 0.5px 1px 2px #3c3c3c;
}

.button-container .button.front {
    z-index: 10;
}

.button-container .button.back {
    color: white;
    font-size: 15px;
}

/* --------------------------------
			Flip
-------------------------------- */
/*** Horizontal Flip ***/
.button-flip-horizontal .front {
    background-image: -webkit-linear-gradient(90deg, #53a0fd, #01c2f3);
    background-image: linear-gradient(90deg, #53a0fd, #01c2f3);
}

.button-flip-horizontal .back {
    background-image: -webkit-linear-gradient(90deg, #01c2f3, #53a0fd);
    background-image: linear-gradient(90deg, #01c2f3, #53a0fd);
    transform: rotateY(-180deg);
}

.button-flip-horizontal:hover .flipper-flip-horizontal {
    transform: rotateY(180deg);
}

/*** Vertical Flip ***/
.button-flip-vertical .flipper-flip-vertical {
    transform-origin: 100% 22.5px;
}

.button-flip-vertical .front {
    background-image: linear-gradient(90deg, #20438e, #3b5998);
}

.button-flip-vertical .back {
    transform: rotateX(180deg);
    background-image: linear-gradient(90deg, #3b5998, #20438e);
}

.button-flip-vertical:hover .flipper-flip-vertical {
    transform: rotateX(-180deg);
}

/*** Oblique Flip ***/
.button-flip-oblique .front {
    background-image: linear-gradient(90deg, #125688, #ded1c1);
}

.button-flip-oblique .back {
    transform: rotateY(-180deg);
    background-image: linear-gradient(90deg, #ded1c1, #125688);
}

.button-flip-oblique:hover .flipper-flip-oblique {
    transform: rotate3d(1, 10, 0, 180deg);
}

/* --------------------------------
			3D-Flip
-------------------------------- */
.button-flip3d-vertical1 {
    margin: 0 auto;
}

.button-flip3d-vertical1 .flipper-flip3d-vertical1 {
    transform-origin: 100% 22.5px;
    text-align: center;
}

.button-flip3d-vertical1 .front {
    transform: translateZ(22.5px);
    background-image: linear-gradient(90deg, #000, #3c3c3c);
}

.button-flip3d-vertical1 .back {
    -webkit-transform: rotateX(90deg) translateZ(22.5px);
    -ms-transform: rotateX(90deg) translateZ(22.5px);
    transform: rotateX(90deg) translateZ(22.5px);
    background-image: linear-gradient(90deg, #000, #3c3c3c);
}

.button-flip3d-vertical1:hover .flipper-flip3d-vertical1 {
    transform: rotateX(-90deg);
}

.button-flip3d-vertical2 .flipper-flip3d-vertical2 {
    transform-origin: 100% 22.5px;
}

.button-flip3d-vertical2 .front {
    transform: translateZ(22.5px);
    background-image: linear-gradient(90deg, #000, #3c3c3c);
}

.button-flip3d-vertical2 .back {
    -webkit-transform: rotateX(90deg) rotateZ(180deg) rotateY(180deg) translateZ(22.5px);
    -ms-transform: rotateX(90deg) rotateZ(180deg) rotateY(180deg) translateZ(22.5px);
    transform: rotateX(90deg) rotateZ(180deg) rotateY(180deg) translateZ(22.5px);
    background-image: linear-gradient(90deg, #000, #3c3c3c);
}

.button-flip3d-vertical2:hover .flipper-flip3d-vertical2 {
    transform: rotateX(90deg);
}

/* --------------------------------
			Slide
-------------------------------- */
.slider i {
    transition: all 0.3s ease-in-out;
}

.slider i:before {
    transition: all 0.3s ease-in-out;
}

.slider i:after {
    font-family: "Lato", sans-serif;
    color: white;
    font-size: 15px;
    text-transform: uppercase;
    letter-spacing: 2px;
    text-shadow: none;
    content: 'Dribbble';
    position: absolute;
    opacity: 0;
    top: 2.5px;
    transition: all 0.3s ease-in-out;
}

/*** Horizontal Slide ***/
.button-slide-horizontal .button {
    background-image: linear-gradient(90deg, #ea4c89, #ee9b83);
}

.button-slide-horizontal i {
    position: relative;
    display: inline-block;
    transition: all 0.3s ease-in-out;
}

.button-slide-horizontal i:before {
    transition: all 0.3s ease-in-out;
}

.button-slide-horizontal:hover i {
    padding-right: 100px;
}

.button-slide-horizontal:hover i:before {
    opacity: 0;
}

.button-slide-horizontal:hover i:after {
    opacity: 1;
}

/*** Vertical Slide ***/
.button-slide-vertical {
    overflow: hidden;
    height: 45px;
}

.button-slide-vertical .button {
    background-image: linear-gradient(90deg, #1c84a6, #3CB371);
    overflow: hidden;
    height: 45px;
}

.button-slide-vertical i {
    position: relative;
    margin: 0 !important;
    top: 10px;
    transition: all 0.3s ease-in-out;
    opacity: 1;
}

.button-slide-vertical i.back {
    font-family: "Lato", sans-serif;
    color: white;
    font-size: 15px;
    text-transform: uppercase;
    letter-spacing: 2px;
    transform: translateY(30px);
    opacity: 0;
}

.button-slide-vertical:hover i.front {
    transform: translateY(-30px);
    opacity: 0;
}

.button-slide-vertical:hover i.back {
    transform: translateY(-20px);
    opacity: 1;
}

/* --------------------------------
			Switch
-------------------------------- */
.switch-container {
    display: inline-block;
    margin: 10px;
}

/*** Toggle Slide Style ***/
.switch-toggle-slide {
    width: 250px;
    height: 20px;
    border: 1px solid rgba(218, 220, 222, 0.7);
    border-radius: 3px;
    will-change: transform;
    background: rgba(74, 82, 85, 0.8);
    position: relative;
}

.switch-toggle-slide span.active {
    display: block;
    position: absolute;
    left: 0;
    width: 125px;
    height: 20px;
    background: rgba(218, 220, 222, 0.7);
    z-index: -1;
    -moz-transition: 0.2s ease-in-out;
    -webkit-transition: 0.2s ease-in-out;
    transition: 0.2s ease-in-out;
}

.switch-toggle-slide .switch-slide {
    width: 125px;
    height: 20px;
    display: inline-block;
    float: left;
    vertical-align: middle;
    text-align: center;
    font-size: 13px;
    line-height: 20px;
    font-weight: 400;
    letter-spacing: 1px;
    background: transparent;
    color: white;
    -moz-transition: 0.2s ease-in-out;
    -webkit-transition: 0.2s ease-in-out;
    transition: 0.2s ease-in-out;
}

.switch-toggle-slide .switch-slide#slide-on {
    border-top-left-radius: 2px;
    border-bottom-left-radius: 2px;
}

.switch-toggle-slide .switch-slide#slide-off {
    border-top-right-radius: 2px;
    border-bottom-right-radius: 2px;
}

.switch-toggle-slide .switch-slide.active-switch {
    color: #3c3c3c;
}

/*** Slim Switch Style ***/
input.slim {
    max-height: 0;
    max-width: 0;
    opacity: 0;
}

input.slim + label {
    display: block;
    position: relative;
    text-indent: -5000px;
    height: 10px;
    width: 40px;
    border-radius: 15px;
}

input.slim + label:before {
    content: "";
    position: absolute;
    display: block;
    height: 10px;
    width: 10px;
    top: 0;
    left: 0;
    border-radius: 15px;
    background: transparent;
    -moz-transition: 0.2s ease-in-out;
    -webkit-transition: 0.2s ease-in-out;
    transition: 0.2s ease-in-out;
}

input.slim + label:after {
    content: "";
    position: absolute;
    display: block;
    height: 20px;
    width: 20px;
    top: -5px;
    left: 0;
    border-radius: 15px;
    background: white;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
    -moz-transition: 0.2s ease-in-out;
    -webkit-transition: 0.2s ease-in-out;
    transition: 0.2s ease-in-out;
}

input.slim:checked + label:before {
    width: 40px;
}

input.slim:checked + label:after {
    left: 20px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

input#slim-blue + label {
    background: rgba(60, 187, 247, 0.7);
}

input#slim-blue + label:after {
    background: #3CBBF7;
}

input#slim-blue:checked + label:before {
    background: rgba(60, 187, 247, 0.7);
}

input#slim-red + label {
    background: rgba(231, 76, 60, 0.7);
}

input#slim-red + label:after {
    background: #E74C3C;
}

input#slim-red:checked + label:before {
    background: rgba(231, 76, 60, 0.7);
}

input#slim-green + label {
    background: rgba(19, 191, 17, 0.7);
}

input#slim-green + label:after {
    background: #13bf11;
}

input#slim-green:checked + label:before {
    background: rgba(19, 191, 17, 0.7);
}

input#slim-black + label {
    background: rgba(0, 0, 0, 0.7);
}

input#slim-black + label:after {
    background: black;
}

input#slim-black:checked + label:before {
    background: rgba(0, 0, 0, 0.7);
}

/*** iOS Style ***/
input#ios {
    max-height: 0;
    max-width: 0;
    opacity: 0;
}

input#ios + label {
    display: block;
    position: relative;
    box-shadow: inset 0 0 0 1px #a6a6a6;
    text-indent: -5000px;
    height: 30px;
    width: 50px;
    border-radius: 15px;
}

input#ios + label:before {
    content: "";
    position: absolute;
    display: block;
    height: 30px;
    width: 30px;
    top: 0;
    left: 0;
    border-radius: 15px;
    background: transparent;
    -moz-transition: 0.2s ease-in-out;
    -webkit-transition: 0.2s ease-in-out;
    transition: 0.2s ease-in-out;
}

input#ios + label:after {
    content: "";
    position: absolute;
    display: block;
    height: 30px;
    width: 30px;
    top: 0;
    left: 0;
    border-radius: 15px;
    background: white;
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.2), 0 2px 4px rgba(0, 0, 0, 0.2);
    -moz-transition: 0.2s ease-in-out;
    -webkit-transition: 0.2s ease-in-out;
    transition: 0.2s ease-in-out;
}

input#ios:checked + label:before {
    width: 50px;
    background: #13bf11;
}

input#ios:checked + label:after {
    left: 20px;
    box-shadow: inset 0 0 0 1px #13bf11, 0 2px 4px rgba(0, 0, 0, 0.2);
}

/*** Skewed Switch Style ***/
.switch-skewed {
    position: relative;
    height: 30px;
    width: 50px;
    margin-top: 29px;
    background: #a6a6a6;
    transform: skew(-15deg, 0);
    overflow: hidden;
    -moz-transition: 0.2s ease-in-out;
    -webkit-transition: 0.2s ease-in-out;
    transition: 0.2s ease-in-out;
}

.switch-skewed .skewed-container {
    width: 100px;
    height: 30px;
    transform: skew(15deg, 0);
    vertical-align: middle;
    text-align: center;
    font-size: 13px;
    line-height: 30px;
    font-weight: 400;
    letter-spacing: 1px;
    -moz-transition: 0.2s ease-in-out;
    -webkit-transition: 0.2s ease-in-out;
    transition: 0.2s ease-in-out;
}

.switch-skewed .skewed {
    float: left;
    height: 30px;
    width: 50px;
    display: inline-block;
    color: white;
}

.switch-skewed:hover {
    background: #13bf11;
}

.switch-skewed:hover .skewed-container {
    transform: translateX(-50px) skew(15deg, 0);
}

/*** Flat Switch Style ***/
.switch-flat {
    height: 35px;
    width: 35px;
    margin-top: 30px;
    background-image: -webkiet-linear-gradient(#ece9e9 10%, #ffffff 100%);
    background-image: linear-gradient(#ece9e9 10%, #ffffff 100%);
    -webkit-box-shadow: inset 0 1px 1px #aeaaaa;
    box-shadow: inset 0 1px 1px #aeaaaa;
    border-radius: 50%;
    overflow: hidden;
}

.switch-flat .flat-container {
    height: 70px;
    width: 35px;
    color: #a6a6a6;
    vertical-align: middle;
    text-align: center;
    font-size: 18px;
    line-height: 35px;
    font-weight: 400;
    -moz-transition: 0.2s ease-in-out;
    -webkit-transition: 0.2s ease-in-out;
    transition: 0.2s ease-in-out;
    border-radius: 50%;
}

.switch-flat .flat {
    height: 35px;
    width: 35px;
    border-radius: 50%;
    z-index: -1;
}

.switch-flat .flat.flat-off {
    background: transparent;
}

.switch-flat .flat.flat-on {
    color: white;
    font-size: 15px;
}

.switch-flat:hover {
    background: rgba(19, 191, 17, 0.7);
    -webkit-box-shadow: inset 0 1px 1px #13bf11;
    box-shadow: inset 0 1px 1px #13bf11;
}

.switch-flat:hover .flat-container {
    transform: translateY(-35px);
}

/* --------------------------------
			Water Fill
-------------------------------- */
/*** Water Fill ***/
p.reference {
    margin-top: -20px;
    margin-bottom: 10px;
    font-size: 12px;
}

p.reference a {
    color: #3c3c3c;
}

.button-water-fill .button {
    background-position: 0 -50%;
    background-repeat: repeat-x;
    transition: background-position 0.75s ease;
}

.button-water-fill .button:hover {
    background-position: 100% 60%;
    color: white !important;
}

.button-water-fill.wave-blue .button {
    color: #3CBBF7;
    background-image: url("https://s32.postimg.org/k0nwdbgol/wave_blue.png");
}

.button-water-fill.wave-red .button {
    color: #E74C3C;
    background-image: url("https://s32.postimg.org/5798sk8xh/wave_red.png");
}

.button-water-fill.wave-yellow .button {
    color: #F8E71C;
    background-image: url("https://s32.postimg.org/ku0i5xmph/wave_yellow.png");
}

.button-water-fill.wave-white .button {
    background-color: black;
    color: white;
    background-image: url("https://s32.postimg.org/6c3axxved/wave_white.png");
}

.button-water-fill.wave-white .button:hover {
    color: black !important;
}

.button-water-fill.wave-black .button {
    color: black;
    background-image: url("https://s32.postimg.org/g5kiaqxit/wave_black.png");
}
