/*///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
//	ALLGEMEIN
//
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// */

* {
	padding: 0;
	margin: 0;
	box-sizing: border-box;
}

html,
body {
	background: none;
	color:#FFF;
}

a {
	outline: 0;
	text-decoration: none;
}

html {
	height: 100%;
}

body {
	height: 100%;
}

body {
	text-align: center;
	overflow: hidden;
	margin:0 auto;
	background-image:url('../img/gradient.png');
	background-size:cover;
}
#wrapper {
	width: 100%;
	max-width:1000px;
}

#overflow {
	height: 100%;
	width: 100%;
	display: flex; 
	justify-content: center; 
	position: absolute; 
	overflow: hidden;
	overflow-y: scroll;
	position: relative;
}


#loader{width:100%;height:100%;position: fixed;
top:0;left:0;z-index:999999;
    background: url(../img/loader.gif) #252525 no-repeat 50% 50%;
    background-size: 50px 50px;opacity: 0.8;display:none;}

/*///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
//	FONTS
//
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// */

@font-face {
    font-family:'Interstate-Regular';
    src:url("../fonts/InterstateOT-Regular.eot") format("eot"),
		url("../fonts/InterstateOT-Regular.woff") format("woff"),
		url("../fonts/InterstateOT-Regular.ttf") format("truetype");
    font-style:normal;font-weight:400;
}
@font-face {
    font-family:'Interstate-Bold';
		src:url("../fonts/Interstate-Bold.woff") format("woff");
    font-style:normal;font-weight:400;
}
@font-face {
    font-family:'Tchibo-Pen';
		src:url("../fonts/TchiboPen.woff") format("woff");
    font-style:normal;font-weight:400;
}

@font-face {
    font-family:'Roboto-Bold';
		src:url("../fonts/Roboto-Bold.woff") format("woff");
    font-style:normal;font-weight:400;
}




/*///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
//	TYPO
//
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// */

* {
	font-family: 'Interstate-Regular';
	font-size: 15px;
	line-height: 20px;
	color: #000;
	-webkit-touch-callout: none;
}


/*///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
//	HEADER
//
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// */

#header {
	width: 100%;
	height: 50px;
	position: relative;
	top: 0;
	left: 0;
	background: #fff;
	margin-bottom: 70px;
	box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.2);
	text-align: left;
}

p#generator-title {
	color: rgb(133, 118, 80);
	font-size: 20px;
	padding: 15px 0 0 20px;
}


/*///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
//	FORM
//
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// */

#form {
	width: 100%;
	max-width: 1000px;
	margin: 0;
	padding-top: 20vh;
	padding-bottom: 5vh;
    overflow: hidden;
	position: relative;
	min-height: 1100px;
}

#result {
	width: 100%;
	max-width: 1000px;
	/* margin: 10vw 0;*/
	margin: 0;
	display: none;
		padding: 20vh 0;
	
    overflow: hidden;
}

#result .container {
	display: flex;
	justify-content: center;
	align-items: center;
}

#result .envolope {
	width: 663px;
	height: 663px;
	background: url('../img/envelope_background.png');
	display: flex;
	justify-content: center;
	align-items: center;
    background-size: 100% 100%;
	z-index:999;
}

#result h1 {
	font-size: 25px;
    color: inherit;
    margin: 0 0 20px 0;
    line-height: 32px;
    font-family: 'Interstate-Regular';
    font-weight: 200;
}

#result h3 {
	
    font-size: 14px;
    color: inherit;
    margin: 0px 30px 0px 30px;
    line-height: 20px;
    font-family: 'Interstate-Regular';
    font-weight: 200;
}

#result .banner p{color:inherit;}

#result .banner {
	width: 100%;
	height: auto;
	padding: 50px 20px;
	margin: 0px 10px 0 10px;
    color: #FFF;
}

.form-error {
	color: red;
}

.form-row {
	position: relative;
	top: 0;
	left: 0;
	margin-bottom: 40px;
	width: 80%;
}

.button-row {
	margin-top: 50px;
	text-align: right;
	height: 50px;
	margin-bottom: 0;
}

#form label {
	font-family: 'Interstate-Regular';
	height: 20px;
	display: block;
	position: relative;
	top: 0;
	left: 0;
	color: #FFF;
	margin-bottom: 5px;
	font-size: 16px;
	text-align: left;
}

#form .counter_container {
	font-family: 'Interstate-Regular';
	position: absolute;
	top: 0;
	right: 0;
	font-size: 11px;
	color: #FFF;
}
#form .count {
	font-family: 'Interstate-Regular';
	position: absolute;
	top: 0;
	right: 0;
	font-size: 11px;
	color: #FFF;
}

#form input,
.input-select {
	width: 100%;
	height: 50px;
	display: block;
	outline: none;
	/*border: 1px solid #ced0d1;*/
	border: 0.5px solid #efefef;
	background: #fff;
	/*box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.1);*/
	padding-left: 13px;
	border-radius: 8px;
	
}


#form textarea{
	width: 100%;
	
	display: block;
	outline: none;
	padding: 15px;
	/*border: 1px solid #ced0d1;*/
	border: 0.5px solid #efefef;
	background: #fff;
	/*box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.1);*/
	padding-left: 13px;

  resize: none;
	border-radius: 8px;
	
}

#form *:focus {
	outline: none;
	color: #000;
}

button#create-template{
	position: absolute;
    top: 0;
	right: 0;
	border:none;
	background:none;
	height:50px;
}
button#create-template:hover{
	cursor: pointer;
}
button#create-template:active{
	transform: scale(0.9);
}


button#create-template img{height: 100%;}



button:active{transform:scale(0.9);}

button.generator_button{
	width: 200px;
	float: none;
	background: #a6192e;
	border: none;
	border-radius: 0px 10px 0px 10px;
	height: 40px;
	margin-bottom: 10px;
	-moz-transform: skew(-10deg, 0deg);
	-webkit-transform: skew(-10deg, 0deg);
	-o-transform: skew(-10deg, 0deg);
	-ms-transform: skew(-10deg, 0deg);
	transform: skew(-10deg, 0deg);
	color:white;
}

button.generator_button:hover{
	background: #cc3b5e;
	cursor: pointer;
}
button.generator_button:active{
	background: #560018;
}

.input-select.error, input.error {
	border: 2px solid #FF0000 !important;
}

.serror {
	border: 12px solid #FF0000!important;
}

.input-select {
	background: #fff url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDIyLjEuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkViZW5lXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHZpZXdCb3g9IjAgMCA0MCA0MCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNDAgNDA7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KCS5zdDB7ZmlsbDpub25lO3N0cm9rZTojMDAwMDAwO3N0cm9rZS1taXRlcmxpbWl0OjEwO30KPC9zdHlsZT4KPHBvbHlsaW5lIGNsYXNzPSJzdDAiIHBvaW50cz0iMjAsMTkgMTMsMjYgNiwxOSAiLz4KPC9zdmc+Cg==') no-repeat center right;

	padding-left: 0;
	padding-right: 0;
	height:50px;
	border: 0.5px solid #efefef; 
	

}

.input-select::after {
	content: "";
}


select {
	width: 100%;
	height: 100%;
	padding-left: 20px;
	padding-right: 35px;
	display: block;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border: 0;
	background: transparent;
	border: 0;
	cursor: pointer;
	outline: none;
	border-radius: 0px;
	white-space: nowrap;
}

select:-moz-focusring {
	text-shadow: 0 0 0 #000;
}

select::-ms-expand {
	display: none;
}


.blocked {
	display: none;
}

#upper {
	width: 100%;
	height: 50%;

	padding-bottom: 25px;
}

#lower {
	width: 100%;
	height: 50%;
	padding-top: 25px;

    clear: left;
    border-top: 1px solid #ced0d155 !important;
    margin-top: 25px;
}

.content-left {
	width: 50%;
	height: 100%;
	float: left;
}

.content-right {
	width: 50%;
	height: 100%;
	float: right;
}



/*///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
//	PREVIEW
//
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// */

#bigpreview-envelope
{
	width: 663px;
	height: 663px;
	background-size: 100% 100%;
	float: right;

}

#preview-envelope,
#preview-card_small {
	width: 320px;
	height: 320px;
	background-size: 100% 100%;
	float: right;
}


#bigpreview-envelope{
	/* background-image: url('../img/envelope-test.png'); */
	padding-bottom: 40px;
	position: relative;
	top: 0;
	right: 0;
}

#preview-envelope {
	/* background-image: url('../img/envelope-test.png'); */
	padding-bottom: 20px;
	position: relative;
	top: 0;
	right: 0;
}

#bigpreview-envelope p{
	font-family: 'Interstate-Regular';
	text-align: left;
	padding-left: 64px;
	color: #CC3B5E;
}

#preview-envelope p {
	font-family: 'Interstate-Regular';
	text-rendering: optimizeLegibility;
	color: #CC3B5E;
		text-align: left;
	padding-left: 25px;
	text-align: left;
}



#bigpreview-title{
	/* font-size: 41px;
	top: 245px; */
	font-size: 39px;
	padding-top: 356px;
}

#preview-title {
	font-size: 15px;
	padding-top: 136px;
}

#bigpreview-name
{
	font-family: 'Interstate-Bold', 'Roboto-Bold'!important;
	font-size: 58px;
	word-break: break-word;
	max-width:90%;
    line-height: 48px;
	padding-top: 45px;
	padding-bottom: 10px;
}

#preview-name {
	font-family: 'Interstate-Bold', 'Roboto-Bold'!important;
	font-size: 22px;
	text-align: left;
	word-break: break-word;
	max-width:90%;
	padding-top: 11px;
}


#bigpreview-surname
{
	font-family: 'Interstate-Bold', 'Roboto-Bold'!important;
	font-size: 58px;
	word-break: break-word;
	max-width:90%;
	line-height: 45px;
}

#preview-surname {
	font-family: 'Interstate-Bold', 'Roboto-Bold'!important;
	font-size: 22px;
	text-align: left;
	word-break: break-word;
	max-width:90%;
	padding-top: 4px;
}


#preview-card_small {
	border-radius: 30px;
	position: relative;
	right: 0;
	top: 0;
	height: 320px;
	width: 320px;

}

#preview-card_small img{
	width: 100%;
}



#preview-card_small .content {
	padding: 160px 20px 0 20px;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}

#preview-card_small p {
	font-family: 'Interstate-Regular';
	position: relative;
	color: #fff;
	font-size: 9px;
	line-height: 10px;
}



#preview-card_small p.salut,#preview-card_small p.txt{
	margin-bottom:12px;
	padding:0 0; 
    white-space: break-spaces;
	max-height: 85px;
    overflow: hidden;
	word-break: break-word;
	/* font-weight: 800; */
}

#sender-preview {
	font-family: 'Tchibo-Pen'!important;
	position: relative;
	color: #fff;
	font-size: 12px!important;
	line-height: 14px;
}

#myCopy {
	position: absolute;
	left: -5000px;
	top:-5000px;
}


button#getcard{    
	background-color: transparent;
    border: 1px solid #FFF;
    font-size: 16px;
    border-radius: 0px 0px 0px 0px;
    text-align: center;
    padding: 0 20px 0 30px;
    color: #FFF;
    font-weight: 500;
    font-family: 'Interstate-Regular';
    width: auto;
    line-height: 40px;
    margin-top: 0px;
    position: relative;
    bottom: 20px;
	display: flex;}

	button#getcard #mssg{font-size: 16px; font-weight: 500;
    font-family: 'Interstate-Regular';line-height: 40px; color: #FFF;}

  button#getcard .pfeil{
    position: relative;
    top: 0;
    right: 0px;
    width: 40px;
    height: 40px;
    background: #fff0 url('../img/arrow-svg.png') no-repeat center right;
    transform: translateY(-20%) rotate(270deg);
    filter:invert(0);
}


/*///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
//	Background
//
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// */


.top_left{
	position: absolute;
	left: 0; top: 0;
	height: 40vh; width: 22vw;
	display: flex;
	justify-content: center;

}
.top_right{
	position: absolute;
	right: 0; top: 0;
	height: 25vh;
	margin-right: 5%;
	display: flex;
	justify-content: center;
}
.bottom_left{
	position: fixed;
	left: 0; bottom: 0;
	height: 20vh;width: 40vw;
	margin-left:2vw; margin-bottom:2vw;
	display: flex;
	justify-content: flex-start;
	align-items: flex-end;
}
.bottom_right{
	position: fixed;
	right: 0; bottom: 0;
	margin-right:2vw; margin-bottom:2vw;
	height: 20vh;
	display: flex;
	justify-content: center;
	align-items: flex-end;
}


.top_left img{
	height: 100%;
}
.top_right img{
	height: 100%;
}
.bottom_left img{
	height: 100%;
}
.bottom_right img{
	height: 100%;
}

.bottom_center{
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 20vh;
}

#confetti-canvas{
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
}