* {
    background-color: transparent;
    font-family: 'Muli-Light';
    box-sizing: border-box;
    padding: 0px;
    margin: 0px;
    overflow: visible;
    outline: none;
    color: #ffffff;

    -webkit-text-size-adjust: none;

}

:focus {
  outline: none;
}

html {
    position: fixed;
}

html,
body {
    width: 100% !important;
    height: 100% !important;
    background-color: #eeeeee;
    overflow: hidden;
}

#debug {
    background-color: rgba(252, 156, 215, 0.65);
    position: fixed;
    top: 80px;
    left:0px;
    width: 70%;
    height: 60%;
    word-wrap: break-word;
    overflow-wrap: break-word;
    white-space: normal;
    display: none;
}

.wrap {
    width: 100%;
    height: 100%;
    position: relative;
    display: block;
}

.frametemplate, .itemtemplate {
    display: none;
}

#content {
    width: 100%;
    height: 100%;
    padding-left: 300px;
}

#content > .wrap {
	perspective: 1200px;
	transform-style: preserve-3d;
}

#slide {
    width: 300px;
    height: 100%;
    background-color: #666666;
    position: absolute;
    top: 0px;
    left: 0px;
}

#header {
    width: 100%;
    height: 170px;
    position: absolute;
    top: 0px;
    left: 0px;
}

#footer {
    width: 100%;
    height: 210px;
    position: absolute;
    top: calc(100% - 210px);
    left: 0px;
    text-transform: lowercase;
    text-align: center;
    line-height: 30px;
    padding-top: 30px;
    transition-property: top;
    transition-duration: 500ms;
    transition-timing-function: cubic-bezier(.15, 1, .5, 1);
}

#footer span {
    cursor: pointer;
    display: block;
    width: 100%;
}

#logo {
    width: 100%;
    height: 170px;
    text-transform: lowercase;
    text-align: center;
    line-height: 17px;
    font-size: 25px;
    padding-top: 81px;
    cursor: pointer;
}

#logo span {
    font-size: 10.5px;
}

#hamburger {
    display: none;
}

#undermat {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0px;
    left: 0px;
    padding-top: 170px;
}

#carousel {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0px;
    left: 0px;
    padding-bottom: 220px;
    cursor: ns-resize;
}

#carousel > .wrap {
    overflow: hidden;
}

.needle {
    width: 100%;
    height: 0%;
    position: absolute;
    left: 0px;
    border-right: 10px solid #000000;
    transform: translateY(0);
    transition-property: height, transform;
    transition-duration: 500ms;
    transition-timing-function: cubic-bezier(.15, 1, .5, 1);
}

.needle .wrap {
    opacity: 0.1;
    background-color: #000000;
}

.item {
    width: 60px;
    opacity: 0;
    cursor: pointer;
    position: absolute;
    left: calc(50% - 30px);
    top: 0;
    transform: translateY(0);
    transition-property: opacity, height, transform;
    transition-duration: 500ms;
    transition-timing-function: cubic-bezier(.15, 1, .5, 1);
}

.item:hover {
    opacity: 1 !important;
}

.frame {
    width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
	overflow: hidden;
	backface-visibility: hidden;
	transform: translateY(0%);
}

.frame > div > .wrap {
    width: calc(100% - 300px);
    left: 300px;
}

#overlays {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    height: 100%;
    padding-left: 300px;
}

body.overlayed #overlays {
    top: 0;
}

.overlay {
    display: none;
    position: absolute;
    height: calc(100% - 162px);
    width: 80%;
    top: 81px;
    left: 10%;
}

.overlay > .wrap {
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}

.overlay * {
    color: #000000;
}

.overlay.open {
    display: block;
}

.writing {
    background-color: #ffffff;
    padding: 30px;
    width: 100%;
    font-size: 16px;
}

.canvas {
    display: block;
    height: 100%;
    width: 100%;
    position: absolute;
    top: 0px;
    left: 0px;
    background-color: #ffffff;
}

.lining {
    display: block;
    height: 100%;
    width: 100%;
    position: absolute;
    top: 0px;
    left: 0px;
    opacity: 0.08;
    background-size: cover;
    background-position: center;
    transition: transform 50ms linear;
    transform: scale(1);
}

.edge {
    position: absolute;
    top: 0px;
    left: 0px;
    height: 100%;
    width: 100%;
    padding: 40px;
}

.object {
    width: 100%;
    height: 100%;
    object-fit: contain;
	font-family: 'object-fit: contain';
    transition: opacity;
    transition-duration: 500ms;
    transition-timing-function: cubic-bezier(.15, 1, .5, 1);
}

body.overlayed .object {
    opacity: 0;
}


#loader {
	display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0px;
    left: 0px;
    padding-left: 300px;
}

#loader * {
    color: #000000;
}

.bubble-container {
    position: absolute;
    top: 40%;
    left: calc(50% - 30px);
	display: block;
	margin:auto;
	width:60px;
    line-height: 20px;
    text-align: center;

}

.bubble {
	width: 50px;
	height: 50px;
	background: #666666;
	border-radius: 50%;
	display: flex;
    margin-left: 5px;
}

.bubble:before {
	content:"";
	width: 0;
	height: 0;
	margin:auto;
	border: 11px solid #eeeeee;
	border-radius: 50%;
	animation: bubble 1.15s infinite;
}

@keyframes bubble {
	70%{
		width: 50px;
		height: 50px;
	}
	100%{
		width: 50px;
		height: 50px;
		border-width: 0;
	}
}

@media all and (max-width: 700px) {

    #slide {
        width: 100%;
        height: 70px;
    }

    #header {
        height: 70px;
        background-color: #666666;
    }

    #logo {
        width: 180px;
        height: 70px;
        text-transform: lowercase;
        text-align: center;
        line-height: 17px;
        font-size: 25px;
        padding-top: 16px;
    }

    #undermat {
        top: 70px;
        height: 0px;
        padding: 0;
    }

    #carousel {
        padding: 0;
    }

    #footer {
        background-color: #999999;
        position: fixed;
        height: 120px;
        text-align: left;
        padding-top: 10px;
        top: -70px;
    }

    #footer span {
        padding-left: 25px;
    }

    body.overlayed #footer {
        top: 70px;
    }

    #content {
        padding-left: 0;
        padding-top: 70px;
    }

    #overlays {
        padding-left: 0;
        padding-top: 70px;
    }

    .overlay {
        height: calc(100% - 210px);
        top: 165px;
    }

    .writing {
        background-color: #ffffff;
        padding: 30px;
    }

    body.overlayed .object {
        opacity: 0;
    }

    .frame > div > .wrap {
        height: calc(100% - 70px);
        width: 100%;
        left: 0px;
        top: 70px
    }

    .edge {
        padding: 0;
    }

    #hamburger {
        display: block;
        width: 30px;
        height: 30px;
        top: 21px;
        right: 30px;
        position: absolute;
        transform: rotate(0deg);
        transition: .5s ease-in-out;
        cursor: pointer;
    }

    #hamburger span {
        display: block;
        position: absolute;
        height: 2px;
        width: 15px;
        background: #ffffff;
        opacity: 1;
        transform: rotate(0deg);
        transition: .25s ease-in-out;
    }

    #hamburger span:nth-child(even) {
        left: 14px;
    }

    #hamburger span:nth-child(odd) {
        left:0px;
    }

    #hamburger span:nth-child(1), #hamburger span:nth-child(2) {
        top: 0px;
    }

    #hamburger span:nth-child(3), #hamburger span:nth-child(4) {
        top: 14px;
    }

    #hamburger span:nth-child(5), #hamburger span:nth-child(6) {
        top: 28px;
    }

    #hamburger span:nth-child(1), #hamburger span:nth-child(5) {
        transform-origin: 0 50%;
    }

    #hamburger span:nth-child(2), #hamburger span:nth-child(6) {
        transform-origin: 100% 50%;
    }

    body.overlayed #hamburger span:nth-child(1), body.overlayed #hamburger span:nth-child(6) {
        transform: rotate(45deg);
    }

    body.overlayed #hamburger span:nth-child(2), body.overlayed #hamburger span:nth-child(5) {
        transform: rotate(-45deg);
    }

    body.overlayed #hamburger span:nth-child(1), body.overlayed #hamburger span:nth-child(2), body.overlayed #hamburger span:nth-child(5), body.overlayed #hamburger span:nth-child(6) {
        width: 20px;
    }

    body.overlayed #hamburger span:nth-child(3) {
        left: 0px;
        width: 0px;
    }
    body.overlayed #hamburger span:nth-child(4) {
        left: calc(100% - 1px);
        width: 0px;
    }

    body.overlayed #hamburger span:nth-child(2), body.overlayed #hamburger span:nth-child(6) {
        left: calc(100% - 22px);
    }

    #loader {
        padding: 0px;
    }
}

@media all and (max-width: 240px) {

    #hamburger {
        visibility: hidden;
    }
}

