/*
 * Copyright (c) 2022.
 * Desenvolvido por Infotech Tecnologia: https://infotechtecnologia.com/ para Health & Safety: https://www.healthsafety.com.br/
 * Todos os direitos reservados. Se você não obteve esse arquivo com a permissão da Infotech Tecnologia ou Health & Safety, apague-o imediatamente e avise-nos através do e-mail zenzen@infotechtecnologia.com.
 */

/* Miligram overrides */
body {
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-weight: 400;
}

.nav-links,
.top-nav-links,
.side-nav,
h1, h2, h3, h4, h5, h6 {
    font-family: "Raleway", sans-serif;
}

h1, h2, h3, h4, h5, h6 {
    font-weight: 400;
    color: #363637;
}

a {
    color:#2f85ae;
    -webkit-transition:all 0.2s linear;
    transition:all 0.2s linear;
}

a:hover,
a:focus,
a:active  {
    color:#2a6496;
    -webkit-transition:all 0.2s easeout;
    transition:all 0.2s ease-out;
}

.side-nav a,
.top-nav-links a,
th a,
.actions a {
    color: #606c76;
}

.side-nav a:hover,
.side-nav a:focus,
.actions a:hover,
.actions a:focus {
    color:#2f85ae;
}

/* Utility */
.table-responsive {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

/* Main */
body {
    background: #f5f7fa;
}
.content {
    padding: calc(2rem * 0.625);
    background: #ffffff;
    border-radius: calc(0.4rem * 0.625);
    /* Thanks Stripe */
    box-shadow: 0 7px 14px 0 rgba(60, 66, 87, 0.1),
        0 3px 6px 0 rgba(0, 0, 0, 0.07);
}
.actions a {
    font-weight: bold;
    padding: 0 calc(0.4rem * 0.625);
}
th {
    white-space: nowrap;
}

/* Nav bar */
.top-nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: calc(112rem * 0.625);
    padding: calc(2rem * 0.625);
    margin: 0 auto calc(2rem * 0.625);
}
.top-nav-title a {
    font-size: calc(2.4rem * 0.625);
    color: #0089d0;
}
.top-nav-title span {
    color: #404041;
}
.top-nav-links a {
    margin: 0 calc(0.5rem * 0.625);
    color: #384D97;
}
.nav-links a,
.top-nav-title a,
.top-nav-links a {
    font-weight: bold;
}

.side-nav-item {
    display: block;
    padding: calc(0.5rem * 0.625) 0;
}

/* View action */
.view.content .text {
    margin-top: calc(1.2rem * 0.625);
}
.related {
    margin-top: calc(2rem * 0.625);
}

/* Flash messages */
.message {
    padding: calc(1rem * 0.625);

    background: #eff8ff;
    color: #2779bd;

    border-color: #6cb2eb;
    border-width: 1px;
    border-style: solid;
    border-radius: 4px;
    margin-bottom: calc(2rem * 0.625);
}
.message.hidden {
    display: none;
}
.message.success {
    background: #e3fcec;
    color: #1f9d55;
    border-color: #51d88a;
}
.message.error {
    background: #fcebea;
    color: #cc1f1a;
    border-color: #ef5753;
}

/* Forms */
.input.radio,
.input.checkbox {
    margin-bottom: calc(2.0rem * 0.625);
}
.input.radio input,
.input.checkbox input {
    margin: 0;
}
.input.radio label,
.input.checkbox label {
    margin: 0;
    display: flex;
    align-items: center;
}
.input.radio label > input,
.input.checkbox label > input {
    margin-right: calc(1.0rem * 0.625);
}
.input.radio label:first-of-type {
    margin-bottom: calc(2.0rem * 0.625);
}
input:invalid {
    border: 2px solid orangered;
}

/* Paginator */
.paginator {
    text-align: right;
}
.pagination {
    display: flex;
    justify-content: center;
    list-style: none;
    padding: 0;
    margin: 0 0 calc(1rem * 0.625);
}
.pagination li {
    margin: 0 calc(0.5rem * 0.625);
}
.prev.disabled a,
.next.disabled a {
    cursor: not-allowed;
    color: #606c76;
}
.asc:after {
    content: " \2193";
}
.desc:after {
    content: " \2191";
}

/* Error */
.error-container {
    align-items: center;
    display: flex;
    flex-direction: column;
    height: 100vh;
    justify-content: center;
}

@media screen and (max-width: 640px) {
    .top-nav {
        margin: 0 auto;
    }
    .side-nav {
        margin-bottom: calc(1rem * 0.625);
    }
    .heading {
        margin-bottom: calc(1rem * 0.625);
    }
    .side-nav-item {
        display: inline;
        margin: 0 calc(1.5rem * 0.625) 0 0;
    }
    .asc:after {
        content: " \2192";
    }
    .desc:after {
        content: " \2190";
    }
    .nav-links a {
        display: block;
    }
    .record-photo img {
        max-height: revert;
        width: 100%;
    }
}

@media screen and (min-width: 641px) {
    .record-photo img {
        height: 8cm;
        margin: 4px;
    }
}

.footer {
    display: flex;
    align-items: center;
    justify-content: center;
    max-width: calc(108rem * 0.625);
    padding: calc(2rem * 0.625);
    margin: calc(4rem * 0.625) auto calc(2rem * 0.625);
    color: white;
    background-color: #384D97;
    font-size: calc(1.2rem * 0.625);
}

.footer a {
    color: white;
}

.nav-menu {
    display: flex;
    align-items: center;
    justify-content: left;
    max-width: calc(108rem * 0.625);
    padding: calc(2rem * 0.625);
    margin: 0 auto calc(4rem * 0.625);
    background-color: #384D97;
}

/**
@media (max-width: 700px) {
    .nav-links a {
        display: block;
    }
}
*/
.nav-links a {
    margin: 0 calc(1rem * 0.625) 0 calc(1rem * 0.625);
    color: white;
}

.checkbox label {
    font-size: 0.9em;
    margin-bottom: 1mm;
    border-bottom: 1px solid lightgray;
}

.blink {
    animation: blinker 1s step-start infinite;
}

@keyframes blinker {
    50% {
        color: black;
    }
}

.material-icons {
    vertical-align: -8px;
}

.footer-form label {
    display: revert;
}

.notification-configuration label {
    font-size: 1em;
    margin-bottom: 0;
}

.notification-configuration .input.radio label:first-of-type {
    margin-bottom: 0;
}

.error-message {
    margin-top: -1em;
    margin-bottom: 0.5em;
    padding: 0.3em;
    color: orangered;
    font-weight: bold;
}

.input {
    margin: 0;
}

.input .file {
    margin-bottom: 1.5em;
}

.documentation p {
    text-indent: 2em;
    margin-bottom: 0.8em;
}

.documentation h1 {
    font-size: 2.4em;
    text-align: center;
}

.documentation h2 {
    font-size: 2em;
}

.documentation h3 {
    font-size: 1.6em;
}

.documentation section {
    margin-bottom: 2cm;
}

.documentation .subsection {
    margin-bottom: 1cm;
    margin-left: 4mm;
}

.documentation ul {
    margin-left: 2em;
    list-style-type: disc;
}

.documentation ol li {
    display: block;
}

.documentation ol {
    counter-reset: item;
}

.documentation ol li:before {
    content: counters(item, ".") ". ";
    counter-increment: item;
}

.documentation .notice-video {
    padding: 0.4em;
    margin: 1em;
    border-left: 6px solid #44F;
    background-color: #DDF;
}

.documentation .notice-video a {
    color: #44F;
    text-decoration: underline;
}

.documentation .notice-video a:hover {
    color: #00F;
    text-decoration: underline;
}

.documentation .notice-video .material-icons  {
    color: #44F;
    margin: 0 0.5em 0.2em 0.5em;
}

.documentation .note {
    padding: 0.4em;
    margin: 1em;
    border-left: 6px solid #CA6;
    background-color: #FFA;
}

.documentation .warning {
    padding: 0.4em;
    margin: 1em;
    border-left: 6px solid red;
    background-color: #FBA;
}

.documentation .doc-image {
    text-align: center;
    margin: 1em;
}

.documentation .doc-image img {
    max-height: 4cm;
}

.documentation .doc-video {
    text-align: center;
    padding: 1em;
    background-color: #384D97;
}

.documentation .button-small {
    max-height: 1.5em;
    margin-bottom: -0.2em
}

.documentation .button-medium {
    max-height: 2em;
    margin-bottom: -0.6em
}

.documentation .doc-image .image-large {
    max-height: 8cm;
}

.actions {
    text-align: start;
    width: 7em;
}

.dataTables_length select {
    height: revert;
    width: revert;
    margin-bottom: revert;
}
.dataTables_length label {
    display: revert;
    font-size: revert;
    font-weight: revert;
    margin-bottom: revert;
}
.dataTables_filter input {
    height: revert;
    width: revert;
    margin-bottom: revert;
}
.dataTables_filter label {
    display: revert;
    font-size: revert;
    font-weight: revert;
    margin-bottom: revert;
}
.dt-buttons {
    margin-top: 4px;
}