* {
    box-sizing: border-box;
}
@font-face {
    font-family:'GoodOT';
    src: url('../fonts/GoodOT-CondBook.eot');
	src: url('../fonts/GoodOT-CondBook.eot?#iefix') format('embedded-opentype'),
		url('../fonts/GoodOT-CondBook.woff2') format('woff2'),
		url('../fonts/GoodOT-CondBook.woff') format('woff'),
		url('../fonts/GoodOT-CondBook.svg#GoodOT-CondBook') format('svg');
    font-weight: 400;
    font-style: normal;
    unicode-range: U+0020-00FE;
}
@font-face {
    font-family:'GoodOT';
    src: url('../fonts/GoodOT-CondBlack.eot');
	src: url('../fonts/GoodOT-CondBlack.eot?#iefix') format('embedded-opentype'),
		url('../fonts/GoodOT-CondBlack.woff2') format('woff2'),
		url('../fonts/GoodOT-CondBlack.woff') format('woff'),
		url('../fonts/GoodOT-CondBlack.svg#GoodOT-CondBlack') format('svg');
    font-weight: bold;
    font-style: normal;
    unicode-range: U+0020-00FE;
}
body {
    background-color: #000000;
    /*background-image: url(../img/back-flare.jpg);*/
    background-repeat: no-repeat;
    background-position: top;
    background-position-x: left;
    font-family: 'GoodOT', sans-serif;
    font-weight: normal;
    overflow-x: hidden;
    font-size: 22px;
    width: 100%;
	min-height:100vh;
	margin:0;
	display:flex;
	flex-direction:column;
}
/* SCROLLBAR */
::-webkit-scrollbar {
  width: 6px;
}
::-webkit-scrollbar-track {
  background: #404040;
}
::-webkit-scrollbar-thumb {
  background: #d3bb7590;
}
::-webkit-scrollbar-thumb:hover {
  background: #d3bb75;
}
/* FIN SCROLLBAR */
a:-webkit-any-link {
    cursor: pointer;
}
.main.registro .boxed {
	background:url('../img/homefondo.png?b') center center no-repeat;
	background-size:cover;
    min-height: 43vw;
}
.main.home {
	background:#000;
	position:relative;
	overflow:hidden;
	align-items:stretch;
	flex-direction:column;
}
.home-bg-video {
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
	object-fit:cover;
	z-index:0;
}
.main.home .boxed {
	position:relative;
	flex:1;
	width:90%;
	margin:0 auto;
	min-height:auto;
	overflow:hidden;
	z-index:1;
}
.main.premios .boxed {
	background:url('../img/fondopremio.png?b') center center no-repeat;
	background-size:cover;
	min-height: 43vw;
}
.main.home .boxed, .main.registro .boxed {
	padding:0;
}
.boxed-inner.home {
	justify-content:center;
}
.boxed-inner.home, .boxed-inner.registro {
	margin:0;
	display:flex;
	align-items:center;
}
.boxed-inner.registro {
	justify-content:flex-end;
}
.main.home .variable {
	position:relative;
	width:50%;
	z-index:1;
}

#loginredes {
    max-width: 250px;
    margin: 5px auto;
    display: flex;
    justify-content: space-around;
    align-items: center;
    font-size: 2rem;
}
a {
    text-decoration: none;
    background-color: transparent;
    transition: all 300ms ease;
}
.container{
    width: 98%;
    padding-right: 15px;
    padding-left: 15px;
    margin-right: auto;
    margin-left: auto;
}
header#navbar {
    width: 98%;
    margin: auto;
}
.navbar ul {
    display: flex;
    height: 10vh;
    align-items: center;
    justify-content: space-between;
    width: 33.3%;
    padding-inline-start: 0px;
}
.navbar-header {
  display: flex;
}
.nav {
    padding-left: 0;
    margin-bottom: 0;
    list-style: none;
}
#navbar .navbar-header .logo img{
    max-height: 82px;
}
a.logo-link img {
    width: 130px;
    position: absolute;
    left: calc(50% - 51px);
    margin: 1% 0;
}
.olvido a {
	color:#fff;
	font-size:1rem;
	text-decoration:none;
}
.olvido {
	text-align:right;
    max-width: 400px;
	margin:auto;
    margin-top: 0;
    padding: 0px;
    line-height: 100%;
}
.collapsible {
    display: flex;
    justify-content: space-between;
}
div#navbar-collapse {
    width: 100%;
    padding: 0 4%;
}

a.navbar-toggle {
    display: none;
}
#navbar li a {
    color: #d3bb75;
	font-size:1.5rem;
	text-transform:uppercase;
}
#navbar li {
  list-style-type: none;
}
.sr-only {
display: none;
}

/* FIN HEADER */
.caja {
    width: 100%;
    margin: 0 auto;
	flex:1;
	display:flex;
}
.main {
	width:100%;
	flex:1;
	display:flex;
}
.boxed {
    padding: 1% 5%;
    border: 2px solid #d3bb75;
    font-size: 1.4em;
    /*line-height: 1.4em;*/
    position: relative;
    margin: auto;
    display: flex;
    min-height: 77vh;
    align-content: center;
    justify-content: space-between;
    width: 90%;
}
.boxed img {
    max-height: 55vh;
    max-width: 100%;
    margin: auto;
    max-width: 590px;
}
.registro .boxed img {
	margin:0;
}
.boxed-inner {
    width: 50%;
    margin: auto;
}
.boxed.flare-top-middle:before,
.boxed.flare-top-left:before,
.boxed.flare-top-right:before {
    display: block;
    background: url(../img/mgd-flare1.png) no-repeat;
    background-size: contain;
    content: "";
    width: 340px;
    height: 40px;
    top: -21px;
    position: absolute;
}
.boxed.flare-bottom-middle:after,
.boxed.flare-bottom-left:after,
.boxed.flare-bottom-right:after {
    display: block;
    background: url(../img/mgd-flare1.png) no-repeat;
    background-size: contain;
    content: "";
    width: 340px;
    height: 40px;
    bottom: -21px;
    position: absolute;
    opacity: 0.7;
}
.boxed.flare-right-middle > .boxed-inner:after,
.boxed.flare-right-top > .boxed-inner:after,
.boxed.flare-right-bottom > .boxed-inner:after {
    display: block;
    background: url(../img/mgd-flare2.png) no-repeat;
    background-size: contain;
    content: "";
    width: 40px;
    height: 340px;
    position: absolute;
    right: -21px;
    opacity: 0.5;
}
*:before, *:after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
.boxed.flare-top-middle:before {
    transform: translateX(-50%);
    left: 25%;
}
.boxed.flare-bottom-right:after {
    right: -50px;
    left: auto;
}
.boxed.flare-right-top > .boxed-inner:after {
    top: 0;
}

.variable {
    width: 40%;
    color: #fff;
    text-align: center;
    margin: auto 0;
    overflow: auto;
    max-height:70vh;
}
.registro .variable {
	margin:auto 5%;
}
.home .variable img {
    max-width: 90%;
	display:block;
	margin:auto;
}
.home .variable img.mt-1 {
	margin-top:1rem;
}
.mt-1 {
	margin-top:1rem;
}
.home .variable p {
	text-transform:uppercase;
	font-size:3rem;
	font-weight:bold;
	padding-bottom:1rem;
	line-height:110%;
}
.variable p a {
    color: #fff;
    font-size: 0.7em;
}
.variable p {
    margin-block-start: 0.1em;
    margin-block-end: 0.1em;
}
.variable p.label {
	font-size:1rem;
    max-width: 450px;
	margin:.7rem auto;
	line-height:120%;
}
.btn {
    display: inline-block;
    margin-bottom: 0;
    text-align: center;
    white-space: nowrap;
    vertical-align: middle;
    touch-action: manipulation;
    cursor: pointer;
    border: 1px solid transparent;
    user-select: none;
}
.btn-lg,
.btn-group-lg > .btn {
    padding: 10px 16px;
    font-size: 18px;
    line-height: 1.33333;
    border-radius: 6px;
}
.btn.btn-primary,
.btn.btn-ageverification {
    background: #ceb888;
    color: black;
    text-transform: uppercase;
    font-weight: 600;
    border-radius: 0;
    border-color: transparent;
    transition: all 600ms ease !important;
    -o-transition: all 600ms ease !important;
    -moz-transition: all 600ms ease !important;
    -webkit-transition: all 600ms ease !important;
    position: relative;
    font-size: 20px;
    min-width: 180px;
    padding: 8px 22px;
    z-index: 1;
    margin: 15px;
    font-family: 'GoodOT', sans-serif;
	-webkit-appearance: none;
	appearance: none;
}
.btn.btn-primary.btn-out-primary {
    border:1px solid #ceb88b !important;
    color: #ceb88b !important;
    background: #000 !important;
}
.cmperr {
    font-size: 0.6em !important;
	line-height:100%;
	text-align:right;
	color: #cf2d2d;
	margin:auto;
}
.logo-pie {
    text-align: center;
    margin: 0 auto;
}
.logo-pie img {
    width: 190px;
    margin: 2vh;
}
/* MAYOR */
.age {
  background-size: 0%;
}
.edad {
  text-align: center;
  color: #fff;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100vh;
}
.campos {
  display: flex;
  width: 350px;
}
.edad img {
  display: block;
  max-width: 100%;
  height: auto;
  vertical-align: middle;
  border: 0;
  margin: 1%;
}
.edad h1 {
  font-size: 1.1em;
  line-height: 1.3;
  color: #fff !important;
  margin: 20px 0 20px 0;
  font-weight: normal;
}
.edad h2 {
  color: #d3bb75;
  font-size: 1.6em;
  margin-top: 20px;
  margin-bottom: 10px;
  line-height: 2em;
  font-weight: normal;
}
.edit-legal a {
  color: #d3bb75;
}
.info-edad{
  height: 80px;
  text-align: center;
  padding: 10px;
  border: 3px solid #d3bb75;
  background: #fff;
  border-radius: 0;
  color: #fff;
  background-color: #000;
  font-size: 40px;
  font-weight: 700;
  margin-bottom: 20px;
  width: 100%;
  min-width: 60px;
  margin: 0px 2px;
  font-family: 'GoodOT', sans-serif;
}
.experience {
  font-size: 30px;
}

.hidden {
  display: none !important;
}
.ageverification-form-error {
    color: #EC0417;
    top: 8px;
    position: relative;
    font-weight: 600;
    opacity: 0.9;
}
.panel {
  max-width: 320px;
  margin: 6% auto 2%;
  font-size: 0.7em;
}
.bienve {
  width: 267px;;
  height: 46px;
}
.logo-edad {
  width: 154px;
  height: 122px;
}
.panel-body{
  width: 100%;
}
#gracias {
	background: url(../img/fondopremio.png?b) center center no-repeat;
    background-size: cover;
    min-height: 43vw;
}
/* premios */
.gracias .variable-premios { 
	width: 100%;
	margin-left:0%;
}
/* premios */
.variable-premios.variable-bases { 
	width: 100%;
	margin-left:0%;
}
.variable-premios {    
	width: 50%;
	margin-left:50%;
    color: #fff;
    text-align: center;
    overflow: auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.variable-premios h2{
    color: #d3bb75;
    font-size: 2.5em;
    margin-block-start: 0.6em;
    margin-block-end: 0.3em;
}
.variable-premios .premios-subtitle {
	font-size:1.5em;
	font-weight:bold;
	line-height:1em;
	text-transform:uppercase;
	margin:0.5rem;
}
.variable-premios p {
    color: #fff;
    font-size: 0.8em;
    line-height: 1.3em;
    padding: 0 20px;
}
.premios {
  display: flex;
  justify-content: center;
}
.premios img {
	margin: 2%;
	max-width: 28%;
}
.col-premios {
    width: 40%;
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
}
img.bot{
    width: 85px;
}
.info-premios ul {
	list-style:none;
	margin:0;
	padding:0;
}
.info-premios a {
	color:inherit;
	text-decoration:none;
}
.info-premios {
  height: 45%;
}
.foto-premios {
  height: 55%;
  display: contents;
}
img.parlante {
  margin-block-end: 0;
}
/* FIN PREMIOS */
#ganadores h2 {
    line-height: 1em;
    max-width: 700px;
    margin: auto;
    font-size: 2em;
}
#ganadores, #bases {
    flex-direction: column;
    align-items: center;
}
#ganadores .variable-premios {
    overflow: visible;
}
#bases .variable-premios {
    overflow: auto;
}
.bot-participar {
    margin: 0 auto;
}
#bases p {
    color: #bdbdbd;
    font-size: 0.7em;
}

.premmob {
	display:none;
}
.formulario.registro {
	width:96%;
	margin:auto;
}
.formulario .campo {
	margin-bottom:.5rem;
}
.formulario .form-row {
	display:grid;
	grid-template-columns:repeat(2, minmax(0, 1fr));
	column-gap:.75rem;
	row-gap:.35rem;
	max-width:640px;
	margin:0 auto;
}
.formulario .form-row .campo {
	margin-bottom:0;
}

.formulario > .campo:not(.checkbox) {
	max-width:640px;
	margin-left:auto;
	margin-right:auto;
}
.formulario .form-row + .campo {
	margin-top:.45rem;
}

.formulario .campo input, .formulario .campo textarea, .formulario .campo select {
	background:rgba(0,0,0,0.6);
	border:1px solid #cfb776;
	width:100%;
	max-width:400px;
	box-sizing:border-box;
	padding:8px 12px;
    font-family:'GoodOT';
	border-radius:none;
	color:#fff;
	resize:none;
}
.formulario .campo select {
	max-width:640px;
	text-transform:uppercase;
}
.formulario .campo textarea {
	max-width:640px;
	min-height:75px;
}
.formulario .campo.checkbox {
	text-align:center;
	margin:auto;
}
.formulario .campo.checkbox input {
	width:15px;
	height:15px;
	padding:0;
	border:1px solid #cfb776;
	border-radius:50%;
	background:#fff;
	appearance:none;
	-webkit-appearance:none;
	vertical-align:middle;
	cursor:pointer;
}
.formulario .campo.checkbox input:checked {
	background:#cfb776;
	box-shadow:inset 0 0 0 3px #000;
}
.formulario .campo.checkbox label {
	font-size:1rem;
}
.formulario .campo.checkbox .cmperr {
	text-align:center;
}
.formulario .campo input::placeholder {
	color:#fff;
}
.info-edad.error, .formulario .campo input.error, .formulario .campo textarea.error, .formulario .campo select.error {
	border-color:#cf2d2d;
	background:rgba(30,0,0,0.6);
}
.ticket {
	position:relative;
}
.ticket input {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	opacity:0;
}
.ticket.error {
	background:#41251b;
	border-color:#41251b;
}
@media (max-width: 1600px) {
	body {
		font-size: 18px;
	}
	.boxed {
		min-height: 74vh;
	}
	.logo-pie img {
		width: 167px;
	}
	a.logo-link img {
		width: 100px;
	}
}

@media (max-width: 992px) {
	
.boxed-inner.registro {
	justify-content:center;
	padding:5vw;
}
	body {
		text-align: center;
		width: auto;
	}
	.container {
		width: 100%;
		margin: 0;
		padding: 0;
	}
	a.logo-link img {
		position: absolute;
		margin: auto;
	}
	header#navbar {
		width: 100%;
		margin: auto;
	}
	#navbar .navbar-header {
		height: 84px;
		left: 0;
		width: 100%;
		margin: 0;
		position: fixed;
		top: 0;
		z-index: 100;
		background: rgba(0,0,0,0.75);
		padding-top: 4px;
	}
	.navbar-collapse {
		position: fixed;
		top: 84px;
		left: 0;
		width: 100%;
		padding: 0 4%;
		z-index: 99999999;
	}
	.collapsible {
		flex-direction: column;
		margin-top: 0;
		position: relative;
		z-index: 1000;
		width: 100%;
		background: rgba(0,0,0,0.75);
		padding: 0 0 25px 0;
	}
	.navbar ul {
		width: 92%;
		flex-direction: column;
		height: 20px;
	}
	a.navbar-toggle {
		display: inline-block;
		background-color: transparent;
		border: none;
		width: 40px;
		transition: all 300ms ease;
		-o-transition: all 300ms ease;
		-moz-transition: all 300ms ease;
		-webkit-transition: all 300ms ease;
		text-align: right;
		position: absolute;
		right: 8%;
		top: 40%;
	}
	.navbar-toggle .icon-bar {
		display: block;
		height: 2px;
		border-radius: 1px;
	}
	#navbar .navbar-toggle .icon-bar {
		width: 80%;
		float: right;
		background: linear-gradient(330deg,#d3bb75 0%,#e3ce9a 12%,#f2e1bd 23%,#d3bb75 58%,#f2e1bd 82%,#d3bb75 100%);
		margin-bottom: 7px;
	}
	#navbar .navbar-toggle .icon-bar.one {
		width: 100% !important;
	}
	#navbar .navbar-toggle .icon-bar.three {
		width: 50%;
	}
	ul.menu.menu-left {
		margin-top: 0px;
	}
	.caja {
		margin-top: 90px;
	}
	.boxed {
		flex-direction: column;
		min-height: 100%;
		width: 90%;
		margin: auto;
		padding: 1% 5%;
	}
	.boxed img {
		max-width: 95%;
		margin: 1rem;
	}
	.main.registro .boxed { 
		background: url(../img/homefondo.png?b) top left no-repeat;
        padding-top: 72vw;
        background-size: 174% auto;
	}
	.main.premios .boxed { 
		background: url(../img/fondopremio.png?b) top left no-repeat;
        padding-top: 72vw;
        background-size: 174% auto;
	}
	.home-bg-video {
		object-position: 70% center;
	}
	.variable {
		max-height: none !important;
		overflow: inherit;
		max-width: 90%;
		margin: auto;
		width: 100%;
		line-height: 100%;
	}
	.main.home .variable {
		width: 100%;
	}
	.formulario .form-row {
		grid-template-columns:1fr;
	}
	.boxed-inner {
		width: 100%;
	}
	.boxed.flare-bottom-right:after {
		right: 0;
	}
	.variable img {
		max-width: 65%;
	}
	.logo-pie img {
		padding-top: 3%;
	}
	.navbar-collapse {
		display: none;
	}
	.navbar-collapse .responsive {
		display: block;
	}
	.sr-only {
		position: absolute;
		width: 1px;
		height: 1px;
		padding: 0;
		margin: -1px;
		overflow: hidden;
		clip: rect(0,0,0,0);
		border: 0;
	}
	/* PREMIOS */
	.col-premios {
		width: 100%;
	}
	.premios {
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
	}
	.premios img {
        margin: 3% 4%;
        max-width: 35%;
	}
	.premmob {
		display: block;
	}
	.premdesk {
		display: none;
	}
	.variable-premios {
		width: 100%;
		margin: auto;
	}
	.variable-premios h2 {
		font-size: 2em;
	}
	.variable-premios h2 br {
		display:none;
	}
	.variable-premios h2 br {
		display:none;
	}
	.variable-premios img {
	}
	img.bot {
		max-width: 90px;
	}
	/* FIN PREMIOS */
	.boxed#ganadores {
		height: 75vh;
	}
	.bot-participar {
		margin: 20px auto;
		height: 10vh;
	}
	#ganadores h2 {
		font-size: 1.6em;
	}
}

@media (max-width: 370px) {
	.campos {
		width: 250px;
		margin: auto;
	}
	.edad img {
		max-width: 80%;
	}
	.edad h2 {
		font-size: 1.4em;
	}
	.panel {
		max-width: 250px;
	}
	.info-edad {
		font-size: 26px;
	}
}
