#wax {
	display: block;
	width: 150px;
	height: 150px;
	background: url(../img/wax.png) no-repeat;
}

#wax-half {
	display: none;
	margin: 0 auto;
	margin-top: 45px;
	margin-bottom: -120px;
	width: 139px;
	height: 75px;
	background: url(../img/wax.png) no-repeat;
	background-position-y: -80px;
}

#stamp {
	float: right;
	display: block;
	width: 135px;
	height: 110px;
	margin-top: -100px;
	margin-right: -7px;
	background: url(../img/stamp-base.png) no-repeat;
}

#stamp img {
	display: block;
	margin: 8% auto;
	height: 82%;
}

#recipient {
	font-size: 1.5em;
	line-height: 1.6;
	float: left;
	cursor: default;
	user-select: none;
	-webkit-user-select: none;
	-moz-user-select: none;
	-o-user-select: none;
	color: #9b4849;
}

#envelope {
	display: none;
}

#open {
	width: 150px;
	text-align: center;
	margin-top: 50px;
	margin-left: 200px;
}

#flipback {
	position: fixed;
	bottom: 5px;
	right: 3px;
	font-size: 20px;
}

#close {
	position: absolute;
	bottom: 0px;
	right: 0px;
	display: block;
	width: 100%;
	height: 100%;
	cursor: grab;
}

/**************container***************/
section.container {
	position: relative;
	width: 600px;
	height: 300px;
	margin: 280px auto 0;
	perspective: 1000px;
	-webkit-perspective: 1000px;
	-moz-perspective: 1000px;
}

section.container>form.flip {
	width: 100%;
	height: 100%;
	position: absolute;
	transform: rotateY(180deg);
	-webkit-transform: rotateY(180deg);
	-moz-transform: rotateY(180deg);
	transform-style: preserve-3d;
	-webkit-transform-style: preserve-3d;
	-moz-transform-style: preserve-3d;
	transition: transform 0.7s 0s;
	-webkit-transition: -webkit-transform 0.7s 0s;
	-moz-transition: -moz-transform 0.7s 0s;
	transform-origin: center center;
	-webkit-transform-origin: center center;
	-moz-transform-origin: center center;
}

section.container>form.flip>.front,
section.container>form.flip>.back {
	position: absolute;
	width: 100%;
	height: 100%;
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
	-moz-backface-visibility: hidden;
}

section.container>form.flip>.back {
	transform: rotateY(180deg);
	-webkit-transform: rotateY(180deg);
	-moz-transform: rotateY(180deg);
	background: #837362;
	box-shadow: inset 0 10px 30px -10px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(0, 0, 0, 0.2), inset 0 2px 0 rgba(255, 255, 255, 0.2);
}

section.container:target>form.flip {
	transform: rotateY(0deg);
	-webkit-transform: rotateY(0deg);
	-moz-transform: rotateY(0deg);
}

.no-csstransforms3d section.container:target>form.flip>.back {
	display: none;
}

/* lid */
.container#lid {
	position: relative;
	width: 100%;
	height: 50%;
	perspective: 800px;
	-webkit-perspective: 800px;
	-moz-perspective: 800px;
	z-index: 2;
	transition: z-index 0s 1s;
	-webkit-transition: z-index 0s 1s;
	-moz-transition: z-index 0s 1s;
}

.no-csstransforms3d .container#lid {
	transition: none;
	-webkit-transition: none;
	-moz-transition: none;
}

#content:target .container#lid {
	z-index: -1;
	transition: z-index 0s .5s;
	-webkit-transition: z-index 0s .5s;
	-moz-transition: z-index 0s .5s;
}

.no-csstransforms3d #content:target .container#lid {
	transition: none;
	-webkit-transition: none;
	-moz-transition: none;
}

.no-csstransforms3d .container#lid .back {
	display: none;
}

.no-csstransforms3d #content:target .container#lid .back {
	display: block;
	top: -150px;
}

/* flip */
#lid .flip {
	width: 100%;
	height: 100%;
}

#lid .flip {
	position: absolute;
	transform-style: preserve-3d;
	-webkit-transform-style: preserve-3d;
	-moz-transform-style: preserve-3d;
	transition: transform 0.5s 1s;
	-webkit-transition: -webkit-transform 0.5s 1s;
	-moz-transition: -moz-transform 0.5s 1s;
	transform-origin: left top;
	-webkit-transform-origin: left top;
	-moz-transform-origin: left top;
}

#lid .flip>.front,
#lid .flip>.back {
	position: absolute;
	width: 100%;
	height: 100%;
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
	-moz-backface-visibility: hidden;
}

#lid .flip>.back {
	transform: rotateX(180deg);
	-webkit-transform: rotateX(180deg);
	-moz-transform: rotateX(180deg);
}

#content:target #lid .flip {
	transform: rotateX(180deg);
	-webkit-transform: rotateX(180deg);
	-moz-transform: rotateX(180deg);
	transition-duration: 0.5s;
	-webkit-transition-duration: 0.5s;
	-moz-transition-duration: 0.5s;
	transition-delay: 0s;
	-webkit-transition-delay: 0s;
	-moz-transition-delay: 0s;
}

#letter .flip>div,
#lid .flip>div,
section.container>form.flip>div {
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
}

#lid .flip .front,
section.container>form.flip .front {
	background: beige url("../img/texture.png");
	border: 1px #eae1d5 solid;
	box-shadow: inset 0 0 10px 1px rgba(255, 255, 255, 0.6), 0 2px 3px -2px rgba(0, 0, 0, 0.6);
	padding: 20px 30px;
	color: #837362;
	text-shadow: 0 1px 0 #fff, 0 1px 0 #fff;
}

section.container>form.flip>.front {
	font-size: 1.25em;
	background: beige url("../img/texture.png");
	padding: 120px 20px 20px 40%;
	border: 1px #eae1d5 solid;
}

#lid .flip .front {
	font-size: 1.25em;
	border-radius: 0 0 40px 40px;
}

#lid .flip .back {
	background: #837362;
	border-radius: 40px 40px 0 0;
	border: 35px solid rgba(255, 255, 255, 0.1);
	border-bottom: none;
	box-shadow: inset 0 10px 30px 10px rgba(0, 0, 0, 0.1);
}

/* top */
#top {
	text-align: right;
	background: beige url("../img/texture.png");
	background: -moz-linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(163, 140, 130, 0.17) 100%), url("../img/texture.png");
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, rgba(255, 255, 255, 0)), color-stop(100%, rgba(163, 140, 130, 0.17))), url("../img/texture.png");
	background: -webkit-linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(163, 140, 130, 0.17) 100%), url("../img/texture.png");
	background: -o-linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(163, 140, 130, 0.17) 100%), url("../img/texture.png");
	background: -ms-linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(163, 140, 130, 0.17) 100%), url("../img/texture.png");
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	width: 100%;
	height: 65%;
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: 1;
	border: 1px #eae1d5 solid;
	box-shadow: inset 0 0 10px 1px rgba(255, 255, 255, 0.6), 0 -2px 4px -3px rgba(0, 0, 0, 0.75), 0 2px 3px -2px rgba(0, 0, 0, 0.6);
}

/* data */
#data {
	height: 210px;
	overflow-y: auto;
	touch-action: pan-y;
}

#data::-webkit-scrollbar {
	width: 11px;
}

#data::-webkit-scrollbar-thumb {
	background: #908172;
	border-radius: 5px;
}

#data::-webkit-scrollbar-track {
	border-radius: 10px;
	background-color: #eae1d5;
}

/* letter */
#letter {
	background: #fafafa;
	width: 90%;
	height: 95%;
	position: absolute;
	left: 5%;
	top: 5%;
	z-index: 0;
	transition: 0s 0s;
	-webkit-transition: .5s .5s;
	-moz-transition: .5s .5s;
	-o-transition: 0s 0s;
}

#content:target #letter {
	top: -40%;
	transition: .5s .5s;
	-webkit-transition: .5s .5s;
	-moz-transition: .5s .5s;
	-o-transition: .5s .5s;
}

#letter .container {
	position: absolute;
	width: 100%;
	perspective: 800px;
	-webkit-perspective: 800px;
	-moz-perspective: 800px;
	top: 0;
	left: 0;
	transition: 0s 0s;
	-webkit-transition: 0s 0s;
	-moz-transition: 0s 0s;
	z-index: 1;
}

#letter .flip {
	width: 100%;
	height: 100%;
}

#letter .flip {
	position: absolute;
	transform-style: preserve-3d;
	-webkit-transform-style: preserve-3d;
	-moz-transform-style: preserve-3d;
	transition: transform 0.5s 0s;
	-webkit-transition: -webkit-transform 0.5s 0s;
	-moz-transition: -moz-transform 0.5s 0s;
	transform-origin: left top;
	-webkit-transform-origin: left top;
	-moz-transform-origin: left top;
}

#letter .flip>.front,
#letter .flip>.back {
	position: absolute;
	width: 100%;
	height: 100%;
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
	-moz-backface-visibility: hidden;
}

#letter .flip>.back {
	transform: rotateX(180deg);
	-webkit-transform: rotateX(180deg);
	-moz-transform: rotateX(180deg);
}

#content:target #letter .flip {
	transform: rotateX(180deg);
	-webkit-transform: rotateX(180deg);
	-moz-transform: rotateX(180deg);
	transition-duration: 0.5s;
	-webkit-transition-duration: 0.5s;
	-moz-transition-duration: 0.5s;
	transition-delay: 1s;
	-webkit-transition-delay: 1s;
	-moz-transition-delay: 1s;
}

#content:target #letter .container {
	z-index: -1;
	transition: z-index 0s 1.5s;
	-webkit-transition: z-index 0s 1.5s;
	-moz-transition: z-index 0s 1.5s;
}

#letter .flip .front {
	background: #fafafa;
	box-shadow: 0 2px 3px 0 rgba(0, 0, 0, 0.2);
}

.no-csstransforms3d #content:target #letter .flip .front {
	display: none;
}

#letter .flip .back {
	background: #fafafa;
	background: -webkit-linear-gradient(top, #fafafa 90%, #f7f7f7 100%);
	background: -moz-linear-gradient(top, #fafafa 80%, #f7f7f7 100%);
	padding: 40px 40px 0;
	font-size: 18px;
	line-height: 1.4;
	border-bottom: 1px solid rgba(255, 255, 255, 0.5);
	box-shadow: 0 -5px 8px -4px rgba(0, 0, 0, 0.15);
}

.no-csstransforms3d #content:target #letter .flip .back {
	top: -140px;
}

.letter {
	font-family: cursive;
}