@import url('https://fonts.googleapis.com/css2?family=Fjalla+One:wght@400;500;600;700');
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;600;700');

body {
	overflow: hidden; /* Hide scrollbars */
	font-family: 'Roboto', sans-serif;
	background-color: white;
}


#stellar_postcards, #splash, #hide_fouc {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 9001;
}

#hide_fouc {
	background-color: #565348;
	z-index: 9009;
}

#hide_cf7_2 {
	position: absolute;
	top: -3000px;
	left: -3000px;
}


#stellar_postcards {
	background-color: white;
}

.form-section {
	width: 1212px;
	height: 635px;
	position: absolute;
	top: 0;
	left: 50%;
	margin-left: -606px;
	background-color: white;
	background-size: cover;
	padding: 40px;
}

#keyboard_container {
	width: 1212px;
	height: 635px;
	position: absolute;
	top: 0;
	left: 50%;
	margin-left: -606px;
}


#stellar_postcards {
	background-color: white;
	/* background image is set inline, in the php */
	background-size: cover;
	background-position: center;
}

#stellar_logo {
	position: absolute;
	width: 327px;
	height: 54px;
	top: 13px;
	left: 30px;
	background-size: cover;
	background-position: center;
	-webkit-user-drag: none;
}

.progress-header {
	position: absolute;
	top: 21px;
	right: 39px;
	width: 767px;
	height: 107px;
}

#splash_pic {
	width: 1345px;
	height: 836px;
	position: absolute;
	top: 0px;
	left: 50%;
	margin-left: -672px;
	-webkit-user-drag: none;
	background-size: cover;
	background-position: center;
}


.instructions {
	color: #DB4B4F;
	text-align: center;
	font-family: 'Fjalla One', sans-serif;
	font-size: 20px;
	font-weight: 400;
}

#section1 .instructions {
	margin-top: 84px;
}

.button-next, .button-back, #exit {
	cursor: pointer;
	color: transparent;
	-webkit-user-drag: none;
	background-size: cover;
	background-position: center;
}

.button-next {
	position: absolute;
	right: 10px;
	bottom: -80px;
	width: 217px;
	height: 66px;
}
.button-next.inactive {
	opacity: 0.6;
	cursor: not-allowed;
}
.button-back {
	position: absolute;
	left: 10px;
	bottom: -80px;
	width: 219px;
	height: 66px;
}

#exit {
	position: absolute;
	right: 10px;
	bottom: -80px;
	width: 284px;
	height: 93px;
}

.text-step {
	font: normal normal normal 39px/49px Fjalla One;
	letter-spacing: 1.48px;
	color: #FFFFFF;
	text-shadow: 0px 3px 6px #00000058;
	text-align: center;
	position: absolute;
	bottom: -80px;
	left: 0;
	right: 0;
}

input[type="text"],
input[type="text"]:focus,
input[type="email"],
input[type="email"]:focus,
textarea,
textarea:focus {
	background-color: #F9F9F9 !important;
	border-radius: 10px !important;
	border: none !important;
	outline: none !important;
	resize: none !important;
}






/************************** keyboard */
.ui-keyboard-button.ui-state-active {
	/*background-color: forestgreen !important;*/
}

button:hover {
	text-decoration: none !important;
}

.ui-keyboard {
	/* adjust overall keyboard size using "font-size" */
	font-size: 12px !important;
	text-align: center;
	background: transparent;
	border: 0;
	padding: 4px;


	width: 100%;
	height: auto;
	left: 0px;
	top: 350px;
	position: absolute;
	white-space: nowrap;
	overflow-x: auto;
	/* see issue #484 */
	-ms-touch-action: manipulation;
	touch-action: manipulation;
}
.ui-keyboard-has-focus {
	z-index: 16001;
}

.ui-keyboard .ui-keyboard-keyset-normal {

}

.ui-keyboard-button {
	background: #DDF2F9 0% 0% no-repeat padding-box;
	border-radius: 14px;
	font-family: Roboto,sans-serif;
	font-weight: 800;
	/*font-size: 23px;*/
	color: #436671;
	border: 0;
	margin: 7px 10px;
	-webkit-box-shadow: none;
	box-shadow: none;
	text-transform: none !important;


	padding: 0;
	width: 63px;
	height: 47px;
	line-height: 1.5em;
	vertical-align: top;

	text-align: center;

	cursor: pointer;
	overflow: hidden;
}
.ui-keyboard-button:not([disabled]):hover {
	background: #eee;
	background-image: -webkit-linear-gradient(-90deg, #f2f2f2 0%, #d3d3d3 100%);
	background-image:         linear-gradient(-90deg, #f2f2f2 0%, #d3d3d3 100%);
}
.ui-keyboard-button:not([disabled]):active {
	background: #ddd;
	background-image: -webkit-linear-gradient(-90deg, #e5e5e5 0%, #d3d3d3 100%);
	background-image:         linear-gradient(-90deg, #e5e5e5 0%, #d3d3d3 100%);
}
.ui-keyboard-button span {
	display: block;
	width: 100%;
	text-align: center;
}
/* make action keys extra-wide */
.ui-keyboard-actionkey:not(.ui-keyboard-dec):not(.ui-keyboard-combo) {
	min-width: 6em;
}
.ui-keyboard-space {
	width: 15em;
}
.ui-keyboard-actionkey:not(.ui-keyboard-dec):not(.ui-keyboard-combo) span {
	font-size: 0.8em;
	position: relative;
}
.ui-keyboard-placeholder {
	color: #888;
}
/* disabled or readonly inputs, or use input[disabled='disabled'] { color: #f00; } */
.ui-keyboard-nokeyboard {
	color: #888;
	border-color: #888;
}
.ui-keyboard-spacer {
	display: inline-block;
	width: 1px;
	height: 0;
	cursor: default;
}
.ui-keyboard-NBSP span, .ui-keyboard-ZWSP span, .ui-keyboard-ZWNJ span, .ui-keyboard-ZWJ span,
.ui-keyboard-LRM span, .ui-keyboard-RLM span {
	font-size: 0.5em;
	line-height: 1.5em;
	white-space: normal;
}

/* combo key styling - toggles diacritics on/off */
.ui-keyboard-button.ui-keyboard-combo.ui-state-default {
	-webkit-box-shadow: 1px 1px 3px 0 rgba(213, 133, 18, 0.5);
	box-shadow: 1px 1px 3px 0 rgba(213, 133, 18, 0.5);
	border-color: #d58512;
}
.ui-keyboard-button.ui-keyboard-combo.ui-state-active {
	-webkit-box-shadow: 1px 1px 3px 0 rgba(38, 154, 188, 0.5);
	box-shadow: 1px 1px 3px 0 rgba(38, 154, 188, 0.5);
	border-color: #269abc;
}
/* (in)valid inputs */
button.ui-keyboard-accept.ui-keyboard-valid-input {
	-webkit-box-shadow: 1px 1px 3px 0 rgba(57, 132, 57, 0.5);
	box-shadow: 1px 1px 3px 0 rgba(57, 132, 57, 0.5);
	border-color: #398439;
}
button.ui-keyboard-accept.ui-keyboard-valid-input:not([disabled]):hover {
	border-color: #4cae4c;
}
button.ui-keyboard-accept.ui-keyboard-invalid-input {
	-webkit-box-shadow: 1px 1px 3px 0 rgba(172, 41, 37, 0.5);
	box-shadow: 1px 1px 3px 0 rgba(172, 41, 37, 0.5);
	border-color: #ac2925;
}
button.ui-keyboard-accept.ui-keyboard-invalid-input:not([disabled]):hover {
	border-color: #d43f3a;
}
/* unlocked icon (keyboard enabled) */
button.ui-keyboard-toggle span {
	width: .9em;
	height: .9em;
	display: inline-block;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
	/* light theme unlocked icon - fill: #111 */
	background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMCIgaGVpZ2h0PSIxMCIgZmlsbD0iIzExMSI+PHBhdGggZD0iTTguNyw0LjRINy41SDUuMHYtMS45YzAtMS40LTEuMS0yLjUtMi41LTIuNWMtMS40LDAtMi41LDEuMS0yLjUsMi41djEuOWgxLjIgdi0xLjljMC0wLjcsMC42LTEuMiwxLjItMS4yczEuMiwwLjYsMS4yLDEuMnYxLjljLTAuNywwLTEuMiwwLjYtMS4yLDEuMlY4LjggYzAsMC43LDAuNiwxLjIsMS4yLDEuMmg1LjBDOS40LDEwLDEwLDkuNCwxMCw4LjhWNS42QzEwLDUuMCw5LjQsNC40LDguOCw0LjR6IE02LjYsNy40djEuMCBjMCwwLjItMC4xLDAuMy0wLjMsMC4zUzYuMCw4LjYsNi4wLDguNFY3LjRjLTAuMi0wLjEtMC4zLTAuMy0wLjMtMC41YzAtMC4zLDAuMy0wLjYsMC42LTAuNiBTNi45LDYuNiw2LjksNi45QzYuOSw3LjEsNi44LDcuMyw2LjYsNy40eiIvPjwvc3ZnPg==');
}
/* locked icon (keyboard disabled) */
button.ui-keyboard-toggle.ui-keyboard-disabled span {
	/* light theme locked icon - fill: #111 */
	background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMCIgaGVpZ2h0PSIxMCIgZmlsbD0iIzExMSI+PHBhdGggZD0iTTcuNCA0LjRWMi41YzAtMS40LTEuMS0yLjUtMi41LTIuNWMtMS40IDAtMi41IDEuMS0yLjUgMi41djEuOSBjLTAuNyAwLTEuMiAwLjUtMS4yIDEuMnYzLjFDMS4zIDkuNCAxLjggMTAgMi41IDEwaDQuOWMwLjcgMCAxLjItMC42IDEuMi0xLjJWNS42IEM4LjcgNC45IDguMSA0LjQgNy40IDQuNHogTTUuMyA3LjR2MS4wYzAgMC4yLTAuMSAwLjMtMC4zIDAuM2MtMC4yIDAtMC4zLTAuMS0wLjMtMC4zVjcuNCBjLTAuMi0wLjEtMC4zLTAuMy0wLjMtMC41YzAtMC4zIDAuMy0wLjYgMC42LTAuNmMwLjMgMCAwLjYgMC4zIDAuNiAwLjYgQzUuNiA3LjEgNS41IDcuMyA1LjMgNy40eiBNNi4yIDQuNEgzLjdWMi41YzAtMC43IDAuNS0xLjIgMS4yLTEuMmMwLjcgMCAxLjIgMC42IDEuMiAxLjIgVjQuNHoiLz48L3N2Zz4=');
}
.ui-keyboard.ui-keyboard-disabled button:not(.ui-keyboard-toggle), .ui-keyboard.ui-keyboard-disabled input {
	opacity: 0.5;
}

/*** Alt-Keys Popup extension ***/
/* clickable overlay on top of keyboard to hide the popup */
.ui-keyboard-overlay {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	background: rgba(238, 238, 238, 0.5);
}
/* the actual popup styling, class names from the css.container option are also added */
.ui-keyboard-popup {
	display: inline-block;
	/* default buttons are 2em wide + .1em margin on either side (set in .ui-keyboard-button definition);
	so use multiples of 2.2em	for a max-width if you don't want any extra white space on the sides,
	e.g. 5 buttons * 2.2em = 11em, 6 buttons * 2.2em = 13.2em, etc */
	max-width: 22em;
	/* 10 buttons */
}
.ui-keyboard.ui-keyboard-popup-open .ui-keyboard-keyset .ui-keyboard-button {
	/* Disable keys under overlay while popup is open - see #654 */
	pointer-events: none;
}

/*** Caret extension definition ***/
/* margin-top => is added to the caret height (top & bottom) */
.ui-keyboard-caret {
	background: #c00;
	width: 1px;
	margin-top: 3px;
}

/*** Extender keyboard extension ***/
div.ui-keyboard-extender {
	margin-left: 5px;
	margin-right: 10px;
}
button.ui-keyboard-extender span {
	width: .9em;
	height: .9em;
	display: inline-block;
	margin-bottom: 3px;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
	/* light theme extender icon - fill: #111 */
	background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgc3R5bGU9ImZpbGw6IzExMSI+PGc+PHBhdGggc3R5bGU9ImZpbGw6bm9uZTtzdHJva2U6IzExMSIgZD0iTSAwLjUsNC41IDE1LjUsNC41IDE1LjUsMTUuNSAwLjUsMTUuNSBaIj48L3BhdGg+PHJlY3Qgd2lkdGg9IjIiIGhlaWdodD0iMiIgeD0iMiIgeT0iNiI+PC9yZWN0PjxyZWN0IHdpZHRoPSIyIiBoZWlnaHQ9IjIiIHg9IjUiIHk9IjYiPjwvcmVjdD48cmVjdCB3aWR0aD0iMiIgaGVpZ2h0PSIyIiB4PSI4IiB5PSI2Ij48L3JlY3Q+PHBhdGggZD0ibSAxMSw2IDMsMCAwLDUgLTIsMCAwLC0zIC0xLDAgeiI+PC9wYXRoPjxyZWN0IHdpZHRoPSIyIiBoZWlnaHQ9IjIiIHg9IjEyIiB5PSIxMiI+PC9yZWN0PjxyZWN0IHdpZHRoPSI2IiBoZWlnaHQ9IjIiIHg9IjUiIHk9IjEyIj48L3JlY3Q+PHJlY3Qgd2lkdGg9IjIiIGhlaWdodD0iMiIgeD0iOSIgeT0iOSI+PC9yZWN0PjxyZWN0IHdpZHRoPSIyIiBoZWlnaHQ9IjIiIHg9IjYiIHk9IjkiPjwvcmVjdD48cmVjdCB3aWR0aD0iMiIgaGVpZ2h0PSIyIiB4PSIyIiB5PSIxMiI+PC9yZWN0PjxyZWN0IHdpZHRoPSIzIiBoZWlnaHQ9IjIiIHg9IjIiIHk9IjkiPjwvcmVjdD48L2c+PC9zdmc+');
}













/************************** postcard selection */

#postcards_list {
	width: 100%;
	height: 100%;
}


#postcards_scrollbox {
	width: 1130px;
	height: 440px;
	position: absolute;
	top: 160px;
	left: 41px;
	overflow-y: scroll;
}

#postcards_scrollbox::-webkit-scrollbar {
	width: 18px;
}
#postcards_scrollbox::-webkit-scrollbar-track {
	background-color: #F4F4F4;
	border-radius: 100px;
}
#postcards_scrollbox::-webkit-scrollbar-thumb {
	background-color: #E6E6E6;
	border-radius: 100px;
}

.photo-thumb {
	position: relative;
	float: left;
	width: 237px;
	height: 207px;
	text-align: center;
	margin-right: 40px;
	margin-bottom: 28px;
	padding: 14px 20px;
	color: #436671;
}

.photo-thumb.selected {
	color: white;
}

.photo-thumb.selected .photo-pic .pic-check { display: inline-block; }


.photo-pic {
	background-size: cover;
	background-position: center;
	display: inline-block;
	width: 198px;
	height: 108px;
}

.photo-pic .pic-check {
	width: 198px;
	height: 108px;
	display: none;
}


.photo-title, .photo-subtitle {
	margin: 0;
	font-weight: 500;
	line-height: 24px;
}
.photo-title {
	font-size: 26px;
	margin-top: 5px;
}
.photo-subtitle {
	font-size: 18px;
	margin-top: -5px;
}






/********************** preview lightbox */

#postcard_preview_lightbox {
	display: none;
	background: rgba(0, 0, 0, 0.8);
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 9002;
}

.lightbox-view {
	background-color: white;
	width: 795px;
	height: 677px;
	position: absolute;
	left: 50%;
	margin-left: -397px;
	margin-top: 32px;
}

.lightbox-pic {
	background-size: cover;
	background-position: center;
	width: 748px;
	height: 498px;
	position: absolute;
	left: 50%;
	margin-left: -374px;
	top: 76px;
	-webkit-user-drag: none;
}

.lightbox-title {
	position: absolute;
	top: 20px;
	left: 0;
	right: 0;
	text-align: center;
	color: #436671;
	font-weight: 800;
	font-size: 26px;
}

.lightbox-cancel, .lightbox-select, .lightbox-close {
	background-size: cover;
	background-position: center;
	display: inline-block;
}

.lightbox-cancel {
	width: 204px;
	height: 59px;
	position: absolute;
	bottom: 20px;
	left: 23px;
	-webkit-user-drag: none;
}
.lightbox-select {
	width: 214px;
	height: 69px;
	position: absolute;
	bottom: 20px;
	right: 23px;
	-webkit-user-drag: none;
}
.lightbox-close {
	width: 31px;
	height: 31px;
	position: absolute;
	top: 8px;
	right: -51px;
	-webkit-user-drag: none;
}



/************************* postcard message */
#section2 {
	padding-top: 130px;
}


.character-limit {
	color: #F4AA45;
	font-size: 18px;
	font-weight: 600;
	text-align: center;
}







/************************* names and email addresses */

.contact-info-block {
	width: 492px;
	margin: 90px 35px 20px 35px;
	position: relative;
	float: left;
}

.email-invalid {
	border: 1px solid #DB4B4F;
}



/************************* postcard preview, and success screen */
#final_postcard_preview_with_wrappers .instructions {
	transform: matrix(1, 0.07, -0.07, 1, 0, 0);
	position: absolute;
	width: 100%;
	top: 114px;
	left: 351px;
	font-size: 28px;
}

#final_postcard_preview, #sent_postcard {
	width: 1212px;
	height: 635px;
	position: absolute;
	top: 0;
	left: 0;
}

.postcard-front, .postcard-back {
	width: 641px;
	height: 403px;
	-webkit-box-shadow: 2px 2px 4px 0 rgba(0,0,0,0.38);
	box-shadow: 2px 2px 4px 0px rgba(0,0,0,0.38);
	position: absolute;
	background-size: cover;
	background-position: center;
	padding: 80px 80px 20px 60px;
}

#final_postcard_preview .postcard-front {
	top: 183px;
	left: -40px;
	transform: rotate(-15deg);
}

#final_postcard_preview .postcard-back {
	transform: rotate(4deg);
	top: 150px;
	right: -40px;
}


#sent_postcard .postcard-front {
	top: 370px;
	left: -30px;
	transform: rotate(-15deg);
}

#sent_postcard .postcard-back {
	top: 130px;
	left: -35px;
	transform: rotate(4deg);
}



.postcard-back .section.name-email {
	width: 47%;
	position: relative;
	float: left;
	padding-right: 12px;

	/* These are technically the same, but use both */
	overflow-wrap: break-word;
	word-wrap: break-word;

	-ms-word-break: break-all;
	/* This is the dangerous one in WebKit, as it breaks things wherever */
	word-break: break-all;
	/* Instead use this non-standard one: */
	word-break: break-word;
}

.postcard-back .section-label {
	color: #41B8DE;
	font-family: 'Fjalla One', sans-serif;
}

.postcard-back .section.message {
	width: 100%;
	position: relative;
	float: left;
}





#final_postcard_preview_with_wrappers .postcard-wrapper-front {
	width: 735px;
	height: 566px;
	position: absolute;
	top: 92px;
	left: -62px;
}


#final_postcard_preview_with_wrappers .postcard-wrapper-front .postcard-front {
	transform: rotate(-15deg);
	left: 44px;
	top: 80px;
}



#final_postcard_preview_with_wrappers .postcard-wrapper-back {
	width: 678px;
	height: 458px;
	position: absolute;
	top: 146px;
	right: -70px;
}

#final_postcard_preview_with_wrappers .postcard-wrapper-back .postcard-back {
	transform: rotate(4deg);
	top: 24px;
	left: 16px;
}




#final_postcard_preview { display: none; }



#spinner {
	width: 203px;
	height: 203px;
	position: absolute;
	bottom: 10px;
	right: 20px;
	background-size: cover;
	background-position: center;
	animation: rotation 2s;
	animation-timing-function: ease-in;
	animation-iteration-count: infinite;
	display: none;
}
@keyframes rotation {
	from { transform: rotate(0deg); }
	to { transform: rotate(359deg); }
}


#cf7_send_btn {
	display: none;
}



#send_card  {
	cursor: pointer;
	color: transparent;
	-webkit-user-drag: none;
	background-size: cover;
	background-position: center;
	position: absolute;
	right: 10px;
	bottom: -80px;
	width: 217px;
	height: 66px;
}

#send_card .wpcf7-submit, #send_card .wpcf7-submit:focus {
	background-color: transparent;
	border: 0;
	outline: 0;
	color: transparent;
	width: 217px;
	height: 66px;
}



.wpcf7-response-output { display:  none !important; }

#success_message {
	width: 450px;
	height: 500px;
	top: 150px;
	right: 100px;
	position: absolute;
	text-align: center;
	font-weight: 300;
}

#success_message img { display: inline-block; }

#success_message .success {
	color: #DB4B4F;
	font-size: 55px;
	line-height: 55px;
	font-family: 'Fjalla One', sans-serif;
	margin: 0;
}

#success_image {
	display: inline-block;
	width: 168px;
	height: 170px;
}

#success_message .url {
	color: #41B8DE;
	font-size: 28px;
	font-weight: 600;
}


