/* reset css */
* { box-sizing: border-box; }
html { 
    --cor-primaria: #051331; /* azul */
    --cor-secundaria: #c4007a; /* rosa */
    --cor-terciaria: #211b46; /* roxo */
    --cor-botao: #2a2b61; /* roxo azulado */
    --cor-texto: #ffffff; /* branco */
    --gap: 30px 40px;
    --fonte-especial: 'Montserrat', sans-serif;
}

html, body { height: 100%; margin: 0px; padding: 0px; font: 400 16px/1.2 'Barlow', sans-serif; letter-spacing: 0.5px; text-size-adjust: none; color: var(--cor-texto); background-color: var(--cor-primaria); }
body { margin: 0px auto; width: 100%; max-width: 1920px; }
header, main, section, div, article, aside, form, fieldset, footer { display: block; margin: 0px; padding: 0px; border: none; }
h1, h2, h3, h4, h5, h6, p { margin: 0px; padding: 0px; }
ul, ol { margin: 0px 0px 0px 0px; padding: 0px; list-style-position: inside; }
img, figure, iframe, embed, object, video { display: block; margin: 0px; padding: 0px; max-width: 100%; border: none; }
input[type="submit"], [type="button"], input[type="file"] { cursor: pointer; }
input, button, select, option, optgroup, textarea { display: block; margin: 0px; padding: 0px; font: 400 16px/1.2 'Barlow', sans-serif; text-size-adjust: none; color: var(--cor-secundaria); outline: none; border: none; }
img { height: auto; }
a { text-decoration: none; color: var(--cor-texto); }
a:hover { text-decoration: underline; }

/* geral */
.fancybox-container * { position: static; }
.fancybox-button { color: var(--cor-branco) !important; background-color: var(--cor-primaria) !important; }
.central { margin: 0px auto; padding: 0px 30px; width: 100%; max-width: 1220px; }
.clear { clear: both; }

.editor {
    --ck-image-style-spacing: 1.5em;

    & .image {
        margin-left: auto; margin-right: auto; text-align: center;
        &.image-style-block-align-left, &.image-style-block-align-right { max-width: calc(100% - var(--ck-image-style-spacing)); }
        &.image-style-align-left, &.image-style-align-right { clear: none; }
        &.image-style-side { margin-left: var(--ck-image-style-spacing); max-width: 50%; float: right; }
        &.image-style-align-left { margin-right: var(--ck-image-style-spacing); float: left; }
        &.image-style-align-right { margin-left: var(--ck-image-style-spacing); float: right; }
        &.image-style-block-align-right { margin-left: auto; margin-right: 0px; text-align: right; }
        &.image-style-block-align-left { margin-left: 0px; margin-right: auto; text-align: left; }
    }

    & .image-style-align-center { margin-left: auto; margin-right: auto; text-align: center; }
    & .image-style-align-left { margin-right: var(--ck-image-style-spacing); text-align: left; float: left; }
    & .image-style-align-right { margin-left: var(--ck-image-style-spacing); text-align: right; float: right; }

    & p + .image.image-style-align-left, & p + .image.image-style-align-right, & p + .image.image-style-side { margin-top: 0px; }

    & .image-inline {
        &.image-style-align-left, &.image-style-align-right { margin-top: var(--ck-inline-image-style-spacing); margin-bottom: var(--ck-inline-image-style-spacing); }
        &.image-style-align-left { margin-right: var(--ck-inline-image-style-spacing); }
        &.image-style-align-right { margin-left: var(--ck-inline-image-style-spacing); }
    }
}
.editor > * { padding-top:15px; }
.editor.politicas > p { line-height:1.4; }
.editor > :first-child { margin-top: 0px; padding-top: 0px; } 
.editor > :last-child { margin-bottom: 0px; }
.editor > table { padding-top: 0px; margin-top: 15px; }
.editor a { text-decoration: underline; }
.editor h1,
.editor h2,
.editor h3 { font: 400 20px/1.3 var(--fonte-especial); letter-spacing: 2px; }
.editor ul li + li { padding-top: 5px; }
.editor img { display: inline-block !important; vertical-align: top !important; max-width: 100%; }
.editor blockquote { margin-bottom: 0px; margin-left: 0px; margin-right: 0px; padding: 0px 0px 0px 10px; font-style: italic; color: inherit; border-left: 3px solid var(--cor-primaria); }
.editor hr { margin: 15px 0px 0px 0px; padding: 0px; height: 1px; border: 0px; background-color: var(--cor-primaria); }
.editor .table {
    display: table; margin: 0.9em auto;

    & table {
        width: 100%; height: 100%; border: 1px double hsl(0, 0%, 70%); border-collapse: collapse; border-spacing: 0px;
        & td, & th { padding: .4em; min-width: 2em; border: 1px solid hsl(0, 0%, 75%); }
        & th { font-weight: 700; background: hsla(0, 0%, 0%, 5%); }
    }
}

#fundo01 { padding-bottom: 50px; background: url('../img/fundo01-mobile.webp') top center no-repeat; background-size: cover; }
#fundo02 { background: url('../img/fundo02-mobile.webp') top right no-repeat; background-size: contain; }

.titulo h1,
.titulo h2 { font: 400 24px/1.3 var(--fonte-especial); letter-spacing: 2px; text-transform: uppercase; }

.botao { margin-top: 30px; text-align: center; }
.botao a { display: inline-block; vertical-align: middle; padding: 20px 35px; line-height: 1; text-decoration: none; color: var(--cor-branco); background-color: var(--cor-botao); transition: all .30s linear; }
.botao a:hover { background-color: var(--cor-secundaria); transition: all .30s linear; }

.video-mp4 .container, 
.video-iframe .container { aspect-ratio: 16 / 9; }
.video-mp4 .container video,
.video-iframe .container iframe { width: 100%; height: 100%; object-fit: cover; }

.conteudo-internas { padding: 30px 0px 50px; }

/* validacao formulario */
.sucesso { font-weight: 700; color: #66b34e; }
.retorno { margin-top: 10px; font-weight: 700; color: #cc0000; }
.retorno.erro { color: #cc0000 !important; }
.retorno.sucesso { color: #66b34e !important; }
.retorno:empty { display: none !important; }
.erro:focus { color: #cc0000 !important; border: 1px solid #cc0000 !important; }

/* formulario */
.formulario form .duas-colunas { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; }
.formulario form .duas-colunas > div { flex: auto; width: 100%; }
.formulario form .duas-colunas + .duas-colunas { margin-top: 15px; }
.formulario form .duas-colunas + .campo { margin-top: 15px; }
.formulario form .campo input[type="text"] { padding: 0px 15px; width: 100%; height: 45px; line-height: 1; opacity: 0.5; }
.formulario form .campo input[type="text"]:focus { opacity: 1; }
.formulario form .campo textarea { padding: 15px; width: 100%; height: 200px; opacity: 0.5; resize: vertical; }
.formulario form .campo textarea:focus { opacity: 1; }
.formulario form .campo label { display: block; padding-bottom: 5px; }
.formulario form .campo + .campo { margin-top: 15px; }
.formulario form .campo + .duas-colunas { margin-top: 15px; }
.formulario form .campo.concordo { margin-top: 13px; }
.formulario form .campo.concordo input[type="checkbox"] { display: none; }
.formulario form .campo.concordo input[type="checkbox"] + label { position: relative; padding: 0px 0px 0px 30px; }
.formulario form .campo.concordo input[type="checkbox"] + label a { text-decoration: underline; }
.formulario form .campo.concordo input[type="checkbox"] + label:before { content: '\00a0'; position: absolute; display: block; top: 2px; left: 0px; width: 18px; height: 18px; border: 1px solid var(--cor-quartenaria); border-radius: 5px; cursor: pointer; }
.formulario form .campo.concordo input[type="checkbox"]:checked + label:before { content: '\2713'; line-height: 18px; font-weight: 700; text-align: center; color: var(--cor-secundaria); border-color: var(--cor-secundaria); }
.formulario form .campo.enviar { margin-top: 30px; text-align: right; }
.formulario form .campo.enviar button { display: inline-block; vertical-align: middle; padding: 20px 35px; line-height: 1; text-decoration: none; color: var(--cor-branco); background-color: var(--cor-botao); cursor: pointer; transition: all .30s linear; }
.formulario form .campo.enviar button:hover { background-color: var(--cor-secundaria); transition: all .30s linear; }

.formulario form.loading .campo.enviar button { width: 20px; height: 20px; margin: 0px auto; font-size: 0px; background: url('../img/loading.gif') no-repeat center; }

/* internas */
.internas #fundo01 { padding: 0px; background: none; }
.internas header { padding: 30px 0px; }
.internas header .logo-interna { display: block; margin: 0px; max-width: 160px; }
.internas header .logo-index { display: none; }
.internas header .destaque,
.internas header .separador,
.internas header .promocao { display: none; }

/* topo */
header { overflow: hidden; }
header .logo { margin: -38px 0px 0px -31px; width: 100%; max-width: 299px; }
header .logo figure img { width: 100%; }
header .logo-interna { display: none; }
header .destaque { margin-top: 160px; width: 100%; max-width: 530px; }
header .destaque .texto { margin-top: 20px; font-size: 18px; line-height: 1.6; letter-spacing: 1px; }
header .separador { margin: 60px 0px 30px; width: 100vw; height: 4px; background-color: var(--cor-secundaria); }
header .promocao p { font: 400 16px/1.4 var(--fonte-especial); letter-spacing: 2px; text-transform: uppercase; color: var(--cor-secundaria); }

/* index */
#premiacoes .owl-carousel { position: relative; margin-top: 50px; padding-bottom: 20px; }
#premiacoes .owl-carousel .bloco { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: flex-start; gap: var(--gap); }
#premiacoes .owl-carousel .bloco .coluna { flex: none; width: calc(50% - var(--gap)); }
#premiacoes .owl-carousel .bloco .coluna h3 { padding-bottom: 15px; font: 400 12px/1.4 var(--fonte-especial); text-transform: uppercase; color: var(--cor-secundaria); }
#premiacoes .owl-carousel .bloco .coluna ul li + li { padding-top: 10px; }
#premiacoes .owl-carousel .bloco .coluna:last-child { width: 100%; }
#premiacoes .owl-carousel .owl-prev { display: none; }
#premiacoes .owl-carousel .owl-prev span,
#premiacoes .owl-carousel .owl-next span { position: absolute; top: 0px; width: 15px; height: 100%; font-size: 0px; cursor: pointer; }
#premiacoes .owl-carousel .owl-prev span { left: 0px; background: url('../img/ico-seta-anterior.svg') bottom no-repeat; background-size: 15px 27px; }
#premiacoes .owl-carousel .owl-next span { right: 0px; background: url('../img/ico-seta-proximo.svg') bottom no-repeat; background-size: 15px 27px; }
#premiacoes .owl-carousel:before { content: ''; display: block; position: absolute; bottom: 12px; left: 0px; width: 100px; height: 4px; background-color: var(--cor-secundaria); z-index: 2; }
#premiacoes .owl-carousel:after { content: ''; display: block; position: absolute; bottom: 13px; left: 0px; width: 80%; height: 2px; background-color: var(--cor-terciaria); z-index: 1; }

#bmw { padding: 40px 0px 360px; }
#bmw .texto { margin: 0px auto; width: 100%; max-width: 582.86px; text-align: center; }
#bmw .texto p { font: 400 16px/1.8 var(--fonte-especial); letter-spacing: 2px; text-transform: uppercase; color: var(--cor-secundaria); }

#regulamento { position: relative; padding: 100px 0px; text-align: center; background: #111d43; background: linear-gradient(90deg,rgba(17, 29, 67, 1) 0%, rgba(25, 13, 53, 1) 80%); }
#regulamento:before { content: ''; display: block; position: absolute; top: 50%; margin-top: -150px; left: -80px; width: 142px; height: 300px; background: url('../img/regulamento.png') top left no-repeat; background-size: 142px 300px; }
#regulamento .central { max-width: 620px; }
#regulamento p { font: 400 16px/1.8 var(--fonte-especial); letter-spacing: 2px; text-transform: uppercase; color: var(--cor-texto); }

/* rodape */
footer { border-top: 4px solid var(--cor-secundaria); }
footer .logo { margin: 0px auto; padding: 40px 0px; width: 100%; max-width: 160px; }
footer .logo figure img { width: 100%; }
footer .copyright { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px; padding-bottom: 40px; }
footer .copyright > div { flex: none; width: 100%; }
footer .copyright .texto { text-align: center; }
footer .copyright .texto p { font-size: 14px; }
footer .copyright .logo-dataprisma { margin: 0px auto; width: 100%; max-width: 93px; }
footer .copyright .logo-dataprisma figure img { width: 100%; }