/* ---------------------- */

/* ----- HTML RESET ----- */

/* ---------------------- */

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,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
}

/* ----- HTML5 display-role reset for older browsers ----- */

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
    display: block;
}

html,
body {
    position: relative;
    height: 100%;
}

body {
    background: #f7f7f7;
    /*font-family: Helvetica Neue, Helvetica, Arial, sans-serif;*/
    /*font-family: 'Kanit', sans-serif;*/
    /*Weights: 100,200,400,500,600*/
    font-family: 'Barlow', sans-serif;
    /*Weights: 100,200,400,500,600*/
    letter-spacing: 0.05em;
}

/* ----------------------------- */

/* ---- TEXT STYLES MOBILE ----- */

/* ----------------------------- */

h1 {
    font-size: 6.75em;
    font-weight: 100;
    line-height: 1.0;
    text-transform: uppercase;
    margin-bottom: 0.12em;
}

h2 {
    font-size: 5.0625em;
    /*font-weight: 200;*/
    font-weight: 600;
    line-height: 1.0;
    text-transform: uppercase;
    margin-bottom: 0.12em;
}

h3 {
    font-size: 3em;
    font-weight: 600;
    line-height: 1.1;
    text-transform: uppercase;
    margin-bottom: 0.48em;
}

h4 {
    font-size: 3em;
    font-weight: 600;
    line-height: 1.1;
    text-transform: uppercase;
    margin-bottom: 0.12em;
}

h5 {
    font-size: 1.25em;
    /*16px*/
    font-weight: 200;
    /*400*/
    line-height: 1.5;
    margin-bottom: 0.9em;
}

p {
    font-size: 1.25em;
    /*16px*/
    font-weight: 200;
    /*400*/
    line-height: 1.5;
    margin-bottom: 1.8em;
}

strong {
    font-size: 1em;
    font-weight: 600;
    line-height: 1.5;
    margin-bottom: 1.8em;
}

summary {
    font-size: 1em;
    font-weight: 500;
}

.svg-underline-light {
    height: 10px;
    width: 50px;
    stroke: rgb(255, 255, 255);
    stroke-width: 5px;
    margin-bottom: 0.4em;
}

.svg-underline-dark {
    height: 10px;
    width: 50px;
    stroke: rgb(0, 0, 0);
    stroke-width: 2;
    margin-bottom: 0.5em;
}

/* ---------------------- */

/* ----- SWIPE FUNC ----- */

/* ---------------------- */

.swiper-container {
    width: 100%;
    height: 100%;
    margin-left: auto;
    margin-right: auto;
}

.swiper-slide {
    text-align: center;
    background: #ccc;
    /*default*/
    /* Center slide text vertically */
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
}

.swiper-container-h {
    /*background: #eee;*/
}

.swiper-container-v {
    /*background: #eee;*/
}

/* ------------------------- */

/* ----- SWIPE CONTENT ----- */

/* ------------------------- */

/* ----- Landing/About ----- */

.s-intro {
    /* Location of the image */
    background-image: url(../images/hero-me-taukapow.jpg);

    /* Background image is centered vertically and horizontally at all times */
    background-position: center center;

    /* Background image doesn't tile */
    background-repeat: no-repeat;

    /* Background image is fixed in the viewport so that it doesn't move when the content's height is greater than the image's height */
    /*background-attachment: fixed;*/
    /* This is what makes the background image rescale based on the container's size */
    background-size: cover;

    /* Set a background color that will be displayed while the background image is loading */
    /*background: #000000;*/
    /*background: rgba(255, 255, 255, 0.5);*/
    background-blend-mode: soft-light;
}

/* ----- Work ----- */

.s-recycle-right {
    background-color: #02314B;
    color: #ffffff;
}

.s-recyle-right-light {
    background-color: #ffffff;
    color: #02314B;
    /*background-image: url(../images/work-recycle-right-the-problem.jpg);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;*/
    /*background-blend-mode:soft-light;*/
}

.s1 {
    background-color: #222222;
    color: #ffffff;
}

.s2 {
    background-color: #ffffff;
    color: #ffffff;
}

.sv-recycle-right {
    background-color: #02314B;
    color: #ffffff;
}

.sv1 {
    background-color: #222222;
    color: #ffffff;
}

.sv2 {
    background-color: darkkhaki;
    color: #ffffff;
}

.s-title {
    text-align: left;
    padding: 2.5em 2.5em 3em 2.5em;
    left: 0;
    bottom: 0;
    position: absolute;
    /*width: 40em;*/
    /*background-color: rgba(0, 0, 0, 0.2);*/
    /*z-index: 20;*/
}

/* ----- Work/Responsive 2 Col ----- */

.s-content-con {
    text-align: center;
    /*text-align: left;*/
    padding: 2.5em 2.5em 3em 2.5em;
    left: 0;
    /*bottom: 0;*/
    position: absolute;
}

.s-content-left {
    text-align: left;
    display: inline-block;
    /*padding: 1.25em;*/
    max-width: 48%;
    vertical-align: middle;
}

.s-content-right {
    display: inline-block;
    /*padding: 2.5em;*/
    max-width: 48%;
    vertical-align: middle;
}

.s-content-force-top {
    /*display: inline-block;*/
    display: none;
    /*padding: 2.5em;*/
    /*max-width: 48%;
    vertical-align: middle;*/
}

.case-copy-con {
    position: relative;
    /*margin-bottom: 9em;*/
    /*bottom: 10em;*/
}

.case-copy-all {
    position: absolute;
    transform-style: preserve-3d;
    animation-duration: 10s;
    animation-iteration-count: infinite;
    animation-timing-function: ease-out;
    /*margin-bottom: 12em;*/
    /*bottom: 10em;*/
}

.case-copy-a {
    animation-name: case-copy-fade-a;
}

.case-copy-b {
    animation-name: case-copy-fade-b;
}

@keyframes case-copy-fade-a {
    0% {
        opacity: 0;
        transform: translateX(30px);
    }
    2% {
        opacity: 1;
        transform: translateX(0px);
    }
    48% {
        opacity: 1;
    }
    50% {
        opacity: 0;
    }
    100% {
        opacity: 0;
    }
}

@keyframes case-copy-fade-b {
    0% {
        opacity: 0;
        transform: translateX(30px);
    }
    /*20% {
        opacity: 0;
    }
    40% {
        opacity: 0;
    }*/
    50% {
        opacity: 0;
        transform: translateX(30px);
    }
    52% {
        opacity: 1;
        transform: translateX(0px);
    }
    98% {
        opacity: 1;
    }
    100% {
        opacity: 0;
    }
}

/* ------------------- */

/* ----- BUTTONS ----- */

/* ------------------- */

.button-outline-white {
    background-color: transparent;
    color: #ffffff;
    padding: 1.4em 3.2em;
    border: 1px solid #ffffff;
    border-radius: 4px;
    text-transform: uppercase;
    margin-bottom: 2em;
}

.button-outline-white:hover {
    background-color: #ffffff;
    color: #000000;
}

.button-outline-black {
    background-color: transparent;
    color: #000000;
    padding: 1.4em 3.2em;
    border: 1px solid #000000;
    border-radius: 4px;
    text-transform: uppercase;
    margin-bottom: 2em;
}

.button-outline-black:hover {
    background-color: #000000;
    color: #ffffff;
}

.button {
    -webkit-transition-duration: 0.4s;
    /* Safari */
    transition-duration: 0.4s;
    font-size: 1em;
}

/* ----------------------------- */

/* ----- VIDEO BACKGROUNDS ----- */

/* ----------------------------- */

.vimeo-vid {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    overflow: hidden;
    /*z-index: 0;*/
    /*z-index: -1;*/
}

.vimeo-vid video {
    width: 100vw;
    height: 56.25vw;
    /* Given a 16:9 aspect ratio, 16/9*100 = 177.77 */
    min-width: 177.77vh;
    /* Given a 16:9 aspect ratio, 9/16*100 = 56.25 */
    min-height: 100vh;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    opacity: 0.5;
    /*z-index: -1;*/
}

.overlay {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: url(../images/spacer.png) repeat;
    z-index: 1;
}

/* ------------------------- */

/* ----- SCROLL ARROWS ----- */

/* ------------------------- */

.scroller-light {
    right: 2.5em;
    bottom: 1.6em;
    position: absolute;

    width: 2em;
    height: 2em;

    background-image: url(data:image/svg+xml;utf8;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2ZXJzaW9uPSIxLjEiIHZpZXdCb3g9IjAgMCAxMjkgMTI5IiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAxMjkgMTI5IiB3aWR0aD0iMzJweCIgaGVpZ2h0PSIzMnB4Ij4KICA8Zz4KICAgIDxwYXRoIGQ9Im0xMjEuMywzNC42Yy0xLjYtMS42LTQuMi0xLjYtNS44LDBsLTUxLDUxLjEtNTEuMS01MS4xYy0xLjYtMS42LTQuMi0xLjYtNS44LDAtMS42LDEuNi0xLjYsNC4yIDAsNS44bDUzLjksNTMuOWMwLjgsMC44IDEuOCwxLjIgMi45LDEuMiAxLDAgMi4xLTAuNCAyLjktMS4ybDUzLjktNTMuOWMxLjctMS42IDEuNy00LjIgMC4xLTUuOHoiIGZpbGw9IiNGRkZGRkYiLz4KICA8L2c+Cjwvc3ZnPgo=);

    animation-name: scroll;
    animation-duration: 2s;
    animation-timing-function: cubic-bezier(.15, .41, .69, .94);
    animation-iteration-count: infinite;
    /*margin-bottom: 1.5em;*/
}

.scroller-dark {
    right: 2.5em;
    bottom: 1.6em;
    position: absolute;
    width: 2em;
    height: 2em;

    background-image: url(data:image/svg+xml;utf8;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2ZXJzaW9uPSIxLjEiIHZpZXdCb3g9IjAgMCAxMjkgMTI5IiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAxMjkgMTI5IiB3aWR0aD0iMzJweCIgaGVpZ2h0PSIzMnB4Ij4KICA8Zz4KICAgIDxwYXRoIGQ9Im0xMjEuMywzNC42Yy0xLjYtMS42LTQuMi0xLjYtNS44LDBsLTUxLDUxLjEtNTEuMS01MS4xYy0xLjYtMS42LTQuMi0xLjYtNS44LDAtMS42LDEuNi0xLjYsNC4yIDAsNS44bDUzLjksNTMuOWMwLjgsMC44IDEuOCwxLjIgMi45LDEuMiAxLDAgMi4xLTAuNCAyLjktMS4ybDUzLjktNTMuOWMxLjctMS42IDEuNy00LjIgMC4xLTUuOHoiIGZpbGw9IiMwMDAwMDAiLz4KICA8L2c+Cjwvc3ZnPgo=);

    animation-name: scroll;
    animation-duration: 2s;
    animation-timing-function: cubic-bezier(.15, .41, .69, .94);
    animation-iteration-count: infinite;
    /*margin-bottom: 1.5em;*/
}

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

/* -------------------- */

/* ----- SPECIFIC ----- */

/* -------------------- */

.opacity10 {
    opacity: 0.1;
}

.opacity20 {
    opacity: 0.2;
}

.shdw-box {
    /*width: 284px;
    padding: 10px 10px 20px 10px;
    background-color: white;*/
    box-shadow: 0px 0px 100px rgba(0, 0, 0, .5);
    border-radius: 12px;
}

.shdw-text {
    /*width: 284px;
    padding: 10px 10px 20px 10px;
    background-color: white;*/
    text-shadow: 0px 0px 100px rgba(0, 0, 0, .5);
}

.rotate {
    /*float: right;*/
    -ms-transform: rotate(1.5deg);
    /* IE 9 */
    -webkit-transform: rotate(1.5deg);
    /* Safari */
    transform: rotate(1.5deg);
}

/* ////////////////// */

/* ----- TABLET ----- */

/* ////////////////// */

@media screen and (max-width: 1024px) {

    h1 {
        font-size: 4.5em;
        font-weight: 100;
        line-height: 1.0;
        text-transform: uppercase;
        margin-bottom: 0.12em;
    }

    h2 {
        font-size: 3.375em;
        /*font-weight: 200;*/
        font-weight: 600;
        line-height: 1.0;
        text-transform: uppercase;
        margin-bottom: 0.12em;
    }

    h3 {
        font-size: 2em;
        font-weight: 600;
        line-height: 1.1;
        text-transform: uppercase;
        margin-bottom: 0.48em;
    }

    h4 {
        font-size: 2em;
        font-weight: 600;
        line-height: 1.1;
        text-transform: uppercase;
        margin-bottom: 0.12em;
    }

    h5 {
        font-size: 1em;
        /*16px*/
        font-weight: 200;
        /*400*/
        line-height: 1.5;
        margin-bottom: 0.9em;
    }

    p {
        font-size: 1em;
        /*16px*/
        font-weight: 200;
        /*400*/
        line-height: 1.5;
        margin-bottom: 1.8em;
    }

    p strong {
        font-size: 1em;
        font-weight: 400;
        line-height: 1.5;
        margin-bottom: 1.8em;
    }

    summary {
        font-size: 0.75em;
        font-weight: 500;
    }

    .button {
        font-size: 0.75em;
    }
    
    .s-content-force-top {
        display: none;   
    }
}

/* ////////////////// */

/* ----- MOBILE ----- */

/* ////////////////// */

@media screen and (max-width: 480px) {

    .s-content-left,
    .s-content-right, 
    .s-content-force-top {
        max-width: 100%;
        float: none;
    }

    .s-content-right {
        display: none;
    }

    .s-content-force-top {
        display: inline-block;
        /*vertical-align: top;*/
        padding-bottom: 2em;
    }
}