body {
    font-family: 'Open Sans', sans-serif
}

a {
    font-size: .8rem;
    color: #408cab;
    text-decoration: underline
}

.bold {
    font-weight: 600
}

.mt15 {
    margin-top: 15px
}

.banner-promocao {
    margin-top: 8px;
    margin-bottom: 8px
}

.form-group {
    margin-bottom: .5rem
}

.form-group input {
    height: 2.1875rem
}

.form-control,
.form-control:focus {
    font-size: .8rem;
    color: #89878B;
    background-color: #EDEFF1;
    border: none;
    border-radius: 0;
    transition: unset;
    font-weight: 300
}

/* Inputs arredondados */
.form-control {
    border-radius: 8px !important;
    padding: 12px 16px !important;
    border-width: 2px !important
}

.form-control.is-valid {
    background-image: none !important
}

.form-control.is-invalid {
    background-image: none !important
}

.btn-primary,
.btn-primary:focus,
.btn-primary:hover,
.btn-primary:not(:disabled):not(.disabled):active {
    color: #fff;
    background-color: #078C03;
    border: none;
    height: 2.75rem;
    text-transform: uppercase;
    box-shadow: none;
    width: 100%
}

/* Botão participar */
.btn-primary {
    border-radius: 8px !important;
    padding: 14px 40px !important;
    font-weight: 550 !important
}

.qual-app,
.was-validated .custom-control-input:valid~.custom-control-label {
    color: #078C03
}

/* Área da pergunta */
.qual-app {
    background-color: #f8f9fa;
    padding: 20px;
    border-radius: 8px
}

.btn,
.btn:active,
.btn:hover,
.btn:visited {
    font-weight: 400;
    border: none;
    padding: .7rem .75rem;
    font-size: .9rem;
    border-radius: 0;
    width: 100%
}

.banner-promocao img,
.cadastro-feito img {
    width: 100%
}

.was-validated input {
    border: 1px solid red
}

.invalid-feedback {
    font-size: .75rem
}

.qual-app p {
    font-size: .9rem;
    font-weight: 300;
    margin-bottom: .3rem
}

.qual-app .row {
    padding: 0 15px
}

.qual-app label {
    font-size: .8rem;
    font-weight: 400
}

.custom-control {
    padding-top: .2rem
}

/* Radio e Checkbox */
.custom-control-label {
    cursor: pointer;
    font-size: 15px
}

/* Link do regulamento */
.custom-checkbox a {
    font-weight: 600;
    text-decoration: none
}

.custom-checkbox a:hover {
    text-decoration: underline
}

.custom-checkbox .custom-control-input:checked~.custom-control-label::before,
.custom-control-input.is-valid:checked~.custom-control-label::before,
.custom-control-input:checked~.custom-control-label::before,
.custom-radio .custom-control-input:checked~.custom-control-label::before,
.was-validated .custom-control-input:valid:checked~.custom-control-label::before {
    background-color: #004c96
}

.custom-control-input.is-valid~.custom-control-label::before,
.was-validated .custom-control-input:valid~.custom-control-label::before {
    background-color: #dee2e6
}

.custom-checkbox {
    padding-top: 0
}

.modal-footer,
.modal-header {
    padding: .75rem
}

.modal-title {
    font-size: 1rem;
    font-weight: 600;
    color: #408cab;
    margin: 0 auto
}

.modal-body {
    height: 80vh;
    overflow: scroll
}

.modal-body p {
    font-size: .8rem
}

.btn-outline-primary,
.btn-outline-primary:hover,
.btn-outline-primary:not(:disabled):not(.disabled):active {
    border: none;
    padding: 0;
    width: 100%;
    font-size: .9rem
}

/* Botão consultar */
.btn-outline-primary {
    border-radius: 8px !important;
    padding: 10px 20px !important
}

.cadastro-feito {
    color: #004c96;
    font-weight: 300
}

.title-sucesso {
    color: #6ebedc
}

.table p {
    margin-bottom: 0
}

.table th {
    padding: .4rem
}

.table thead th {
    vertical-align: middle;
    border-bottom: 1px solid #dee2e6
}

.capitalize {
    text-transform: capitalize
}

.msg-final {
    color: #004c96;
    font-size: 22px;
    letter-spacing: -1px
}

.msg-error {
    font-size: .75rem
}

/* Alerta de erro */
.text-danger {
    background-color: #fff3cd;
    border-left: 4px solid #dc3545;
    padding: 12px 16px;
    border-radius: 6px
}

.none {
    display: none
}

.block {
    display: block
}

select.form-control:not([size]):not([multiple]) {
    height: 2.1875rem
}

.modal-dialog {
    max-width: 800px;
}

.modal.show {
    padding-right: 0px !important;
}

.modal-header .close {
    margin: -1rem -1rem -1rem 1px;
}

.table td,
.table th {
    vertical-align: middle !important;
}

/* Estilos para a seção de consulta */
.card {
    border-radius: 12px !important;
    border: 2px solid #e9ecef !important
}

.card-title {
    font-weight: 600 !important;
    font-size: 1rem !important
}

/* Resultados */
.bg-light {
    background-color: #f8f9fa !important
}

.text-success {
    color: #28a745 !important
}