html {
    font-size: 14px;
}

@media (min-width: 768px) {
    html {
        font-size: 16px;
    }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
    box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
    position: relative;
    min-height: 100%;
}

body {
    margin-bottom: 60px;
    font-family: "Montserrat", serif;
}

.ico-sm {
    font-size: 30px;
}

.ico-btn {
    font-size: 20px;
}

.btn-prim {
    display: inline-block;
    font-weight: 400;
    text-align: center;
    text-decoration: none;
    user-select: none;
    background-color: #202255;
    border: 1px solid transparent;
    padding: .375rem .75rem;
    font-size: 1rem;
    border-radius: .25rem;
    color: white;
}

    .btn-prim :hover {
        background-color: #202255;
        color: white;
    }

.form-notValid {
    border-color: palevioletred;
    padding-right: calc(1.5em + .75rem);
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right calc(.375em + .1875rem) center;
    background-size: calc(.75em + .375rem) calc(.75em + .375rem);
}

.box-opt {
    height: 16rem;
}

.box-opt-included {
    border-color: #0833A2;
    color: #0833A2;
}

.box-opt-included-error {
    border-color: #FF0800;
    color: #FF0800;
}

.box-opt-selected {
    background-color: #0833A2;
    color: white;
}

/* Smartphones (landscape) ----------- */
@media only screen and (min-width : 321px) {
    /* Styles */
}

/* Smartphones (portrait) ----------- */
@media only screen and (max-width : 576px) {
    .mobile-view {
        display: block;
    }

    .desktop-view {
        display: none;
    }

    .subtitle {
        font-size: 15px;
    }
}

/* iPad Laptop ----------- */
@media only screen and (min-width : 992px) {
    .mobile-view {
        display: none;
    }

    .desktop-view {
        display: block;
    }

    .subtitle {
        font-size: 1.25rem;
    }
}


/* DataTables */
.dt-paging {
    margin-top: 1em;
}

.dt-paging {
    margin-bottom: 1em;
}