*,
*::before,
*::after {
    box-sizing: border-box;
}

.flex-gap-2 {
    gap: .5rem;
}

@media (prefers-reduced-motion: no-preference) {
    :root {
        scroll-behavior: smooth;
    }
}

@font-face {
    font-family: "bootstrap-icons";
    src: url("../css/bootstrap-icons/fonts/bootstrap-icons.woff") format("woff2"), url("../css/bootstrap-icons/fonts/bootstrap-icons.woff") format("woff");
}

body {
    min-height: 100vh;
    padding-bottom: 2rem;
    background: rgb(0,20,50);
    background: linear-gradient(0deg, rgba(0,20,50,1) 0%, rgba(0,92,237,1) 33%, rgba(206,244,255,1) 58%, rgba(14,201,255,1) 100%, rgba(255,255,255,1) 202%, rgba(13,202,240,1) 240%);
}

/* input.form-control:read-only {
    background-color: var(--bs-border-color);
} */

#page {
    width: 98%;
    max-width: 100vw;
    border: 0;
    background-color: #fff;
}

#header {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
}

#footer {
    padding: 1rem;
    margin: 1rem 1rem 0 1rem;
    border-top: 1px solid #c9e0ed;
    color: #444;
    font-size: 0.8em;
    text-align: center;
}

#top-menu {
    z-index: 5;
}

#top-menu > .portlet {
    display: block;
    margin: 0;
    padding: 0;
    background-color: transparent;
}

#top-menu > .portlet > .portlet-content {
    margin: 0;
    padding: 0 15px 0 0;
    background: transparent;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
}

#top-menu .portlet-content > ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
}

.svg-icon {
    display: block;
    position: relative;
    margin-left: .6rem;
    padding: 6px;
    width: 36px;
    height: 36px;
    background-color: #e5f1f4;
    border-radius: 50%;
    transition: all .1s linear;
    -webkit-transition: all .1s linear;
}

.svg-icon:first-child {
    margin-left: 0;
}

.svg-icon:hover {
    background-color: #17b;
    transform: scale(1.42);
}

.svg-icon > svg {
    display: block;
    width: 24px;
    height: 24px;
    margin: 0;
}

.svg-icon:hover > svg {
    fill: #fff;
}

.svg-icon > .bi {
    display: block;
    width: 24px;
    height: 24px;
    line-height: 24px;
    color: #000;
    font-size: 24px;
    text-align: center;
}

.svg-icon:hover > i.bi {
    color: #fff;
}

.missing:hover,
.add-user:hover,
.add-repair:hover,
.add-bicycle:hover {
    background-color: #d00;
}

.missing > svg,
.add-user > svg,
.add-repair > svg,
.add-bicycle > svg {
    fill: #d00;
}

.btn-close.zero-inspection-close {
    padding: .8rem;
}

.content-header {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
}

.content-header > h1 {
    margin: 0;
}

.content-header > .client {
    display: flex;
    align-items: center;
}

.client-name {
    display: block;
    margin-left: 1rem;
    line-height: 2rem;
    font-size: 1.4rem;
    color:#369;
}

hr {
    margin: 1rem 0;
}

.form-control.text-control {
    padding: .25rem .75rem;
    background-color: transparent;
    border-radius: 0;
}

.form-field-help {
    color:#190;
    font-size: .86rem;
}

.page-title {
    padding: .5rem;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}

.page-title > span {
    font-size: inherit;
}

.page-title > .btn-circle {
    width: 36px;
    height: 36px;
    padding: 6px;
    border: none;
    background-color: #e5f1f4;
}

.page-title > .btn-circle:hover {
    background-color: #17b;
    color: #fff;
}

.page-title > .btn-circle > .bi {
    line-height: 24px;
    font-size: 22px;
    font-weight: 700;
}

.btn-circle {
    border-radius: 50%;
    transition: all .1s linear;
}

.btn-circle:hover {
    transform: scale(1.42);
}

.btn-circle > .icon {
    width: 24px;
    height: 24px;
}

.btn-circle:hover > .icon {
    fill: #fff;
}

.grid-view thead th:first-child,
.grid-view tbody td:first-child {
    width: 100px;
    text-align: right;
}

.grid-view thead select {
    height: 26.5px;
    background-color: #fff;
}

.grid-view .button-column {
    white-space: nowrap;
}

.grid-view tfoot td {
    background-color: #f8d7da;
    font-size: 1.2rem;
}

.link-add {
    color: #dc3545;
}

.link-add:hover,
.link-add:focus {
    color: #b02a37;
}

#page.container {
    padding: 0;
}

.view th {
    text-align: right;
    max-width: 30%;
    color: #666;
}

.view td {
    min-width: 70%;
}

.view .skis th,
.view .bicycles th {
    text-align: left;
    max-width: none;
    color: #666;
}

.view .skis td,
.view .bicycles td {
    min-width: none;
}

.skis p,
.bicycles p {
    margin: 0;
}

.log > br {
    margin-bottom: 0.75rem;
}

.form-bootstrap label {
    font-weight: 600;
}

.form-info {
    padding: .6rem;
    background-color: #fff3cd;
    text-align: center;
}

.btn-horizontal-form {
    margin-top: 24px;
    padding-top: .15rem;
    line-height: 1.4rem;
    font-size: 1.2rem;
    font-weight: 700;
}

.alert ul {
    margin: 0;
}

.invalid-feedback {
    margin: 0;
}

span.required {
    color: #dc3545;
}

.navbar.navbar-light.bg-blue {
    background-color: #e3f2fd;
}

.navbar-expand-lg .navbar-nav .nav-link {
    padding: .5rem 1rem;
    position: relative;
}

.navbar-expand-lg .navbar-nav .nav-link i {
    font-size: 21px;
    font-weight: 600;
}

.navbar-expand-lg .navbar-nav .nav-link svg {
    width: auto;
    height: 39.3833px;
}

.navbar-light .navbar-nav .nav-link:focus,
.navbar-light .navbar-nav .nav-link:hover {
    background-color: #17b;
    color: #fff;
}

.navbar-light .navbar-nav .nav-link:hover i {
    color: #fff !important;
}

.navbar-light .navbar-nav .nav-link.bg-red:focus,
.navbar-light .navbar-nav .nav-link.bg-red:hover {
    background-color: #d00;
    color: #fff;
}

.navbar-light .navbar-nav .active .nav-link,
.navbar-light .navbar-nav .active .show > .nav-link {
    background-color: #fff;
    color: #111;
}

.navbar-light .navbar-nav .active .nav-link:hover i {
    color: #111 !important;
}

.navbar-brand > .btn-outline-dark {
    border: none;
}

.nav-tabs .nav-item.show .nav-link,
.nav-tabs .nav-link.active {
    font-weight: 600;
}

.grid-view {
    padding: 0;
}

#tabClientAndBikeContent,
#tabSmsAndPhoneContent {
    height: calc(100vh - 290px);
    min-height: 370px;
    overflow-y: auto;
}

.table > thead th {
    background-color: #cff4fc;
    color: #666;
}

.table > thead th > .sort-link {
    color: #666;
    text-decoration: none;
}

.table > thead th > .sort-link:hover {
    color: #111;
    text-decoration: none;
}

.table .column-buttons {
    display: flex;
    align-items: center;
    gap: .25rem;
    flex-wrap: wrap;
    width: 140px;
}

.table .column-buttons .btn-sm {
    padding: .15rem .2rem;
    font-size: .75rem;
    border-radius: .2rem;
  }

.table .sort-link::after {
    display: inline-block;
    font-family: bootstrap-icons !important;
    font-style: normal;
    font-weight: normal !important;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    vertical-align: -.125em;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.table .asc::after {
    content: "\f235"
}
.table .desc::after {
    content: "\f229";
}

.table > thead > .filters > td {
    background-color: #fff3cd;
}

.table > tbody .selected > th,
.table > tbody .selected > td {
    background-color: #d1e7dd;
}

.table-danger > th,
.table-danger > td {
    color: #dc3545;
    font-weight: bold;
}

.table .bike > img {
    width: 24px;
}

.table .type {
    display: flex;
    justify-content: start;
}

.table .status {
    display: flex;
    justify-content: end;
}

.table .type > .badge,
.table .status > .badge {
    font-size: .8rem;
    font-weight: 400;
}

.table .type > .badge > .bi,
.table .status > .badge > .bi {
    font-size: .8rem;
}

.link-ico,
.table .link-column > a,
.table .button-column > a {
    border-width: 0;
    border-radius: 50%;
}

.link-ico:hover,
.table .link-column > a:hover,
.table .button-column > a:hover {
    background-color: #ffe694;
}

.link-ico >.icon,
.button-column a > .icon {
    width: 22px;
    height: 22px;
}

.link-dark > svg {
    fill: #444;
}
.link-primary > svg {
    fill: #0d6efd;
}

.link-add > svg {
    fill: #dc3545;
}

.list-view > .summary,
.grid-view > .summary {
    margin: 0;
    padding: 5px;
    background: #e8e9ea;
    text-align: center !important;
}

.items.row {
    margin: 10px 10px 0 10px;
}

.items > .item {
    margin-bottom: 10px;
}

.items > .alert {
    padding: .5rem 1rem;
    border: 0;
    border-radius: 0;
}

.accordion-body {
    padding: .5rem .75rem;
}

.accordion-body div:last-of-type p {
    margin: 0;
}

.item .accordion.review .accordion-item {
    border-color: rgba(0,0,0,.25);
}

.item .accordion.review .accordion-button {
    background-color: #e8e9ea;
}

.item .accordion-button {
    padding: .5rem 1.25rem;
}

.item .accordion-button-row {
    width: 100%;
}

.item .item-repair {
    margin-bottom: .5rem;
    border-bottom: 1px solid #dee2e6;
    color: #17b;
    font-style: italic;
}

.item .item-repair-price {
    font-weight: 600;
    text-align: right;
}

.item .item-repair-price > small {
    font-weight: normal;
}

.item .item-client {
    padding-top: 5px;
    padding-bottom: 5px;
    background: #f6f7f8;
}

.item .item-bicycle {
    padding-top: 5px;
    padding-bottom: 5px;
}

.item-repair-date,
.item-repair-price,
.item-client-fullname,
.item-client-phone,
.item-bicycle-type,
.item-bicycle-fullname {
    line-height: 1.6rem;
}

.item-client-phone {
    color: #333;
    font-weight: 600;
}

.parts table th {
    padding: .2rem .5rem 0;
    color: #444;
    font-size: .9rem;
    font-weight: normal;
}

.accordion-button {
    font-weight: 400 !important;
}

@media (max-width: 1200px) {
    .item .item-repair {
        border-bottom: none;
    }

    .item .item-repair-price {
        text-align: left;
    }

    .item .item-client {
        padding-top: 0;
        padding-bottom: 0;
    }
    
    .item .item-bicycle {
        padding-top: 0;
        padding-bottom: 0;
    }
}

div.form.form-login label {
    font-weight: normal;
}

.issue-title {
    font-weight: 400;
}
.issue-id {
    font-weight: 200;
}
.issue .type > .badge,
.issue .status > .badge {
    font-size: .9rem;
    font-weight: 400;
}
.issue .type > .badge > .bi,
.issue .status > .badge > .bi {
    font-size: .9rem;
}
.card-header-meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.card-header-meta .dropdown > .btn {
    margin: .3rem .4rem;
    padding: .3rem;
    border: none;
    border-radius: 50%;
}
.dropdown-menu {
    box-shadow: 0 .5rem 1rem rgba(0,0,0,.15);
}
.dropdown-menu-lg {
    min-width: 20rem;
}
#dropdownPhoneCallsMenu.dropdown-menu-lg {
    min-width: 22rem;
}
.dropdown-menu-header {
    padding: .75rem;
    border-bottom: 1px solid rgba(0,0,0, 0.15);
    color: var(--dark);
    font-weight: 600;
    text-align: center;
}
.dropdown-menu-footer {
    display: block;
    padding: .5rem;
    font-size: .75rem;
    text-align: center;
    border-radius: 0 0 .25rem .25rem;
}
.dropdown .list-group .list-group-item:first-child,
.dropdown .list-group .list-group-item:last-child {
    border-radius: 0;
}
.dropdown-menu-footer:hover,
.dropdown .list-group .list-group-item:hover {
    background: #e9ecef;
}
.dropdown .list-group .list-group-item {
    border-width: 0 0 1px;
    margin-bottom: 0;
}
.card-body p,
.card-body blockquote {
    margin-bottom: .5rem;
}
.card-body p:last-child,
.card-body blockquote:last-child {
    margin-bottom: 0;
}
.card-body blockquote {
    margin-left: 1rem;
    padding: .5rem 0 .5rem 1rem;
    border-left: 3px solid #dfdfdf;
    font-style: italic;
}
.card-footer > .thumbnail {
    display: inline-block;
    margin-right: .75rem;
    position: relative;
}
.card-footer > .thumbnail:last-child {
    margin-right: 0;
}
.thumbnail:hover {
    cursor: pointer;
}
.thumbnail > .img-thumbnail {
    position: relative;
}
.thumbnail > .thumbnail-tools {
    position: absolute;
    z-index: 5;
    left: 1px;
    top: 1px;
    width: calc(100% - 2px);
    height: calc(100% - 2px);
    border-radius: 0 .25rem .25rem 0;
    background: rgba(0,0,0,.55);
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease-in-out;
}
.thumbnail:hover > .thumbnail-tools {
    opacity: 1;
    visibility: visible;
}
.thumbnail-tools {
    display: flex;
    align-items: center;
    justify-content: space-evenly;
}
.thumbnail-tools > .btn-lg {
    padding: .5rem;
}
.thumbnail-tools > .btn-sm {
    padding: .25rem;
}

/* Pagination */
.page-item > a {
    position: relative;
    display: block;
    color: #0d6efd;
    text-decoration: none;
    background-color: #fff;
    border: 1px solid #dee2e6;
    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
    .page-item > a {
        transition: none;
    }
}
.page-item > a:hover {
    z-index: 2;
    color: #0a58ca;
    background-color: #e9ecef;
    border-color: #dee2e6;
}
.page-item > a:focus {
    z-index: 3;
    color: #0a58ca;
    background-color: #e9ecef;
    outline: 0;
    box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}
.page-item:not(:first-child) > a {
    margin-left: -1px;
}
.page-item.active > a {
    z-index: 3;
    color: #fff;
    background-color: #0d6efd;
    border-color: #0d6efd;
}
.page-item.disabled > a {
    color: #6c757d;
    pointer-events: none;
    background-color: #fff;
    border-color: #dee2e6;
}
.page-item > a {
    padding: 0.375rem 0.75rem;
}
.page-item:first-child > a {
    border-top-left-radius: 0.25rem;
    border-bottom-left-radius: 0.25rem;
}
.page-item:last-child > a {
    border-top-right-radius: 0.25rem;
    border-bottom-right-radius: 0.25rem;
}

.ui-widget-content {
    display: flex;
    flex-direction: column;
    padding: .5rem;
    min-height: 2.5rem;
    border: 1px solid rgba(0,0,0,.125);
    border-radius: .25rem;
}

.ui-front.ui-autocomplete {
    max-height: 20rem;
    overflow-y: auto;
    overflow-x: hidden;
    z-index: 2001 !important;
}

.ui-menu-item {
    font-size: 1.1rem;
}
.ui-menu-item strong,
.selectedParts strong {
    font-size: 1.125rem;
    font-weight: 600;
}
.ui-menu-item small,
.selectedParts small {
    font-size: .9rem;
}

.additionalInfo p,
.additionalInfo strong {
    margin-bottom: 0;
}

.additionalInfo hr {
    margin: .5rem 0;
}

.modal-footer.btn-center {
    justify-content: space-between;
}

.ui-widget-content.selectedParts {
    padding: 0;
    border-radius: .27rem;
}

.selectedParts {
    max-height: 225px;
    overflow: auto;
}

.selectedParts .alert {
    margin: 0;
    padding: .5rem 2.75rem .5rem .5rem;
}

.selectedParts .alert-light {
    border-color: #ddd;
}

.selectedParts .alert input[type=text] {
    margin: 0 0 0 1rem;
    padding: .1rem .5rem;
    width: 30%;
    border: 1px solid rgb(255, 223, 39);
    border-left-width: 4px;
    border-radius: .25rem;
    background-color: rgba(255, 241, 39, .1);
    color: inherit;
    font-size: .9rem;
}

.selectedParts .alert-dismissible .btn-close {
    padding: 0.85rem;
}

#modalRentalFormHeader .btn-close {
    --bs-btn-close-bg-color: #fff;
    --bs-btn-close-color: #000;
    --bs-btn-close-opacity: .75;
    --bs-btn-close-hover-opacity: 1;
    width: 2rem;
    height: 2rem;
    border-radius: 2rem;
    background: var(--bs-btn-close-bg-color) var(--bs-btn-close-bg) center/1em auto no-repeat;
    color: var(--bs-btn-close-color);
    opacity: var(--bs-btn-close-opacity);
    transition: all 0.3s ease-in-out;
}
#modalRentalFormHeader .btn-close:hover {
    opacity: var(--bs-btn-close-hover-opacity);
}

.phone-number-tools {
    display: none;
}

.toast {
    background-color: rgba(255,255,255,.9);
}

.toast-container {
    padding: 50px 4px 4px 4px;
}

.toast .toast-header .h4 {
    margin: 0;
}

.toast .status-repair {
    margin: 0;
    padding: .15rem .3rem;
}
.other-repairs .status-repair {
    margin: 0 .25rem .25rem 0;
    padding: .15rem .525rem .2rem;
}

.timeline-container h2 {
    margin: 0;
}

.timeline-content {
    position: relative;
    margin: .5rem 1.5rem 0 1.5rem;
    padding: 0 1rem;
}

.timeline-content .blockquote {
    margin: 0;
    font-size: 1rem;
}

.timeline-content figure {
    margin: 0;
    padding: .5rem 0;
}

.timeline-content figure .blockquote-footer {
    margin: 0;
}

.timeline-circle {
    position: absolute;
    top: 0;
}

.timeline-left .timeline-circle {
    left: -3rem;
}

.timeline-right .timeline-circle {
    right: -3rem;
}

.timeline-circle > svg {
    width: 3rem;
    height: 3rem;
}

.timeline-left .timeline-circle > svg {
    color: #e35d6a;
}

.timeline-right .timeline-circle > svg {
    color: #479f76;
}

.hidden {
    display: none !important;
}

.bd-teal-100 {
    color: #444;
    background-color:#d2f4ea
}
.bd-teal-200 {
    color: #444;
    background-color:#a6e9d5
}
.bd-teal-300 {
    color: #444;
    background-color:#79dfc1
}
.bd-teal-400 {
    color: #444;
    background-color:#4dd4ac
}
.bd-teal-500 {
    color: #444;
    background-color:#20c997
}
.bd-teal-600 {
    color: #fff;
    background-color:#1aa179
}
.bd-teal-700 {
    color:#fff;
    background-color:#13795b
}
.bd-teal-800 {
    color:#fff;
    background-color:#0d503c
}
.bd-teal-900 {
    color:#fff;
    background-color:#06281e
}

.bg-cyan-700 {
    background-color:#087990;
}
.bg-teal-100 {
    background-color: rgba(210, 244, 234, .5);
}
.bg-teal-500 {
    background-color:#20c997;
}
.bg-teal-700 {
    background-color:#13795b
}
.bg-pink-500 {
    background-color: #d63384;
}
.bg-pink-600 {
    background-color: #ab296a;
}
.bg-orange-500 {
    background-color: #fd7e14;
}
.bg-orange-700 {
    background-color: #984c0c;
}
.bg-purple-400 {
    background-color: #8c68cd;
}
.bg-purple-600 {
    background-color: #59359a;
}
.bg-gray-300 {
    background-color: #dee2e6;
}
.bg-gray-500 {
    background-color: #adb5bd;
}
.bg-gray-800 {
    background-color: #343a40;
}
.bg-blue-200 {
    background-color: #9ec5fe;
}
.bg-blue-400 {
    background-color: #3d8bfd;
}
.bg-blue-500 {
    background-color: #0d6efd;
}
.bg-blue-800 {
    background-color: #052c65;
}
.bg-green-400 {
    background-color: #479f76;
}
.bg-green-500 {
    background-color: #198754;
}
.bg-red-100 {
    background-color: rgba(248, 215, 218, .5);
}
.bg-red-400 {
    background-color: #e35d6a;
}
.bg-red-500 {
    background-color: #dc3545;
}

.txt-blue-800 {
    color: #052c65;
}
.txt-green-400 {
    color: #479f76;
}
.txt-green-500 {
    color: #198754;
}
.txt-red-400 {
    color: #e35d6a;
}
.txt-red-500 {
    color: #dc3545;
}
.txt-gray-700 {
    color: #495057;
}
.txt-orange-500 {
    color: #fd7e14;
}

.border-green-500 {
    border-color: #198754 !important;
}

.border-red-500 {
    border-color: #dc3545 !important;
}

.bool-true {
    color: #5cb85c;
}
.bool-false {
    color: #d9534f;
}
.bool-true > .bi::before,
.bool-false > .bi::before {
    line-height: inherit;
}

.items .empty {
    display: block;
    color: #dc3545;
    font-size: 1.5rem;
    text-align: center;
}

#ReportRepairModal .modal-dialog {
    height: 90%;
}
#ReportRepairModal .modal-content {
    height: 100%;
}
#frameReportRepair {
    width: 100%;
    height: 100%;
}

.document-frame {
    width: 100%;
    height: 100%;
}
