body {
    font-family: Roboto;
    font-weight: 300;
    letter-spacing: 0.03rem;
    line-height: 1.6rem;
    color: #333;
}

.mw-0 {
    max-width: 0;
}

.navbar-nav .dropdown-menu {
    background-color: #00508a;
    font-size: .85rem;
    border: none;
    border-radius: 0;
}

.navbar-nav .dropdown-menu .dropdown-item {
    color: #fff;
    text-transform: uppercase;
    padding: 0 1rem;
}

.navbar-nav .dropdown-menu .dropdown-item:hover {
    background-color: transparent;
    color: rgba(255,255,255,.5);
}

.nav-link {
    font-size: 13px;
    letter-spacing: 1.3px;
    text-transform: uppercase;
    font-weight: 500;
    color: #00508C;
    transition: color 170ms ease-in-out, background-color 170ms ease-in-out;
}

.table.table-acord-form {
    table-layout: fixed;
}

.table.table-low-padding td {
    padding: .25rem .5rem;
}

.table.table-acord-form td {
    padding: .25rem .5rem;
    border-color: #343a40!important;
    height: 41px;
}

.table.table-no-padding td {
    padding: 1px 3px;
    border-color: #343a40!important;
    height: 31px;
}

.table.table-acord-form label {
    margin-bottom: 0;
    line-height: .9rem;
    font-size: .75rem;
    white-space: nowrap;
}

.table.table-acord-form input, .table.table-acord-form textarea {
    border: none;
    width: 100%;
    padding: 0 5px;
    transition: background-color 150ms;
    background-color: #eee;
    resize: none;
    font-size: 13px;
}

.table.table-acord-form td.text-center > input, .table.table-acord-form div.text-center > input {
    text-align: center;
}

.table.table-acord-form .custom-control.custom-checkbox {
    padding-left: 31px;
    min-height: 31px;
}

.custom-control-input:focus~.custom-control-label::before {
    outline: 0 !important;
    box-shadow: none !important;
}

.table.table-acord-form .custom-control.custom-checkbox input {
    width: 0;
}

.table.table-acord-form .custom-control.custom-checkbox .custom-control-label::before {
    border-color: #343a40!important;
    border-width: 1px;
    border-style: solid;
    background-color: #fff;
    height: 31px;
    width: 31px;
    border-radius: 0;
    left: -31px;
    top: 0;
    padding: 0px 4px;
    color: #000;
    background-color: #fff;
    font-size: 34px;
    line-height: 30px;
    font-weight: 100;
}

.table.table-acord-form .custom-control.custom-checkbox .custom-control-label.border-top-0::before { border-top-width: 0; }
.table.table-acord-form .custom-control.custom-checkbox .custom-control-label.border-right-0::before { border-right-width: 0; }
.table.table-acord-form .custom-control.custom-checkbox .custom-control-label.border-bottom-0::before { border-bottom-width: 0; }
.table.table-acord-form .custom-control.custom-checkbox .custom-control-label.border-left-0::before { border-left-width: 0; }

.table.table-acord-form .custom-control.custom-checkbox .custom-control-label::after {
    top: 0;
    left: -31px;
    width: 31px;
    height: 31px;
}

.table.table-acord-form .custom-control.custom-checkbox .custom-control-input:checked~.custom-control-label::before {
    content: "X";
}

.table.table-acord-form .custom-control.custom-checkbox .custom-control-input:checked~.custom-control-label::after {
    background-image: none;
}

.table.table-acord-form input:hover, .table.table-acord-form input:focus, .table.table-acord-form input:active,
.table.table-acord-form textarea:hover, .table.table-acord-form textarea:focus, .table.table-acord-form textarea:active
{
    background-color: #ccc;
    outline: none;
}

.table.table-acord-form input:disabled, .table.table-acord-form textarea:disabled
{
    background-color: #fafafa;
    outline: none;
    user-select: none;
    cursor: not-allowed;
}

.table.table-acord-form .table-sidebar {
    position: absolute;
    right: 100%;
    height: 100%;
    top: 0px;
}

.table.table-acord-form .table-sidebar input {
    width: auto;
}

.table.table-acord-form tbody + tbody {
    border-top: 0;
}

.w-3 {width: 3% !important;}
.w-5 {width: 5% !important;}
.w-10 {width: 10% !important;}
.w-15 {width: 15% !important;}
.w-20 {width: 20% !important;}
.w-30 {width: 30% !important;}
.w-35 {width: 35% !important;}
.w-40 {width: 40% !important;}
.w-45 {width: 45% !important;}
.w-55 {width: 55% !important;}
.w-60 {width: 60% !important;}
.w-65 {width: 65% !important;}
.w-70 {width: 70% !important;}
.w-80 {width: 80% !important;}
.w-85 {width: 85% !important;}
.w-90 {width: 90% !important;}
.w-95 {width: 95% !important;}

.h-0 {height: 0 !important;}

.nav-link:hover {
    color: #8a8ea8;
}

.praece-square:after {
    content: "";
    display: block;
    padding-bottom: 100%;
}

label {
	display: block;
}

#dashboard-wrapper.no-policy-access #policy-download-id {
    display: none;
}

.form-group.is-required label::after {
    content: ' *';
    color: #dc3545;
}

.form-group.is-required label.form-check-label::after {
    content: '';
}

.btn {
    border-radius: 1.5rem;
    padding: .6rem 1.25rem;
    font-size: .95rem;
    font-weight: 300;
    text-transform: uppercase;
}

.btn-sm {
    border-radius: 1.25rem;
    padding: .25rem .75rem;
}

.btn-group-sm>.btn+.dropdown-toggle-split, .btn-sm+.dropdown-toggle-split {
    padding-right: .75rem;
    padding-left: .5rem;
}

.btn-lg {
    border-radius: 2rem;
    padding: 1rem 2rem;
}

.bg-gus-orange { background-color: #e6542d !important; }
.bg-gus-blue { background-color: #00508a !important; }
.bg-highlight { background-color: #FFFBCC !important; }

.text-gus-orange { color: #e6542d !important; }
.text-gus-blue, .navbar-light .text-gus-blue .navbar-nav .nav-link { color: #00508a !important; }

.text-deemphasize {
    font-size: .80rem;
    line-height: 1.2rem;
    color: rgba(0,0,0,.5);
}

.alert-gus-blue {
    background-color: #00508a !important;
    color: #fff;
    border-color: #00508a !important;
}

.alert-gus-orange {
    background-color: #e6542d !important;
    color: #fff;
    border-color: #e6542d !important;
}

.alert-gus-blue a:not(.btn), .alert-gus-orange a:not(.btn) {
    color: #fff;
    font-weight: bold;
    text-decoration: underline;
}

a:hover i.material-icons {
    text-decoration: none !important;
    display: inline-block;
}

form .alert-danger.alert-link {
    font-weight: normal;
}

.btn-outline-gus-orange {
    color: #e6542d;
    background-color: transparent;
    background-image: none;
    border-color: #e6542d;
}

.btn-outline-gus-orange:hover {
    color: #fff;
    background-color: #e6542d;
    border-color: #e6542d;
}

.btn-gus-orange {
    color: #eee;
    background-color: #e6542d;
    background-image: none;
    border-color: #e6542d;
}

.btn-gus-orange:hover {
    color: #fff;
    background-color: #b73815;
    border-color: #b73815;
}

.btn-outline-gus-blue, .btn-outline-primary {
    color: #00508a;
    background-color: transparent;
    background-image: none;
    border-color: #00508a;
}

.btn-outline-gus-blue:hover, .btn-outline-primary:hover {
    background-color: #00508a;
    border-color: #00508a;
    color: #fff;
}

.btn-gus-blue, .btn-primary {
    color: #eee;
    background-color: #00508a;
    background-image: none;
    border-color: #00508a;
}

.btn-gus-blue:hover, .btn-primary:hover {
    background-color: #002d4d;
    border-color: #002d4d;
    color: #fff;
}

.table.gus-table {
    box-shadow: 0 .125rem .25rem rgba(0,0,0,.075);
}

.table.gus-table thead th {
    background-color: #00508a;
    color: #fff;
    border-bottom: none;
    border-top: none;
}

.table.gus-table thead th:first-child {
    border-top-left-radius: calc(.25rem - 1px);
}

.table.gus-table thead th:last-child {
    border-top-right-radius: calc(.25rem - 1px);
}

.table.gus-table tbody {
    background-color: #f8f9fa;
    border-bottom-right-radius: calc(.25rem - 1px);
    border-bottom-left-radius: calc(.25rem - 1px);
}

.step-card {
    border: 1px solid #fff;
}

a.step-card:hover:not(.text-muted) {
    border: 1px solid #dee2e6;
    cursor: pointer;
    text-decoration: none;
}

.step-card i {
	font-size: 36px;
}

.step-card span {
	flex: 1;
}

.placeholder-box {
	width: 100%;
	border: 1px dashed #666;
	background-color: #eaeaea;
	color: #666;
}

/* adds the styling of sr-only to position fields for inline admin forms */
.form-row.field-position {
	position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0,0,0,0);
    white-space: nowrap;
    border: 0;
}

.cursor-help {
    cursor: help;
}

/* Print styles */
.print-container {
    width: 992px;
    padding: .5in;
    box-shadow: 0 0 20px 0 rgba(0,0,0,.3);
    margin: .5in auto;
    position: relative;
}

.page-break-after {
    page-break-after: always !important;
}

.no-page-break-inside {
    page-break-inside: avoid !important;
}

table.table.table-sm * {
    font-size: .75rem;
}

/* Fix weird hidden validation issue with bootstrap fields:
TODO: Use .form-control Base Bootstrap styles on input field, rather than .form-group on parent element.
*/
/* .form-group.is-invalid .invalid-feedback {
    display: block;
} */

/* Or, example use in cert-request page */
.is-invalid~.invalid-feedback {
    display: block;
}

/* select2 */
.select2-container .select2-selection--single {
    height: 38px;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 38px;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 36px;
    right: 10px;
}

/* Dashboard layout */
table.dataTable {
    width: 100% !important;
}

/* Custom/longer tooltip for balance due - goagent */
.tooltip-inner.long-tooltip-text {
    min-width:375px;
    text-align:left;
}

#dashboard-services-list {
    flex-grow: 0;
    min-width: 96px;
}

@media (min-width: 1500px) {
    .d-xxl-block {
        display: block !important;
    }

    #dashboard-services-list {
        flex-grow: 1;
    }
}

@media (min-width: 1200px) {
    #dashboard-products-list.col-xl, #dashboard-services-list {
        max-width: 300px;
    }
}

@media print {

    table td, table th, .card, .card-header {
        border-color: #343a40!important;
    }

    .text-muted {
        color: #343a40!important;
    }

    .print-hidden {
        display: none;
    }

    .print-container {
        width: auto;
        height: auto;
        padding: 0;
        box-shadow: none;
        margin: 0;
        margin-top: .5in;
    }

    .row {
        display: block;
        text-align: center;
    }

    .col {
        display: inline-block;
        max-width: 50%;
        vertical-align: top;
        text-align: left;
    }

    .col-4 {
        display: inline-block;
        max-width: 33.33%;
        vertical-align: top;
        text-align: left;
    }

    * {
        border-radius: 0 !important;
    }

    .table td.bg-highlight, .table th.bg-highlight {
        background-color: #FFFBCC !important;
    }

    /*thead tr:first-child td {
        border-top: none;
    }

    thead {
        display: table-row-group;
    }

    tfoot {
        display: table-row-group;
    }

    tr {
        page-break-inside: avoid;
    }*/
}
