@import url('https://fonts.googleapis.com/css?family=Playfair+Display:400,700');

@font-face {
	font-family: 'Quicksand';
	src: url('/fonts/Quicksand-Italic.woff') format('woff');
	font-weight: normal;
	font-style: italic;
}

@font-face {
	font-family: 'Quicksand';
	src: url('/fonts/Quicksand-Regular.woff') format('woff');
	font-weight: normal;
	font-style: normal;
}

html {
	width: 100%;
	height: 100%;
}

body {
	background-color: #ccc;
	background-image: url(/img/dress.jpg);
	background-size: cover;
	background-position: center;
	font-family: 'Quicksand', sans-serif;
	color: #575756;
	font-size: 20px;
	line-height: 1.3;
	max-height: 100%;
	max-width: 100%;
	overflow-x: hidden;
}

.pink {
	color: #ffced3;
}

.abby, .lisette {
	color: #dadada;
	position: absolute;
	z-index: -1;
	bottom: 15px;
	font-family: 'Playfair Display', serif;
	font-weight: 400;
	font-size: 25px;
}

.lisette {
	left: 15px;
}

.abby {
	right: 15px;
}

.date {
	position: absolute;
	top: 15px;
	left: 50%;
	transform: translateX(-50%);
	color: #dadada;
	z-index: -1;
	font-family: 'Playfair Display', serif;
	font-weight: 400;
	font-size: 25px;
}

#heart {
	position: absolute;
	width: 374px;
	height: 310px;
	left: 50%;
	transform: translate(-50%, -50%);
	top: 50%;
	text-align: center;
}

#heart:before,
#heart:after {
	position: absolute;
	content: "";
	background: #dadada;
	-webkit-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	-o-transform: rotate(-45deg);
	transform: rotate(-45deg);
	-webkit-transform-origin: 0 100%;
	-moz-transform-origin: 0 100%;
	-ms-transform-origin: 0 100%;
	-o-transform-origin: 0 100%;
	transform-origin: 0 100%;
	z-index: -1;

	left: 187px;
	top: -20px;
	width: 230px;
	height: 330px;

	-moz-border-radius: 250px 250px 0 0;
	border-radius: 250px 250px 0 0;

}
#heart:after {
	left: -42px;
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	-o-transform: rotate(45deg);
	transform: rotate(45deg);
	-webkit-transform-origin: 100% 100%;
	-moz-transform-origin: 100% 100%;
	-ms-transform-origin: 100% 100%;
	-o-transform-origin: 100% 100%;
	transform-origin :100% 100%;
}

.info {
	position: absolute;
	top: 15px;
	right: 15px;
	width: 20px;
	height: 20px;
	border: 2px solid #dadada;
	border-radius: 50%;
	color: #dadada;
	font-size: 15px;
	line-height: 20px;
	font-style: italic;
	text-align: center;
	font-weight: bold;
}

.info .popup {
	display: none;
	font-style: normal;
	text-align: left;
	font-weight: normal;
}

.info .popup.shown {
	display: block;
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: calc(100% - 60px);
	background-color: white;
	z-index: 2;
	color: #333333;
	padding: 20px;
	border-radius: 10px;
	max-height: 90%;
}

.info .popup .scroll {
	height: 100%;
	max-height: 100%;
	overflow-y: scroll;
}

.info .popup .close {
	position: absolute;
	top: 0;
	right: 0;
	width: 25px;
	height: 25px;
	border-radius: 0 50% 0 0;
	color: black;
	background-color: #dadada;
	font-size: 20px;
	line-height: 25px;
	text-align: center;
	cursor: pointer;
}

a, a:hover, a:visited {
	color: #e3007a;
	text-decoration: none;
}

a:hover {
	text-decoration: underline;
}

form {
	padding: 20px 0;
}

input[type="number"] {
	height: 50px;
	font-family: 'Quicksand', sans-serif;
	letter-spacing: 5px;
	padding: 0 0 0 20px;
	width: 115px;
	text-align: left;
	font-size: 20px;
}

button {
	background-color: #ffded3;
	border: none;
	padding: 7px 20px;
	border-radius: 10px;
	font-family: 'Quicksand', sans-serif;
	font-size: 22px;
	margin: 20px 10px;
	cursor: pointer;
}

p {
	margin: 0 15px 1em;
}

ul {
	margin: 0 15px 1em;
	padding: 0;
}

.wrong_code {
	text-align: right;
	font-size: 12px;
	margin: 0 95px 1em 0;
}

p.confirmed,
p.unconfirmed {
	color: white;
	font-family: 'Playfair Display', serif;
	background-color: #e3007a;
	padding: 5px;
	margin-top: 50px;
	border-radius: 15px;
}

span.name {
	white-space: nowrap;
}

.responses {
	top: 20px;
	margin: 30px auto;
	background-color: white;
	max-width: calc(100% - 40px);
	width: 375px;
	padding: 20px;
	border-radius: 20px;
	position: relative;
}

.responses .close {
	position: absolute;
	top: 0;
	right: 0;
	width: 25px;
	height: 25px;
	border-radius: 0 20px 0 0;
	color: black;
	background-color: #dadada;
	font-size: 20px;
	line-height: 25px;
	text-align: center;
	cursor: pointer;
}

.responses table {
	width: 100%;
}

.responses tr {
	color: rgba(87, 87, 86, 0.5);
}

.responses tr td:last-child {
	text-align: right;
}

.responses tr.yes {
	color: rgb(87, 87, 86);
}

.responses tr.no {
	color: rgb(200, 0, 0);
}

@media (min-height: 450px) and (min-width: 700px) {
	body {
		font-size: 16px;
	}

	button {
		font-size: 16px;
		margin: 15px 10px;
	}

	.abby, .lisette {
		color: #dadada;
		font-family: 'Playfair Display', serif;
		font-weight: 400;
		font-size: 55px;
		position: absolute;
		bottom: 5%;
	}

	.lisette {
		left: auto;
		right: 65%;
	}

	.abby {
		right: auto;
		left: 65%;
	}

	#heart {
		width: 456px;
		height: 360px;
		text-align: center;
		margin-top: 40px;
	}

	#heart:before,
	#heart:after {
		left: 228px;
		top: -50px;
		width: 270px;
		height: 400px;

		-moz-border-radius: 250px 250px 0 0;
		border-radius: 250px 250px 0 0;
	}

	#heart:after {
		left: -42px;
	}

	.wrong_code {
		text-align: right;
		font-size: 12px;
		margin: 0 15px 1em 0;
	}

	p.confirmed,
	p.unconfirmed {
		margin-top: 20px;
		width: 70%;
		margin-left: 15%;
	}

	.info .popup.shown {
		width: 500px;
	}

	.info .popup .scroll {
		overflow-y: auto;
	}
}
