/* Reset */
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
    margin: 0; padding: 0; border: 0; outline: 0; font-size: 100%; vertical-align: baseline; background: transparent;}
body { line-height: 1; }
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; }
nav ul { list-style: none; }
blockquote, q { quotes: none; }
blockquote:before, blockquote:after, q:before, q:after { content: none; }
a { margin: 0; padding: 0; font-size: 100%; vertical-align: baseline; background: transparent; }
ins { background-color: #ff9; color: #000; text-decoration: none; }
mark { background-color: #ff9; color: #000; font-style: italic; font-weight: bold; }
del { text-decoration: line-through; }
abbr[title], dfn[title] { border-bottom: 1px dotted; cursor: help; }
table { border-collapse: collapse; border-spacing: 0; }
hr { display: block; height: 1px; border: 0; border-top: 1px solid #ccc; margin: 1em 0; padding: 0; }
input, select { vertical-align: middle; }
/* end of css reset */

html, body { height: 100%; }


/* Application */
#apiscreen {
    width: 100%;
    height: 100%;
    background-position: center 200px;
    background-repeat: no-repeat;
 }

#apiscreen-header {
    width: 100%;
    height: 185px;
    background: rgba(0,0,0,0.6);
    position: relative;
 }

#apiscreen-header-infos {
    position: absolute;
    width:75%;
    left:25%;
    bottom:0;
    top:0;
    padding-top:20px;
}

#apiscreen-message {
	display:none;
    position: absolute;
    right: 0;
    width: 300px;
    top: 0;
    bottom: 0;
    box-sizing: border-box;
    padding: 0 30px;
    overflow: hidden;
}

#apiscreen-arrow {
    content: '';
    display: none;
    position: absolute;
    top: 200px;
    right: 200px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 50px 100px 0 100px;
    border-color: #505050 transparent transparent transparent;
}

#apiscreen-arrow::after, #apiscreen-arrow::before {
	content: '';
	display: block;
	position: absolute;
	box-shadow: 0 0 20px;
	z-index: -1;
}

#apiscreen-arrow::after {
	width: 120px;
	height: 15px;
	top: -43px;
	left: -10px;
	transform: rotate(-27deg);
}

#apiscreen-arrow::before {
	width: 120px;
	height: 15px;
	top: -42px;
	left: -109px;
	transform: rotate(27deg);
}

#apiscreen-spinner {
	margin: auto;
    display: block;
    margin-top: 200px;
}

#apiscreen-box-loading-info {
    margin-top: 10px;
    text-align: center;
}

#apiscreen-agency-logo {
    position: absolute;
    width: 23%;
    overflow: hidden;
    height: 100%;
}

#apiscreen-agency-logo::after {
	content: '';
	display: block;
	position: absolute;
	background-color: red;
	width: 500px;
	right: -500px;
	bottom: 0;
	top: 0;
	height: 306%;
	margin: auto;
	border-radius: 1000px;
	box-shadow: 0px 0 10px;
}

#apiscreen-img-container {
    height: 100%;
    position: absolute;
    width: 100%;
    box-sizing: border-box;
    display: none;
    top: 0;
    z-index: -3;
}

#apiscreen-agency-logo img {
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	max-width: 100%;
	max-height: 100%;
	box-sizing: border-box;
	padding: 10px;
}

#apiscreen-img-container .preloaded-pictures {display: none;}

#apiscreen-img-container .next-picture, #apiscreen-img-container .current-picture {
	position: absolute;
	width: 100%;
	height: 100%;
	background-size: cover;
	background-position: center center;
}


/* Header Design */
.apiscreen-main { width:100%; float:left; font-family:Helvetica; font-weight:300; margin-bottom:15px; }
#apiscreen-box-nature {
	margin-right:30px;
	float:left;
	font-size:52px;
	color:#ffffff;
}
#apiscreen-box-type {
	margin-right:30px;
	float:left;
	font-size:52px;
	color:#ffffff;
}
#apiscreen-box-title {
	margin-right:30px;
	float:left;
	font-size:52px;
	color:#ffffff;
}

.apiscreen-details { width:100%; float:left; font-family:Helvetica; font-weight:300; margin-bottom:25px; }
#apiscreen-box-rooms {
	width:33%;
	float:left;
	font-size:38px;
	color:#ffffff;
}
#apiscreen-box-area {
	width:33%;
	float:left;
	font-size:38px;
	color:#ffffff;
}
#apiscreen-box-price {
	width:33%;
	float:left;
	font-size:38px;
	color:#ffffff;
}

.apiscreen-more { width:100%; float:left; font-family:Helvetica; font-weight:300; }
#apiscreen-box-reference {
	width:33%;
	float:left;
	font-size:20px;
	color:#ffffff;
}
#apiscreen-box-legal {
	width:66%;
	float:left;
	font-size:20px;
	color:#ffffff;
}

/* Configuration */
form {width: 30%;}

.form-row {
    position: relative;
    width: 100%;
    height: 20px;
 }

.form-row .input {
	position: absolute;
	width: auto;
	right: 0;
	left: 0;
	top: 0;
	bottom: 0;
	margin-left: 150px;
}

.form-row .input > * {
	width: 100%;
	height: 100%;
	box-sizing: border-box;
}

.form-row-input {
    border: 1px solid;
    height: auto;
}

.messages-input { position: relative; }

.messages-input .message {
	border-bottom: 1px solid;
	padding: 10px 10px;
}

.messages-input .message:first-child { border-top: 1px solid; }

.messages-input .message .text {
	max-height: 100px;
	overflow-y: scroll;
	overflow-x: hidden;
	border: 1px solid rgb(139, 133, 133);
	border-radius: 5px;
	padding: 10px;
	margin-bottom: 10px;
}

.messages-input .message .text[contenteditable=true] {
	background: white;
	box-shadow: 0 0 10px rgb(168, 168, 168) inset;
}

