body {
    font-family: 'GlobotipoTexto-Regular';
    background-color: #151515;
}

.hero {
    padding: 38px 0 126px;
    position: relative;
    background: url('../images/bg-hero-mobile.jpg') no-repeat right top;
    background-size: 140% auto;
}
@media ( min-width: 620px ) {
    .hero { background-size: auto; }
}
@media ( min-width: 750px ) {
    .hero {
        padding: 29px 0 168px;
        background: url('../images/bg-hero.jpg') no-repeat center top;
    }
}

.hero__logo { margin-bottom: 90px; }

.hero__title {
    display: inline-block;
    font-size: 8vw;
    text-transform: uppercase;
    line-height: 1.2;
    color: #fff;
}
@media ( min-width: 480px ) {
    .hero__title { font-size: 49px; }
}

.hero__title:after {
    display: block;
    max-width: 461px;
    height: 3px;
    margin: 11px 0 18px;
    content: '';

    background: rgb(250,5,51);
    background: -moz-linear-gradient(135deg, rgba(250,5,51,1) 0%, rgba(255,87,8,1) 50%, rgba(255,142,1,1) 100%);
    background: -webkit-linear-gradient(135deg, rgba(250,5,51,1) 0%, rgba(255,87,8,1) 50%, rgba(255,142,1,1) 100%);
    background: linear-gradient(135deg, rgba(250,5,51,1) 0%, rgba(255,87,8,1) 50%, rgba(255,142,1,1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#fa0533",endColorstr="#ff8e01",GradientType=1);
}
@media ( min-width: 480px ) {
    .hero__title:after { margin: 22px 0 30px; }
}

.hero__txt {
    font-size: 6vw;
    text-transform: uppercase;
    color: #fff;
}
@media ( min-width: 480px ) {
    .hero__txt { font-size: 32px; }
}

.hero__el {
    width: 100%;
    padding-right: 36px;
    position: absolute;
    left: 0;
    bottom: 0;
}
@media ( min-width: 1280px ) {
    .hero__el {
        background: url('../images/hero-el-2.jpg') no-repeat left top;
    }
}

.hero__el img { float: right; }

.hero__name {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    font-size: 12px;
    text-align: right;
    text-transform: uppercase;
    color: #fff;
    position: absolute;
    right: 10px;
    bottom: -59px;
}

.hero__name:before {
    display: block;
    width: 45px;
    height: 3px;
    margin-bottom: 6px;
    content: '';

    background: rgb(250,5,51);
    background: -moz-linear-gradient(135deg, rgba(250,5,51,1) 0%, rgba(255,87,8,1) 50%, rgba(255,142,1,1) 100%);
    background: -webkit-linear-gradient(135deg, rgba(250,5,51,1) 0%, rgba(255,87,8,1) 50%, rgba(255,142,1,1) 100%);
    background: linear-gradient(135deg, rgba(250,5,51,1) 0%, rgba(255,87,8,1) 50%, rgba(255,142,1,1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#fa0533",endColorstr="#ff8e01",GradientType=1);
}

.code {
    padding: 33px 0 232px;
    background: url('../images/bg-mobile.jpg') no-repeat left bottom;
}
@media ( min-width: 768px ) {
    .code {
        padding: 83px 0;
        background: url('../images/bg.jpg') no-repeat left top;
    }
}

.code__title {
    font-size: 7vw;
    text-transform: uppercase;
    color: #fff;
    margin-bottom: 16px;
}
@media ( min-width: 554px ) {
    .code__title { font-size: 30px; }
}

.code__txt1, .code__txt2 {
    font-size: 5vw;
    color: #fff;
    line-height: 1.1;
    margin-bottom: 31px;
}
@media ( min-width: 554px ) {
    .code__txt1, .code__txt2 { font-size: 24px; margin-bottom: 53px; }
}

.code__txt2 { margin-bottom: 24px; }

.code__txt2:before {
    display: block;
    max-width: 70px;
    height: 3px;
    margin-bottom: 18px;
    content: '';

    background: rgb(250,5,51);
    background: -moz-linear-gradient(135deg, rgba(250,5,51,1) 0%, rgba(255,87,8,1) 50%, rgba(255,142,1,1) 100%);
    background: -webkit-linear-gradient(135deg, rgba(250,5,51,1) 0%, rgba(255,87,8,1) 50%, rgba(255,142,1,1) 100%);
    background: linear-gradient(135deg, rgba(250,5,51,1) 0%, rgba(255,87,8,1) 50%, rgba(255,142,1,1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#fa0533",endColorstr="#ff8e01",GradientType=1);
}

.holder-cupom{
	position: relative;
	display: flex;
	flex-wrap: wrap;
	text-align: center;
	align-items: center;
    margin-bottom: 8px;
}

.holder-cupom__text{
	width: 100%;
	font-size: 22px;
    text-transform: uppercase;
	color: #FB0234;
	background-color: #fff;
	padding: 7px;
}

.holder-cupom__text .border{
	padding: 5px;
	width: 100%;
	display: block;
	border: 2px dashed #FB0234;
}

.holder-cupom__btn{
	display: block;
	font-size: 16px;
	padding: 15px;
	width: 100%;
	height: 100%;
	color: #fff;
	background-color: #FB0234;
	cursor: pointer;
}

@media (min-width: 400px){
	.holder-cupom__text{ width: 67%; }

	.holder-cupom__btn{
		width: 33%;
		padding: 17px 15px;
	}
}

@media (min-width: 768px){
	.holder-cupom__text{ font-size: 32px; }

	.holder-cupom__btn{
		padding: 18px 15px;
		font-size: 30px;
		line-height: 30px;
	}
}

.txt-copiado{
	position: absolute;
	left: 0;
	bottom: -25px;
	width: 100%;
	padding-top: 5px;
	text-align: center;
}

.rules { padding: 59px 0;}
.rules__title {
    font-size: 24px;
    text-transform: uppercase;
    color: #DEDEDE;
    margin-bottom: 15px;
}

.rules__txt, .rules__txt a {
    font-size: 14px;
    color: #DEDEDE;
    margin-bottom: 12px;
}

/* =================== FOOTER/COPYRIGHT =================== */

.footer {
    position: relative;
    z-index: 11;
    background-color: #101010;
}

.copyright {
	margin:  0 auto;
	padding: 15px 19px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    font-size: 10px;
    text-align: center;
    color: #B7B7B7;
}

.copyright p {
	width: 100%;
}

@media ( min-width: 756px ) {
	.copyright {
		text-align: unset;
		padding: 15px 50px;
	}

	.copyright p {
	 width: auto;
	}
}

.copyright .links a {
	display: inline-block;
	color: #B7B7B7;
	padding: 0 10px;
}

.copyright__txt{
	margin-bottom: 15px;
}

@media(min-width: 640px){
	.copyright__txt{
		margin: 0;
	}
}

/* UTILITIES */
.ff-bold { font-family: 'GlobotipoTexto-Bold'; }
.ff-black { font-family: 'GlobotipoTexto-Black'; }

.txt-upper { text-transform: uppercase; }
.txt-center { text-align: center; }

.pos-r { position: relative; }

.center-block { margin-left: auto; margin-right: auto; }

.mrg-b-14 { margin-bottom: 14px; }