/* Clases para los contenedores de Radio y Checkbox*/
.content-input {
  margin-bottom: 15px;
  cursor: pointer;
}

.content-input {
  position: relative;
  padding: 5px 0 5px 60px;
  display: block;
}

/*
La propiedadd appearance da un aspecto standard a un elemento.
Por ejemplo: appearance: button
Como vamos a personalizar nuestros elemento aÃ±adimos el valor none
 */
.content-input input,
.content-select select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}

.content-input i,
.content-input i:before {
  transition: all 0.25s ease;
}

/*
Ocultamos nuestros inputs.
Con opacity 0. Si utilizamos visibility:hidden o display:none;
no funcionarÃ­an
*/
.content-input input {
  visibility: hidden;
  position: absolute;
  right: 0;
}

/*
Propiedades para cualquier el elmento i despuÃ©s de un input
dentro de la capa .content-input
*/
.content-input input+i {
  background: #f0f0f0;
  border: 2px solid rgba(0, 0, 0, 0.2);
  position: absolute;
  left: 0;
  top: 0;
}

/*
Propiedades para el checkbox
*/
.content-input input[type=checkbox]+i {
  width: 52px;
  height: 25px;
  border-radius: 15px;
}

/*
Propiedades para radio
*/
.content-input input[type=radio]+i {
  height: 20px;
  width: 20px;
  border-radius: 100%;
  left: 15px;
	top: 5px;
}

/*
Creamos el cí­rculo que aparece encima de los checkbox
con la etiqueta before. Importante aunque no haya contenido
debemos poner definir este valor.
*/
.content-input input[type=checkbox]+i:before {
  content: '';
  /* No hay contenido */
  width: 26px;
  height: 26px;
  background: #fff;
  border-radius: 50%;
  position: absolute;
  z-index: 1;
  left: 0px;
  top: 0px;
  -webkit-box-shadow: 3px 0 3px 0 rgba(0, 0, 0, 0.2);
  box-shadow: 3px 0 3px 0 rgba(0, 0, 0, 0.2);
}

.content-input input[type=checkbox]+i:after {
  content: 'ON';
  position: absolute;
  font-size: 10px;
  color: rgba(255, 255, 255, 0.6);
  top: 8px;
  left: 4px;
  opacity: 0;
  transition: all 0.25s ease 0.25s;
}

/*
Creamos el círculo que se mostrará cuando hagamos click
en cualquier radio y lo ocultamos con opacity 0
*/
.content-input input[type=radio]+i:before {
  content: '';
  display: block;
  height: 14px;
  width: 14px;
  background: red;
  border-radius: 100%;
  position: absolute;
  z-index: 1;
  top: 3px;
  left: 3px;
  background: var(--colorPrincipal);
  transition: all 0.25s ease;
  transform: scale(0);
  opacity: 0;
  /* Lo ocultamos*/
}

.content-input:hover input[type=radio]:not(:checked)+i,
.content-input:hover input[type=checkbox]:not(:checked)+i {
  background: var(--colorSecundario);
}

/*
Con :checked definimos los valores css cuando un input
como radio o checkbox está checheado
*/
.content-input input[type=checkbox]:checked+i {
  background: var(--colorPrincipal);
}

.content-input input[type=checkbox]:checked+i:before {
  left: 26px;
  -webkit-box-shadow: -3px 0 3px 0 rgba(0, 0, 0, 0.2);
  box-shadow: 3px 0 -3px 0 rgba(0, 0, 0, 0.2);
}

.content-input input[type=checkbox]:checked+i:after {
  opacity: 1;
}

.content-input input[type=radio]:checked+i:before {
  transform: scale(1);
  opacity: 1;
}

/* Select */
.content-select {
  max-width: 250px;
  position: relative;
}

.content-select select {
  display: inline-block;
  width: 100%;
  cursor: pointer;
  padding: 7px 10px;
  height: 42px;
  outline: 0;
  border: 0;
  border-radius: 0;
  background: #f0f0f0;
  color: #7b7b7b;
  color: #999;
  border: 2px solid rgba(0, 0, 0, 0.2);
  border-radius: 12px;
  position: relative;
  transition: all 0.25s ease;
}

.content-select select:hover {
  background: var(--colorSecundario);
}

/*
Creamos la fecha que aparece a la izquierda del select.
Realmente este elemento es un cuadrado que sÃ³lo tienen
dos bordes con color y que giramos con transform: rotate(-45deg);
*/
.content-select i {
  position: absolute;
  right: 20px;
  top: calc(50% - 13px);
  width: 16px;
  height: 16px;
  display: block;
  border-left: 4px solid var(--colorPrincipal);
  border-bottom: 4px solid var(--colorPrincipal);
  transform: rotate(-45deg);
  /* Giramos el cuadrado */
  transition: all 0.25s ease;
}

.content-select:hover i {
  margin-top: 3px;
}

/* Eliminamos la fecha que por defecto aparece en el desplegable */
.content-select select::-ms-expand {
  display: none;
}

/*---------------- Formulario -------------------*/
form * {
  font-size: 1.0em;
}

input::-webkit-input-placeholder, textarea::-webkit-input-placeholder {
  color: var(--colorPrincipal);
}

input:focus::-webkit-input-placeholder, textarea:focus::-webkit-input-placeholder {
  color: var(--colorPrincipal);
}

input::-moz-placeholder, textarea::-moz-placeholder {
  color: var(--colorPrincipal);
}

input:focus::-moz-placeholder, textarea:focus::-moz-placeholder {
  color: #bbb5af;
}

input::placeholder, textarea::placeholder {
  color: var(--colorDarck);
}

input:focus::placeholder, textarea::focus:placeholder {
  color: #bbb5af;
}

input::-ms-placeholder, textarea::-ms-placeholder {
  color: var(--colorPrincipal);
}

input:focus::-ms-placeholder, textarea:focus::-ms-placeholder {
  color: #bbb5af;
}

/* on hover placeholder */
input:hover::-webkit-input-placeholder, textarea:hover::-webkit-input-placeholder {
  color: #e2dedb;
}

input:hover:focus::-webkit-input-placeholder, textarea:hover:focus::-webkit-input-placeholder {
  color: #cbc6c1;
}

input:hover::-moz-placeholder, textarea:hover::-moz-placeholder {
  color: #e2dedb;
}

input:hover:focus::-moz-placeholder, textarea:hover:focus::-moz-placeholder {
  color: #cbc6c1;
}

input:hover::placeholder, textarea:hover::placeholder {
  color: #e2dedb;
}

input:hover:focus::placeholder, textarea:hover:focus::placeholder {
  color: #cbc6c1;
}

input:hover::placeholder, textarea:hover::placeholder {
  color:initial;
}

input:hover:focus::-ms-placeholder, textarea:hover::focus:-ms-placeholder {
  color: #cbc6c1;
}

#form {
  position: relative;
  display: inline-block;
  width: 100%;
  margin: 50px auto;
}

input {
  width: 98%;
  height: 50px;
  padding: 0px 1%;
  background: transparent;
  outline: none;
  color: var(--colorDarck);
  border: transparent;
  transition: all 0.3s ease-in-out;
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -ms-transition: all 0.3s ease-in-out;
  margin-bottom: 5px;
  border-bottom:2px solid var(--colorGris);
}

input:hover {
  	/*background: none;*/
	color: var(--color-negro);
	border-bottom: 2px solid #ff0;
}

input[type=checkbox] {
  width: 15px;
  height: 15px;
}

/* los checkboxes */
input:checked~.checkmark {
  background-color: var(--colorPrincipal);
}

/* Contenedor */
.contienecheck {
  display: block;
  position: relative;
  padding-left: 25px;
  margin-bottom: 12px;
  cursor: pointer;
}

/* escondemos el default checkbox */
.contienecheck input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 0;
  width: 0;
}

/* creamos un custom checkbox */
.checkmark {
  position: absolute;
  top: 4px;
  left: 0;
  height: 15px;
  width: 15px;
  background-color: none;
  border: solid 1px;
}

/* Al pasar el mouse encima, lo ponemos gris */
.contienecheck:hover input~.checkmark {
  background-color: var(--colorPrincipal);
}

/* creamos el marcador (escondido al no seleccionar) */
.checkmark:after {
  content: "";
  position: absolute;
  display: none;
}

/* mostramos el marcador al seleccionar */
.contienecheck input:checked~.checkmark:after {
  display: block;
}

/* estilo del marcador */
.contienecheck .checkmark:after {
  left: 4px;
  top: 0px;
  width: 4px;
  height: 8px;
  border: solid var(--color-blanco);
  border-width: 0 3px 3px 0;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}

textarea {
  width: 98%;
  max-width: 98%;
  height: 110px;
  max-height: 110px;
  padding: 1%;
  background: transparent;
  outline: none;
  color: var(--colorDarck);
  border: solid 1px var(--colorGris);
  transition: all 0.3s ease-in-out;
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -ms-transition: all 0.3s ease-in-out;
  margin-bottom: 5px;
}

textarea:hover {
 
  color: var(--color-negro);
}

select {
  width: 100%;
  max-width: 100%;
  height: 40px;
  max-height: 40px;
  background: transparent;
  outline: none;
  color: var(--colorDarck);
  border: solid 1px var(--colorGris);
  transition: all 0.3s ease-in-out;
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -ms-transition: all 0.3s ease-in-out;
  margin-bottom: 5px;
}

option {
  line-height: 1.5em;
}

select:hover {
  color: var(--color-negro);
}

#submit {
	width: auto;
	margin: 25px 0px 0px 0px;
	font-size: 1.0em;
	color: var(--color-negro);
	outline: none;
	cursor: pointer;
	border: transparent;
	background: var(--colorPrincipal);
	padding: 1em 2em;
}

#submit:hover {
  background: var(--colorPrincipal50);
  color: var(--color-negro);
}

/*---------------- Fin formulario -----------------*/
