* {
	margin: 0;
	padding: 0;
}

*:focus {
	outline: none;
}

@font-face {
    font-family: AvantGarde;
    src: url('../fonts/AvantGardeBkBT.ttf');
}

@font-face {
    font-family: 'Roboto Condensed';
    font-style: normal;
    font-weight: 400;
    src: url('../fonts/RobotoCondensed.woff2') format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

body {
	overflow-x: hidden;
	background: rgb(0,0,0);
	font-family: 'Roboto Condensed', sans-serif;
	font-size: 100%;
}

a {
  text-decoration: none;
  color: white;
}

.font-small {
    font-size: 65%;
}

.fa-inverse {
	color: black;
}

#bg {
	min-height: 100%;
	min-width: 1024px;
	width: 100%;
	height: auto;
	position: fixed;
	top: 0;
	left: 0;
	opacity: 0.3;
}

#page-wrap {
	z-index: 6000;
	position: relative;
	color: white;
	margin: 0.2em 1em 0.2em 1em;
}

#logotipo {
	max-width: 20%;
}

#titulo {
    font-family: AvantGarde;
    letter-spacing: 0.08em;
    color: yellow;
    font-size: 4em;
	font-weight: bold;
	text-align: center;
}

#servicios {
    width: 100%;
    text-align: center;
}

#lugar-horario {
	margin: 2em 0 2em 0;
    display: flex;
    flex-flow: row wrap;
}

#lugar-horario div {
    flex: 1 1 auto;
    text-align: center;
}

#contacto {
    display: flex;
    flex-flow: row wrap;
}

.metodo-contacto {
    flex: 1 1 auto;
    width: 40%;
	margin: 1em 0 0 10%;
}
.metodo-contacto a {
    display: flex;
    align-items: center;
    line-height: 1em;
}

#cita {
    width: 45%;
    margin: 2em auto;
    padding: 0.5em;
	display: flex;
	justify-content: center;
}
#cita a {
    display: flex;
    align-items: center;
    line-height: 1em;
}

#tecnico {
    width: 45%;
    margin: 1em auto;
    padding: 0.5em;
    border-radius: 10px;
    text-align: center;
    background-color:rgba(255,10,10,0.3);
}

#tecnico img {
    max-height: 80px;
}

#formulario {
    width: 60%;
    margin: 1em auto;
    display: none;
}

.contact_form {
    background-color: black;
}

.contact_form ul {
    width: 100%;
    list-style-type: none;
	list-style-position: outside;
	margin: 0;
	padding: 0;
}

.contact_form li{
	padding: .5em;
	position: relative;
}

.contact_form #errormsg {
    margin: 0;
    font-size: 1em;
    display: none;
    color: red;
}

.contact_form h5 {
    margin: 0;
    font-size: 1em;
	display: inline;
}

.contact_form h6 {
    margin: 0;
    font-size: .5em;
}

.contact_form label {
	width: 30%;
	margin-top: 3px;
	float: left;
	padding: 3px;
}

.contact_form input {
	height: 20px;
	width: 220px;
	padding: 5px 8px;
	border: 1px solid #aaa;
	box-shadow: 0px 0px 3px #ccc, 0 10px 15px #eee inset;
	border-radius: 2px;
	padding-right: 30px;
	-moz-transition: padding .25s;
	-webkit-transition: padding .25s;
	-o-transition: padding .25s;
	transition: padding .25s;
}

.contact_form input:focus {
	background: #fff;
	border: 1px solid #555;
	box-shadow: 0 0 3px #aaa;
	padding-right: 70px;
}

.contact_form input#nif {
    text-transform: uppercase;
}

.contact_form button {
	margin-left: 80%;
}

.contact_form input:required {
	background: #fff url("../images/red_asterisk.png") no-repeat 98% center;
}

.contact_form input:required:valid {
	background: #fff url("../images/valid.png") no-repeat 98% center;
	box-shadow: 0 0 5px #5cd053;
	border-color: #28921f;
}

.contact_form input:focus:invalid {
	background: #fff url("../images/invalid.png") no-repeat 98% center;
	box-shadow: 0 0 5px #d45252;
	border-color: #b03535;
}

.contact_form input:focus + .form_hint {display: inline;}
.contact_form input:required:valid + .form_hint {display: none;}

.contact_form .form_hint {
    font-size: 0.7em;
	background: #d45252;
	border-radius: 3px 3px 3px 3px;
	color: white;
	margin-left: 8px;
	padding: 1px 6px;
	z-index: 999;
	position: absolute;
	display: none;
}
.contact_form .form_hint::before {
	content: "\25C0";
	color: #d45252;
	position: absolute;
	top: 1px;
	left: -6px;
}
.contact_form .required_notification {
	font-size: 0.7em;
	color: #d45252;
	margin: 5px 0 0 0;
	float: right;
}

button.submit {
	background-color: #68b12f;
	background: linear-gradient(top, #68b12f, #50911e);
	border: 1px solid #509111;
	border-bottom: 1px solid #5b992b;
	border-radius: 3px;
	box-shadow: inset 0 1px 0 0 #9fd574;
	color: white;
	font-weight: bold;
	padding: 6px 20px;
	text-align: center;
	text-shadow: 0 -1px 0 #396715;
}
button.submit:hover {
	opacity: .85;
	cursor: pointer;
}
button.submit:active {
	border: 1px solid #20911e;
	box-shadow: 0 0 10px 5px #356b0b inset;
}

@media only screen and (min-width: 1024px) {
	body {
		font-size: 140%;
	}
}

@media only screen and (max-width: 1024px) {
	body {
		font-size: 120%;
	}
	#bg {
		left: 50%;
		margin-left: -512px;
    }
    #formulario {
        width: 80%;
    }
}

@media only screen and (max-width: 800px) {
	body {
		font-size: 100%;
	}
    .metodo-contacto {
        width: 45%;
        margin: 1em 0 0 5%;
    }
    #formulario {
        width: 90%;
    }
}

@media only screen and (max-width: 640px) {
	#lugar-horario div {
		width: 100%;
		margin: 1em 0;
	}
    .metodo-contacto {
        width: 60%;
        margin: 1em 0 0 20%;
    }
    #tecnico {
        width: 55%;
        font-size: 90%;
    }
    #formulario {
        width: 95%;
        margin: 1em 0;
    }
}

@media only screen and (max-width: 400px) {
	body {
		font-size: 90%;
	}
    .metodo-contacto {
        width: 100%;
        margin: 1em 0;
    }
    #formulario {
        width: 100%;
        margin: 1em 0;
    }
}
