@font-face {
	font-family: Roboto;
	src: url(../../../../../fonts/Roboto-Regular-webfont.eot), url(../../../../../fonts/Roboto-Regular-webfont.woff),
		url(../../../../../fonts/Roboto-Regular-webfont.ttf), url(../../../../../fonts/Roboto-Regular-webfont.svg);
}

@font-face {
	font-family: Sosa;
	src: url(../../../../../fonts/sosa-regular-webfont.eot), url(../../../../../fonts/sosa-regular-webfont.woff),
		url(../../../../../fonts/sosa-regular-webfont.ttf), url(../../../../../fonts/sosa-regular-webfont.svg);
}

@font-face {
	font-family: Merienda;
	src: url(../../../../../fonts/Merienda-Regular.ttf), url(../../../../../fonts/Merienda-Bold.ttf);
}

@font-face {
	font-family: Lato;
	src: url(../../../../../fonts/Lato-Regular.ttf), url(../../../../../fonts/Lato-Black.ttf),
		url(../../../../..//fonts/Lato-BlackItalic.ttf), url(../../../../../fonts/Lato-Bold.ttf),
		url(../../../../..//fonts/Lato-BoldItalic.ttf), url(../../../../../fonts/Lato-Hairline.ttf),
		url(../../../../../fonts/Lato-HairlineItalic.ttf), url(../../../../../fonts/Lato-Italic.ttf),
		url(../../../../../fonts/Lato-Light.ttf), url(../../../../../fonts/Lato-LightItalic.ttf);
}

* {
	font-family: "Lato", serif;
	font-size: 16px;
	text-decoration: none;
}

*:focus {
	outline: none;
}

/* box-shadow outlines rounded corners! */
.focus-visible {
	box-shadow: 0 0 0 2px lightgreen;
}

h1 {
	font-family: "Roboto", sans-serif;
	text-align: center;
	vertical-align: bottom;
	font-weight: bold;
	color: #ffffff;
	text-shadow: 1px 0 black, 0 1px black, 1px 0 black, 0 -1px black;
}

h2 {
	font-family: "Merienda", cursive;
	color: #000000;
	text-shadow: 2px 0 5px #ffffff;
	text-align: center;
}

h3 {
	font-family: "Lato", sans-serif;
	color: #000000;
	text-shadow: 0 0 10px rgb(196, 182, 182);
	text-align: center;
}

h4 {
	font-family: "Lato", sans-serif;
	color: #000000;
	text-shadow: 0 0 10px rgb(196, 182, 182);
	text-align: justify;
}

h1,
h2 {
	font-size: 2.5rem;
}

h3,
h4 {
	font-size: 1.5rem;
}

body {
	display: grid;
	margin: 0 auto;
	grid-template-columns: 1fr;
	grid-template-areas: "header""main""footer";
}

@media only screen and (min-width: 50px) and (max-width: 767px) {

	h1,
	h2 {
		font-size: 1.5rem;
	}

	h3,
	h4 {
		font-size: 0.9rem;
	}

	.header {
		display: flex;
		margin: 0 auto;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		min-height: 20vh;
		width: 100%;
		background: linear-gradient(to right, rgba(0, 148, 255, 1), rgba(189, 189, 189, 1));
		overflow: hidden;
		font-family: "Merienda", cursive;
	}

	.container {
		display: flex;
		flex-direction: column;
		justify-content: flex-start;
		align-items: center;
		flex-flow: column;
		min-height: 300vh;
		width: 100%;
		background-color: #91cae0;
		border: 2px solid rgba(204, 204, 204, 0.123);
		text-align: center;
	}

	body main container ejercicio img {
		height: 200px;
	}

	body main container ejercicio ol li {
		font-size: 1.2rem;
		text-align: left;
	}

	.condiciones {
		font-size: 1.2rem;
		text-align: center;
		color: red;
	}

	.ejercicio {
		margin: 0 auto;
		padding: 10px;
		position: sticky;
		top: 30px;
		bottom: 100px;
		display: inline-flex;
		flex-direction: column;
		justify-content: flex-start;
		align-items: center;
		min-height: 10vh;
		width: 80%;
		background: #ffffff;
	}

	footer {
		align-items: center;
		text-align: left;
		background: linear-gradient(to right, #ff5252, rgba(0, 148, 255, 1));
	}

	.footer-copyright {
		text-align: center;
		min-height: 50px;
	}
}

@media only screen and (min-width: 768px) and (max-width: 1023px) {

	h1,
	h2 {
		font-size: 2rem;
	}

	h3,
	h4 {
		font-size: 1.2rem;
	}

	.header {
		display: flex;
		margin: 0 auto;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		min-height: 20vh;
		width: 100%;
		height: 60vh;
		background: linear-gradient(to right, rgba(0, 148, 255, 1), rgba(189, 189, 189, 1));
		overflow: hidden;
		font-family: "Merienda", cursive;
	}

	.container {
		display: flex;
		flex-direction: column;
		justify-content: flex-start;
		align-items: center;
		flex-flow: column;
		min-height: 300vh;
		width: 100%;
		background-color: #91cae0;
		border: 2px solid rgba(204, 204, 204, 0.123);
		text-align: center;
	}

	body main container ejercicio img {
		width: 200px;
		height: 200px;
	}

	body main container ejercicio ol li {
		font-size: 1.3rem;
		text-align: left;
	}

	.condiciones {
		font-size: 1.3rem;
		text-align: center;
		color: red;
	}

	.ejercicio {
		position: sticky;
		top: 100px;
		bottom: 100px;
		display: inline-flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		min-height: 10vh;
		width: 80%;
		background: #ffffff;
	}

	#divImg img {
		border-radius: 20px;
		box-shadow: 0 0 20px black;
	}

	.entrada {
		display: flex;
		flex-flow: column;
		justify-content: center;
		align-items: flex-start;
		text-align: center;
		font-size: 1.4rem;
		background-color: #91cae0;
		opacity: 0.9;
		color: rgba(0, 148, 255, 1);
		box-shadow: -3px -3px 5px 3px rgba(255, 255, 255, 0.2);
		padding: 5rem;
		margin-bottom: 20px;
		border: 1px solid;
		border-radius: 15px;
	}

	.entrada .field-group {
		display: flex;
		flex-flow: row;
		justify-content: flex-start;
		align-items: flex-start;
		text-align: left;
		margin: 0 100px 20px 0;
	}

	.entrada .field-group .label {
		flex: 1;
		text-align: left;
		margin: 0 5px 0 0;
		padding: 2px 0;
		width: 150px;
	}

	.entrada .field-group .field {
		display: grid;
		grid-template-columns: 1fr 50px;
	}

	input:focus {
		outline: none;
	}

	button:focus {
		text-decoration: none;
		outline: none;
		border: none;
		box-shadow: none;
	}

	input:-moz-focusring,
	button:-moz-focusring,
	select:-moz-focusring {
		color: transparent;
		text-shadow: 0 0 0 #000;
	}

	.entrada .field input,
	select {
		padding: .2rem .2rem;
		font-size: 1.2rem;
		border: solid 1px #eee;
		background: #fff;
		box-sizing: border-box;
		width: 90%;
		min-width: 300px;
	}

	.entrada .field .aviso {
		text-align: center;
		color: #fff;
		padding: .2rem .2rem;
		font-size: 1rem;
		box-sizing: border-box;
		min-width: 180px;
	}

	.btn {
		padding: 10px;
		min-height: 45px;
		min-width: 150px;
		font-size: 1.5rem;
		border-width: 0px;
		background: rgb(36, 150, 170);
		color: rgb(245, 236, 244);
		outline: none;
		border-radius: 5px;
		margin-top: 20px;
		margin-bottom: 20px;
	}

	.ejercicio {
		position: sticky;
		top: 100px;
		bottom: 100px;
		display: inline-flex;
		flex-direction: column;
		justify-content: flex-start;
		align-items: center;
		min-height: 10vh;
		width: 80%;
		background: #ffffff;
	}

	.footer {
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		min-height: 20vh;
		background: linear-gradient(to left, rgba(0, 148, 255, 1), rgba(189, 189, 189, 1));
		z-index: 3;
	}

	footer p {
		font-family: "Merienda", cursive;
	}

	.container>p,
	footer {
		display: flex;
		width: 100%;
		background-color: #1976d2;
	}
}

@media only screen and (min-width: 1024px) {

	h1,
	h2 {
		font-size: 2.5rem;
	}

	h3 {
		font-size: 2rem;
	}

	.header {
		display: flex;
		margin: 0 auto;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		min-height: 20vh;
		width: 100%;
		height: 30vh;
		background: linear-gradient(to right, rgba(0, 148, 255, 1), rgba(189, 189, 189, 1));
		overflow: hidden;
		font-family: "Merienda", cursive;
	}

	.container {
		display: flex;
		flex-direction: column;
		justify-content: flex-start;
		align-items: center;
		flex-flow: column;
		min-height: 100vh;
		width: 100%;
		background-color: #91cae0;
		border: 2px solid rgba(204, 204, 204, 0.123);
		text-align: center;
	}

	body main container ejercicio img {
		width: 300px;
		height: 300px;
	}

	body main container ejercicio ol li {
		font-size: 1.4rem;
		text-align: left;
	}

	body main container ejercicio article {
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		flex-flow: column;
		text-align: left;
	}

	.condiciones {
		text-align: center;
		color: red;
	}

	.ejercicio {
		position: sticky;
		top: 100px;
		bottom: 100px;
		display: inline-flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		min-height: 10vh;
		width: 80%;
		background: #ffffff;
	}

	#divImg img {
		border-radius: 20px;
		box-shadow: 0 0 20px black;
	}

	.entrada {
		display: flex;
		flex-flow: column;
		justify-content: center;
		align-items: flex-start;
		text-align: center;
		font-size: 1.4rem;
		background-color: #91cae0;
		opacity: 0.9;
		color: rgba(0, 148, 255, 1);
		box-shadow: -3px -3px 5px 3px rgba(255, 255, 255, 0.2);
		padding: 5rem;
		margin-bottom: 20px;
		border: 1px solid;
		border-radius: 15px;
	}

	.entrada .field-group {
		display: flex;
		flex-flow: row;
		justify-content: flex-start;
		align-items: flex-start;
		text-align: left;
		margin: 0 100px 20px 0;
	}

	.entrada .field-group .label {
		flex: 1;
		text-align: left;
		margin: 0 5px 0 0;
		padding: 2px 0;
		width: 150px;
	}

	.entrada .field-group .field {
		display: grid;
		grid-template-columns: 1fr 50px;
	}

	input:focus {
		outline: none;
	}

	button:focus {
		text-decoration: none;
		outline: none;
		border: none;
		box-shadow: none;
	}

	input:-moz-focusring,
	button:-moz-focusring,
	select:-moz-focusring {
		color: transparent;
		text-shadow: 0 0 0 #000;
	}

	.entrada .field input,
	select {
		padding: .2rem .2rem;
		font-size: 1.2rem;
		border: solid 1px #eee;
		background: #fff;
		box-sizing: border-box;
		width: 90%;
		min-width: 300px;
	}

	.aviso {
		text-align: center;
		color: rgb(243, 17, 17);
		font-size: 1.2rem;
	}

	.entrada .field .aviso {
		text-align: center;
		color: #fff;
		padding: .2rem .2rem;
		font-size: 1rem;
		box-sizing: border-box;
		min-width: 180px;
	}

	.btn {
		padding: 10px;
		min-height: 45px;
		min-width: 150px;
		font-size: 1.5rem;
		border-width: 0px;
		background: rgb(36, 150, 170);
		color: rgb(245, 236, 244);
		outline: none;
		border-radius: 5px;
		margin-top: 20px;
		margin-bottom: 20px;
	}

	.footer {
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		min-height: 20vh;
		background: linear-gradient(to left, rgba(0, 148, 255, 1), rgba(189, 189, 189, 1));
		z-index: 3;
	}

	table {
		margin: 10px auto;
	}

	table tr td {
		padding: 5px;
		min-height: 10px;
		min-width: 150px;
		font-size: 1.2rem;
		font-weight: bold;
		border-width: 0px;
		color: rgb(245, 236, 244);
		outline: none;
		border-radius: 5px;
		margin-top: 20px;
		background: linear-gradient(to left, rgba(0, 148, 255, 1), rgba(189, 189, 189, 1));
	}

	footer p {
		font-family: "Merienda", cursive;
	}

	.container>p,
	footer {
		display: flex;
		width: 100%;
		background-color: #1976d2;
	}
}