/* ---------- GENERAL ---------- */
body {
    font-family: sans-serif !important;
    font-size: 15px !important;
}

div.swal2-container div.swal2-html-container {
    font-size: 15px !important;
}

.zoom img {
    transition: transform 0.3s ease-in-out;
}

.zoom:hover img {
    transform: scale(1.05);
}

/* ---------- TEXT ---------- */
.text-mycolor-primary {
    color: #669999;
}

.text-hover-primary:hover {
    color: #82bdbd !important;
    transition: color 0.2s ease-in-out;
}

.text-mycolor-secondary {
    color: #669999;
}

a:not(.page-link) {
    color: #669999 !important;
}

/* ---------- BUTTON ---------- */
.btn:hover,
.btn:focus,
.btn:active {
    color: white !important;
    background-color: #669999;
    border-color: #669999;
}

.btn-icon {
    font-size: 1.5rem !important;
    padding: 0.5rem 0.5rem 0.25rem 0.5rem !important;
}

.btn-icon-sm {
    padding: 0.25em 0.25em 0 0.25em !important;
}

.btn-mycolor {
    color: white;
    background-color: #669999;
}

.btn-mycolor:hover {
    background-color: #82bdbd;
    border-color: #82bdbd;
}

.btn-outline-mycolor {
    color: #669999;
    border-color: #669999;
}

.btn-outline-mycolor-secondary {
    color: #669999;
    border-color: #669999;
}

.btn-outline-mycolor-secondary:hover,
.btn-outline-mycolor-secondary:active,
.btn-outline-mycolor-secondary:focus {
    background-color: #669999;
    border-color: #669999;
}

.btn-warning {
    color: white;
}

.btn-warning:hover,
.btn-outline-warning:hover {
    color: white;
}

/* ---------- FORM ---------- */
.form-check-input:checked {
    background-color: #669999;
    border-color: #669999;
}

/* ---------- BACKGROUND ---------- */
.bg-mycolor-primary {
    color: white;
    background-color: #669999;
}

.bg-mycolor-secondary {
    color: white;
    background-color: #669999;
}

/* ---------- TOOLTIP ---------- */
.custom-tooltip {
    --bs-tooltip-bg: #17a2b8;
    --bs-tooltip-color: white;
    z-index: 4;
}

.tooltip-icon {
    color: #17a2b8;
}

/* ---------- DATATABLE ---------- */
.dataTables_wrapper .dataTables_paginate .paginate_button a {
    color: #699;
}

.dataTables_wrapper .dataTables_paginate .paginate_button.active a {
    color: #fff;
    background-color: #699;
    border-color: #699;
}

.table-clickable tbody tr:hover td {
    cursor: pointer;
    background: #F1F6F6;
    transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;
}

.table-fit th {
    white-space: nowrap;
    padding-right: 2rem !important;
}

.table-fit td:not(.expand) {
    width: 1%;
    white-space: nowrap;
    /* padding: 1rem !important; */
}

table .disabled-row {
    background: #e9ecef;
    color: #6c757d;
}

/* ---------- MAP ---------- */
.custom-pin {
    background: none !important;
    border: none !important;
}

.pin {
    width: 40px;
    height: 50px;
    position: relative;
}

.pin-container {
    width: 40px;
    height: 40px;
    background-color: #669999;
    border-radius: 50%;
    border: 3px solid #669999;
    box-shadow: 0px 2px 6px rgba(0, 0, 0, 0.3);
    transition: border 0.2s ease-in-out, background-color 0.2s ease-in-out;
}

.pin:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-top: 15px solid #669999;
    transition: border-top 0.2s ease-in-out;
}

.pin:hover .pin-container {
    background-color: #82bdbd;
    border-color: #82bdbd;
}

.pin:hover:after {
    border-top: 15px solid #82bdbd;
}

.pin-image {
    height: 100%;
    width: 100% !important;
    border-radius: 100%;
    object-fit: contain;
    background-color: white;
}

.pin-sponsor {
    position: absolute;
    top: -0.4rem;
    right: -0.2rem;
    font-size: 1rem;
}

.map-poly {
    fill: #669999;
    stroke: #669999;
    stroke-width: 1;
    fill-opacity: 0.1;
    cursor: grab;
}

/* ---------- FICHES ---------- */
.company-logo {
    height: 10rem;
    max-width: 100%;
}

.company-logo-sm {
    max-height: 34px;
    max-width: 100%;
}

.company-icon {
    font-size: 10rem;
}

.company-icon-sm {
    font-size: 2rem;
}

.founder-name {
    font-weight: bold;
    cursor: pointer;
}

.founder-photo {
    height: 15rem;
    width: 15rem;
    object-fit: cover;
    border-radius: 100%;
}

.founder-icon {
    font-size: 8rem;
}

.program-logo {
    max-height: 3rem;
    /* max-width: 2rem; */
}

/* ---------- DRAG & DROP ---------- */
.drop-zone,
.drop-zone-dt {
    border: 2px dashed #669999;
    border-radius: 10px;
    padding: 30px;
    font-size: 16px;
    color: #669999;
    cursor: pointer;
    transition: background-color 0.3s;
}

.drop-zone-dt {
    height: 100px;
    width: 100px;
    font-size: 24px;
}

.drop-zone.dragover,
.drop-zone-dt.dragover,
.drop-zone:hover,
.drop-zone-dt:hover {
    color: #82bdbd;
    border-color: #82bdbd;
    background-color: rgb(130, 189, 189, 0.2);
}

.preview {
    width: 100px;
    height: 100px;
    object-fit: cover;
    border-radius: 5px;
}

#map-filters {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 99999;
    background: white;
    padding: 15px;
    border-radius: 8px;
    box-shadow: 0 0 5px rgba(0,0,0,0.5);
    cursor: default;
}
