*,
*::after,
*::before {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

body {
	font-family: 'Roboto',sans-serif;
	color: #ffd100;
	background: #0a0a0a;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

main {
	display: flex;
	overflow: hidden;
	height: 100vh;
}

a {
	text-decoration: none;
	color: #ffd100;
	outline: none;
	cursor: pointer;
}

a:hover {
	color: #fff;
}

a:focus {
	outline: none;
}

.hidden {
	position: absolute;
	overflow: hidden;
	width: 0;
	height: 0;
	pointer-events: none;
}

.js .loading {
	position: fixed;
	z-index: 100;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #030303;
	transition: opacity 5.0s;
}

.js .loading--hide {
	pointer-events: none;
	opacity: 0;
}

.js .loading::after {
	content: '- - -';
	font-family: 'Roboto Mono', monospace;
	font-size: 1.5em;
	position: absolute;
	top: 0;
	left: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	animation: animLoader 1s infinite alternate forwards;
}

@keyframes animLoader {
	0% {
		content: '- - -';
	}
	25% {
		content: 'D - -';
	}
	50% {
		content: '- - B';
	}
	75% {
		content: '- / -';
	}
	100% {
		content: 'D - B';
	}
}

.github {
	font-size: 0.875em;
	margin: 0 2em 0 auto;
}

.btn {
	border: none;
	background: none;
}

.btn:focus {
	outline: none;
}

.btn--menu {
	font-size: 1em;
	margin: 0 0 0 2em;
	padding: 0;
	color: #F9F9F9;
}

.btn--menu .icon--menu-alt,
.btn--menu.mode--code .icon--menu {
	display: none;
}

.btn--menu.mode--code .icon--menu-alt {
	display: block;
}

/* Icons */
.icon {
	display: block;
	width: 1.5em;
	height: 1.5em;
	margin: 0 auto;
	fill: currentColor;
}

/* Content */
.content,
.content__inner {
	position: absolute;
	top: 0;
	left: 0;
	display: flex;
	align-items: center;
	width: 100%;
	height: 100%;
}

.content__inner {
	z-index: 100;
	flex-direction: column;
	align-content: flex-start;
	padding: 2.5em 2.5em 0;
}

.content__top {
	display: flex;
	align-items: center;
	flex: none;
	width: 100%;
}

.logo {
	font-size: 1em;
	font-weight: 400;
	line-height: 1;
	display: flex;
	align-items: center;
	height: 1.75em;
	margin: 0;
	font-family: 'Caveat', cursive;
}

.logo__inner.mode--design {
	font-size: 1.5em;
}

.logo__inner.mode--code {
	text-transform: lowercase;
}

.controls {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 9em;
	margin: 1em 0 0 auto;
}

.header-icon {
	color: #F9F9F9;
}

.header-icon-alt, .header-icon-alt:hover {
	color: dodgerblue;
}

.mode--code,
.menu--code .menu__link {
	font-family: 'Roboto Mono', monospace;
	text-transform: initial;
	color: dodgerblue;
}

.menu {
	font-size: 1.1em;
	flex: none;
	width: 100%;
	margin: 2em 0 0 auto;
	text-align: right;
	font-family: 'Roboto',sans-serif;
}

.menu__inner {
	margin: 0;
	padding: 0;
	list-style: none;
}

.menu--code {
	font-size: 1em;
	flex: none;
	width: 100%;
	margin: auto 0 2em 0;
	text-align: left;
}

.menu:not(.menu--code) .menu__item {
	position: relative;
}

.menu__item:not(:last-child) {
	margin: 0 0 0.25em 0;
}

.js .menu--code {
	display: none;
}

.menu__link {
	display: inline-block;
}

.menu--code .menu__link:hover {
	color: #fff;
}

.content__bottom {
	display: flex;
	align-items: center;
	width: 100%;
	margin: auto 0 0 0;
}

.switch {
	position: relative;
	display: flex;
	align-items: center;
}

.switch__content {
	display: flex;
}

.switch__item {
	line-height: 1;
	position: relative;
	display: inline-block;
	margin: 0 1.5em 0 0;
	padding: 0 0 0.15em;
	color: #F9F9F9;
}

.switch__item span {
	position: relative;
	display: inline-block;
	pointer-events: none;
}

.switch__item--current {
	pointer-events: none;
	color: #030303;
	background-color: dodgerblue;
	padding: 5px;
}

.mode--code .switch__item--current {
	color: #030303;
	background-color: #FFD200;
	padding: 5px;
}

.switch__item:first-child::after {
	content: '';
	position: absolute;
	top: -5%;
	left: calc(100% + 0.75em);
	width: 1px;
	height: 110%;
	background: #464646;
	transform: rotate(22.5deg);
}

.link-wrap {
	display: flex;
	align-items: center;
	height: 4em;
	margin: 0 0 0 auto;
}

.contact-link {
	display: inline-block;
	padding: 1em 0;
}

.overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
	background: rgba(0, 0, 08, 0.4);
	opacity: 0;
}

@media screen and (max-height: 38.5em) {
	.menu {
		text-align: left;
	}
}

@media screen and (max-width: 40em) {
	.content__top {
		font-size: 0.8em;
		z-index: 999999;
	}
	.content__bottom {
		font-size: 0.65em;
	}
	.menu {
		font-size: 1em;
	}
	.content__inner {
		padding: 1em 1em 0;
	}

	.content__item {
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100%;
	padding: 10vh 5vw !important;
	overflow: auto;
	}

	.switch__item--current {
    padding: 5px !important;
    }

	.content__item--current,
	.content__item--current ~ .content__close {
		pointer-events: auto;
	}

	.content__number {
		font-weight: bold;
	}

	.content__number::before {
		content: "\2014";
		display: inline-block;
		margin: 0 1rem 0 0;
	}
	.content__title {
		margin: 0.5rem 0;
		font-size: 2rem;
	}

	.content__subtitle {
		margin: 0 0 0.5rem;
		font-size: 1rem;
		font-weight: normal;
	}

	.content__text {
		font-size: 0.70rem !important;
	}

	.js .content__title,
	.js .content__subtitle,
	.js .content__number,
	.js .content__text,
	.js .content__close {
		opacity: 1;
	}
	.content__close {
		left: 42% !important;
		top: 75% !important;
	}
	.content, .content__inner {
    height: 85vh;
    }
    main {
    height: 80vh;
    }
    .btn--menu {
    font-size: 1em;
    margin: 0 0 0 .5em;
    }
    .switch__item {
    margin: 0 1.5em 0 0;
    padding: 0 0 0em;
    }
    .adiseno_img {
	position: fixed;
	top: 100px !important;
	left: 20px !important;
	}
}

.mh-5 {
	margin-right: 15px;
}

.mh-10 {
	margin-right: 30px;
}

.social {
	color: #F9F9F9 !important;
}

.social:hover {
	color: white !important;
}

.content__item {
	padding: 0;
	width: 50%;
	overflow: visible;
	color: white;
}

.content__number {
	position: absolute;
	bottom: 8vh;
	right: 98vh;
	font-size: 2rem;
}

.content__title {
	font-size: 7vw;
	text-align: center;
	margin-top: .7em !important;
	margin-bottom: .7em !important;
}

.content__subtitle {
	font-size: 1.15rem;
	margin-bottom: 7.5vh;
	text-align: center;
}

.content__text {
	font-size: 0.95rem;
	column-count: 2;
	column-gap: 2rem;
	text-align: justify;
}

.content__close {
	position: absolute;
	top: 7rem;
	left: 23rem;
	background: none;
	color: currentColor;
	border: 0;
	margin: 0;
	padding: 0;
}

.icon--longarrow {
	width: 2rem;
}

.content__close:focus {
	outline: none;
}

.menu-icon {
	font-size: .6em;
}

/* Create four equal columns that sits next to each other */
.column {
  flex: 33.333%;
  max-width: 35%;
  padding: 0 20px;
}

.column img {
  vertical-align: middle;
  width: 100%;
}

.column p {
  margin: .5em;
  text-align: center;
}

/* Responsive layout - makes a two column-layout instead of four columns */
@media screen and (max-width: 800px) {
  .column {
    flex: 50%;
    max-width: 50%;
  }
}

/* Responsive layout - makes the two columns stack on top of each other instead of next to each other */
@media screen and (max-width: 600px) {
  .column {
    flex: 50%;
    max-width: 50%;
  }
}

.row-img {
  display: flex;
  flex-wrap: wrap;
}

.caja {
    overflow-x: hidden;
    overflow-y: auto;
    height: 41vh;
}

.adiseno_img {
	position: fixed;
	top: 130px;
	left: 30px;
}