/* Office365 Account Checker Styles - Light/Dark Mode Theme */

body {
    background-color: var(--bs-body-bg);
    padding: 10px;
    transition: background-color 0.3s ease;
    font-size: 14px;
}

.container {
    max-width: 1200px;
    background-color: var(--bs-body-bg);
    padding: 15px;
    border-radius: 10px;
    box-shadow: 0 0 10px rgba(0,0,0,0.1);
    transition: background-color 0.3s ease;
}

/* Logo and header styles */
.logo-img {
    height: 1.2em;
    width: auto;
    vertical-align: middle;
    margin-right: 8px;
}

.logo-fallback {
    display: none;
    font-size: 1.2em;
    margin-right: 8px;
}

/* Status filter accessibility */
#statusFilter {
    min-width: 120px;
}

/* Theme Toggle Button */
.theme-toggle {
    position: fixed !important;
    top: 10px !important;
    right: 10px !important;
    left: auto !important;
    z-index: 1000;
    width: 35px;
    height: 35px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    border: 2px solid var(--bs-border-color);
    background-color: var(--bs-body-bg);
    color: var(--bs-body-color);
    padding: 0;
}

.theme-toggle:hover {
    transform: scale(1.1);
    box-shadow: 0 0 10px rgba(0,0,0,0.2);
}

[data-bs-theme="dark"] .theme-toggle {
    background-color: var(--bs-dark);
    border-color: var(--bs-gray-600);
}

[data-bs-theme="light"] .theme-toggle {
    background-color: var(--bs-light);
    border-color: var(--bs-gray-300);
}

.theme-toggle i {
    font-size: 1rem;
}

.theme-toggle:hover i {
    transform: rotate(15deg);
}

.card {
    background-color: var(--bs-body-bg);
    border: 1px solid var(--bs-border-color);
    border-radius: 10px;
    margin-bottom: 20px;
    transition: background-color 0.3s ease;
}

.card-header {
    background-color: var(--bs-gray-100);
    border-bottom: 1px solid var(--bs-border-color);
    padding: 15px 20px;
    border-radius: 10px 10px 0 0;
    transition: background-color 0.3s ease;
}

[data-bs-theme="dark"] .card-header {
    background-color: var(--bs-gray-800);
}

.card-body {
    padding: 20px;
}

.form-control {
    border-radius: 8px;
    border: 1px solid var(--bs-border-color);
    padding: 0.375rem 0.75rem;
    transition: all 0.3s ease;
    background-color: var(--bs-body-bg);
    color: var(--bs-body-color);
    font-size: 0.875rem;
}

.form-control:focus {
    border-color: var(--bs-primary);
    box-shadow: 0 0 0 0.2rem rgba(var(--bs-primary-rgb), 0.25);
    outline: none;
}

.btn {
    border-radius: 8px;
    padding: 0.5rem 1rem;
    font-weight: 600;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    border: 1px solid transparent;
    cursor: pointer;
    font-size: 0.875rem;
    position: relative;
    overflow: hidden;
    text-transform: none;
    letter-spacing: 0.025em;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.btn-primary {
    background: linear-gradient(135deg, #0078d4 0%, #106ebe 100%);
    border-color: #0078d4;
    color: white;
    box-shadow: 0 2px 4px rgba(0, 120, 212, 0.2);
}

.btn-primary:hover {
    background: linear-gradient(135deg, #106ebe 0%, #005a9e 100%);
    border-color: #106ebe;
    color: white;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(0, 120, 212, 0.3);
}

.btn-primary:active {
    background: linear-gradient(135deg, #005a9e 0%, #004578 100%);
    border-color: #005a9e;
    transform: translateY(0);
    box-shadow: 0 2px 8px rgba(0, 120, 212, 0.4);
}

.btn-primary:focus {
    box-shadow: 0 0 0 3px rgba(0, 120, 212, 0.25);
    outline: none;
}

.btn-success {
    background: linear-gradient(135deg, #28a745 0%, #20c997 100%);
    border-color: #28a745;
    color: white;
    box-shadow: 0 2px 4px rgba(40, 167, 69, 0.2);
}

.btn-success:hover {
    background: linear-gradient(135deg, #218838 0%, #1e7e34 100%);
    border-color: #218838;
    color: white;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(40, 167, 69, 0.3);
}

.btn-success:active {
    background: linear-gradient(135deg, #1e7e34 0%, #155724 100%);
    border-color: #1e7e34;
    transform: translateY(0);
    box-shadow: 0 2px 8px rgba(40, 167, 69, 0.4);
}

.btn-success:focus {
    box-shadow: 0 0 0 3px rgba(40, 167, 69, 0.25);
    outline: none;
}

.btn-warning {
    background: linear-gradient(135deg, #ffc107 0%, #ffb300 100%);
    border-color: #ffc107;
    color: #212529;
    box-shadow: 0 2px 4px rgba(255, 193, 7, 0.2);
}

.btn-warning:hover {
    background: linear-gradient(135deg, #e0a800 0%, #d39e00 100%);
    border-color: #e0a800;
    color: #212529;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(255, 193, 7, 0.3);
}

.btn-warning:active {
    background: linear-gradient(135deg, #d39e00 0%, #b8860b 100%);
    border-color: #d39e00;
    transform: translateY(0);
    box-shadow: 0 2px 8px rgba(255, 193, 7, 0.4);
}

.btn-warning:focus {
    box-shadow: 0 0 0 3px rgba(255, 193, 7, 0.25);
    outline: none;
}

.btn-danger {
    background: linear-gradient(135deg, #dc3545 0%, #c82333 100%);
    border-color: #dc3545;
    color: white;
    box-shadow: 0 2px 4px rgba(220, 53, 69, 0.2);
}

.btn-danger:hover {
    background: linear-gradient(135deg, #c82333 0%, #bd2130 100%);
    border-color: #c82333;
    color: white;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(220, 53, 69, 0.3);
}

.btn-danger:active {
    background: linear-gradient(135deg, #bd2130 0%, #a71e2a 100%);
    border-color: #bd2130;
    transform: translateY(0);
    box-shadow: 0 2px 8px rgba(220, 53, 69, 0.4);
}

.btn-danger:focus {
    box-shadow: 0 0 0 3px rgba(220, 53, 69, 0.25);
    outline: none;
}

.btn-outline-primary {
    background: transparent;
    border: 2px solid #0078d4;
    color: #0078d4;
    box-shadow: 0 2px 4px rgba(0, 120, 212, 0.1);
}

.btn-outline-primary:hover {
    background: linear-gradient(135deg, #0078d4 0%, #106ebe 100%);
    border-color: #0078d4;
    color: white;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(0, 120, 212, 0.3);
}

.btn-outline-primary:active {
    background: linear-gradient(135deg, #106ebe 0%, #005a9e 100%);
    border-color: #106ebe;
    transform: translateY(0);
    box-shadow: 0 2px 8px rgba(0, 120, 212, 0.4);
}

.btn-outline-primary:focus {
    box-shadow: 0 0 0 3px rgba(0, 120, 212, 0.25);
    outline: none;
}

.btn-outline-danger {
    background: transparent;
    border: 2px solid #dc3545;
    color: #dc3545;
    box-shadow: 0 2px 4px rgba(220, 53, 69, 0.1);
}

.btn-outline-danger:hover {
    background: linear-gradient(135deg, #dc3545 0%, #c82333 100%);
    border-color: #dc3545;
    color: white;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(220, 53, 69, 0.3);
}

.btn-outline-danger:active {
    background: linear-gradient(135deg, #c82333 0%, #bd2130 100%);
    border-color: #c82333;
    transform: translateY(0);
    box-shadow: 0 2px 8px rgba(220, 53, 69, 0.4);
}

.btn-outline-danger:focus {
    box-shadow: 0 0 0 3px rgba(220, 53, 69, 0.25);
    outline: none;
}

.progress {
    height: 20px;
    border-radius: 10px;
    background-color: var(--bs-gray-200);
    overflow: hidden;
}

[data-bs-theme="dark"] .progress {
    background-color: var(--bs-gray-700);
}

.progress-bar {
    background-color: var(--bs-primary);
    transition: width 0.3s ease;
}

.table {
    background-color: var(--bs-body-bg);
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid var(--bs-border-color);
    transition: background-color 0.3s ease;
    font-size: 0.875rem;
}

.table th {
    background-color: var(--bs-gray-100);
    color: var(--bs-body-color);
    border: none;
    padding: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.3s ease;
    -webkit-user-select: none;
    user-select: none;
    position: relative;
    padding-right: 25px !important;
    font-size: 0.875rem;
}

[data-bs-theme="dark"] .table th {
    background-color: var(--bs-gray-800);
}

.table th:hover {
    background-color: var(--bs-gray-700) !important;
}

[data-bs-theme="light"] .table th:hover {
    background-color: var(--bs-gray-200) !important;
}

.table td {
    padding: 12px 15px;
    border-bottom: 1px solid var(--bs-border-color);
    vertical-align: middle;
    color: var(--bs-body-color);
}

.table tbody tr:hover {
    background-color: var(--bs-gray-100);
}

[data-bs-theme="dark"] .table tbody tr:hover {
    background-color: var(--bs-gray-800);
}

.badge {
    padding: 6px 10px;
    border-radius: 15px;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.bg-success {
    background-color: var(--bs-success) !important;
}

.bg-danger {
    background-color: var(--bs-danger) !important;
}

.bg-warning {
    background-color: var(--bs-warning) !important;
    color: var(--bs-dark) !important;
}

.bg-info {
    background-color: var(--bs-info) !important;
}

.bg-primary {
    background-color: var(--bs-primary) !important;
}

.bg-secondary {
    background-color: var(--bs-secondary) !important;
}

.bg-dark {
    background-color: var(--bs-dark) !important;
}

.remaining-checks-display {
    margin: 20px 0;
}

.remaining-checks-display .badge {
    font-size: 12px;
    padding: 8px 12px;
}

.alert {
    border-radius: 8px;
    border: 1px solid var(--bs-border-color);
    padding: 15px 20px;
    margin: 15px 0;
    background-color: var(--bs-body-bg);
    color: var(--bs-body-color);
}

.alert-success {
    background-color: var(--bs-success-bg-subtle);
    border-color: var(--bs-success-border-subtle);
    color: var(--bs-success-text-emphasis);
}

.alert-danger {
    background-color: var(--bs-danger-bg-subtle);
    border-color: var(--bs-danger-border-subtle);
    color: var(--bs-danger-text-emphasis);
}

.alert-warning {
    background-color: var(--bs-warning-bg-subtle);
    border-color: var(--bs-warning-border-subtle);
    color: var(--bs-warning-text-emphasis);
}

.alert-info {
    background-color: var(--bs-info-bg-subtle);
    border-color: var(--bs-info-border-subtle);
    color: var(--bs-info-text-emphasis);
}

.form-select {
    border-radius: 8px;
    border: 1px solid var(--bs-border-color);
    padding: 0.375rem 0.75rem;
    transition: all 0.3s ease;
    background-color: var(--bs-body-bg);
    color: var(--bs-body-color);
    font-size: 0.875rem;
}

.form-select:focus {
    border-color: var(--bs-primary);
    box-shadow: 0 0 0 0.2rem rgba(var(--bs-primary-rgb), 0.25);
}

.text-muted {
    color: var(--bs-secondary-color) !important;
}

/* Sort indicators */
.table th.sort-asc::after,
.table th.sort-desc::after {
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 0.8em;
    opacity: 0.7;
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
}

.table th.sort-asc::after {
    content: "\f0de";
}

.table th.sort-desc::after {
    content: "\f0dd";
}

.table th:not(.sort-asc):not(.sort-desc)::after {
    content: "\f0dc";
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 0.8em;
    opacity: 0.3;
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
}

.table th:hover::after {
    opacity: 1;
}

.table th.sort-asc,
.table th.sort-desc {
    background-color: var(--bs-gray-700);
}

[data-bs-theme="light"] .table th.sort-asc,
[data-bs-theme="light"] .table th.sort-desc {
    background-color: var(--bs-gray-200);
}

/* Responsive Design */
@media (max-width: 768px) {
    .container {
        padding: 10px;
    }
    
    .card-body {
        padding: 15px;
    }
    
    .table-responsive {
        overflow-x: auto;
    }
    
    .btn {
        width: 100%;
        margin-top: 10px;
    }
    
    h1 {
        font-size: 1.5rem;
    }
    
    .form-group label {
        font-size: 0.9rem;
    }
    
    .disclaimer-text {
        padding: 15px;
        font-size: 0.9rem;
    }
    
    .disclaimer-toggle {
        padding: 8px 15px;
        font-size: 0.9rem;
    }
    
    .theme-toggle {
        top: 10px !important;
        right: 10px !important;
        left: auto !important;
        width: 35px;
        height: 35px;
    }
    
    .theme-toggle i {
        font-size: 1rem;
    }
    
    .container {
        margin-top: 40px;
    }
}

/* Animation for status badges */
.status-badge {
    animation: fadeIn 0.5s ease-in;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Loading animation */
.loading {
    display: none;
    text-align: center;
    margin: 20px 0;
    height: 80px;
    position: relative;
}

.loading .spinner-border {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}

.loading p {
    position: absolute;
    width: 100%;
    bottom: 0;
    margin: 0;
}

.progress-container {
    margin: 20px 0;
    height: 45px;
}

.connection-status {
    display: inline-block;
    padding: 4px 8px;
    border-radius: 4px;
    font-size: 0.8rem;
    margin-left: 10px;
}

.connection-status.connected {
    background-color: #28a745;
    color: white;
}

.connection-status.disconnected {
    background-color: #dc3545;
    color: white;
}

.connection-status.connecting {
    background-color: #ffc107;
    color: black;
}

@media (max-width: 768px) {
    .progress-container {
        margin: 15px 0;
        height: 40px;
    }
    .progress {
        height: 20px;
    }
    #progressText {
        font-size: 0.9rem;
    }
}

.progress {
    height: 25px;
    margin-bottom: 5px;
}

#progressText {
    height: 20px;
    line-height: 20px;
    font-size: 0.875rem;
}

.step {
    display: none;
    margin: 10px 0;
    padding: 10px;
    border-radius: 5px;
    background-color: #f8f9fa;
    height: 40px;
    line-height: 20px;
    font-size: 0.875rem;
}

@media (max-width: 768px) {
    .step {
        font-size: 0.9rem;
        height: auto;
        min-height: 40px;
        padding: 8px;
    }
}

.results-table {
    margin-top: 20px;
    width: 100%;
    table-layout: fixed;
}

.table {
    margin-bottom: 0;
}

.table th, .table td {
    padding: 12px 8px;
    overflow: hidden;
}

@media (max-width: 768px) {
    .table th, .table td {
        padding: 8px 4px;
        font-size: 0.9rem;
        white-space: normal;
        word-break: break-word;
    }
    .table th:nth-child(1), .table td:nth-child(1) {
        width: 40%;
    }
    .table th:nth-child(2), .table td:nth-child(2) {
        width: 25%;
    }
    .table th:nth-child(3), .table td:nth-child(3) {
        width: 35%;
    }
    .table td > div {
        flex-wrap: wrap;
    }
    .table td > div > div {
        margin-bottom: 4px;
    }
}

.table th:nth-child(1), .table td:nth-child(1) {
    width: 40%;
}

.table th:nth-child(2), .table td:nth-child(2) {
    width: 20%;
}

.table th:nth-child(3), .table td:nth-child(3) {
    width: 40%;
}

.status-badge {
    font-size: 0.9em;
    padding: 5px 10px;
    white-space: nowrap;
    display: inline-block;
}

@media (max-width: 768px) {
    .status-badge {
        font-size: 0.8em;
        padding: 4px 8px;
        white-space: normal;
        text-align: center;
        width: 100%;
    }
    .loading-spinner {
        width: 1rem;
        height: 1rem;
    }
    .table td > div.d-flex {
        flex-direction: column;
        align-items: flex-start !important;
    }
    .table td > div.d-flex > div:first-child {
        margin-right: 0 !important;
        margin-bottom: 4px;
    }
}

.table td {
    vertical-align: middle;
}

.loading-spinner {
    width: 1.5rem;
    height: 1.5rem;
}

.footer {
    text-align: center;
    padding: 10px;
    margin-top: 15px;
    color: var(--bs-body-color);
    font-size: 0.9rem;
    opacity: 0.8;
}

.button-group {
    display: flex;
    gap: 10px;
    align-items: center;
    justify-content: flex-end;
}

.filter-select {
    min-width: 150px;
}

@media (max-width: 768px) {
    .button-group {
        flex-direction: column;
        align-items: stretch;
    }
    .filter-select {
        width: 100%;
    }
}

.form-select {
    min-width: 150px;
}

@media (max-width: 768px) {
    .d-flex.justify-content-between {
        flex-direction: column;
        gap: 10px;
    }
    .d-flex.gap-2 {
        width: 100%;
    }
    .form-select {
        width: 100%;
    }
}

#statusFilter {
    display: none;
    width: auto;
}

#exportButton {
    display: none;
}

.progress-bar {
    width: 0%;
}

#duplicateInfo {
    display: none;
}

/* Disclaimer styles */
.disclaimer-footer {
    margin-top: 15px;
    padding: 20px;
    border-top: 1px solid var(--bs-border-color);
    background-color: var(--bs-body-bg);
    transition: all 0.3s ease;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
}

.disclaimer-toggle {
    background: none;
    border: none;
    color: var(--bs-body-color);
    text-decoration: none;
    cursor: pointer;
    font-size: 0.9rem;
    padding: 8px 16px;
    margin-bottom: 10px;
    border-radius: 6px;
    transition: all 0.3s ease;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border: 1px solid var(--bs-border-color);
    background-color: var(--bs-gray-100);
}

.disclaimer-toggle:hover {
    color: var(--bs-primary);
    background-color: var(--bs-gray-200);
    border-color: var(--bs-primary);
    transform: translateY(-1px);
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

[data-bs-theme="dark"] .disclaimer-toggle {
    background-color: var(--bs-gray-800);
    border-color: var(--bs-gray-600);
}

[data-bs-theme="dark"] .disclaimer-toggle:hover {
    background-color: var(--bs-gray-700);
    border-color: var(--bs-primary);
}

.disclaimer-content {
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    background: linear-gradient(135deg, var(--bs-gray-50) 0%, var(--bs-gray-100) 100%);
    border: 1px solid var(--bs-border-color);
    border-radius: 12px;
    padding: 0 20px;
    margin-top: 15px;
    font-size: 0.85rem;
    line-height: 1.6;
    box-shadow: 0 4px 12px rgba(0,0,0,0.05);
    position: relative;
    max-width: 100%;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

[data-bs-theme="dark"] .disclaimer-content {
    background: linear-gradient(135deg, var(--bs-gray-800) 0%, var(--bs-gray-900) 100%);
}

.disclaimer-content.show {
    max-height: 500px;
    opacity: 1;
    padding: 20px;
}

.disclaimer-toggle i {
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    font-size: 0.8rem;
}

.disclaimer-toggle.expanded i {
    transform: rotate(180deg);
}

.disclaimer-content p {
    margin-bottom: 12px;
}

.disclaimer-content p:last-child {
    margin-bottom: 0;
}

.disclaimer-content strong {
    color: var(--bs-primary);
}

.disclaimer-content a {
    color: var(--bs-primary);
    text-decoration: none;
    border-bottom: 1px dotted var(--bs-primary);
    transition: all 0.2s ease;
}

.disclaimer-content a:hover {
    color: var(--bs-primary);
    border-bottom: 1px solid var(--bs-primary);
}

/* Make headings smaller */
h1 {
    font-size: 1.75rem;
}

/* Make labels smaller */
.form-group label {
    font-size: 0.875rem;
    font-weight: 500;
}

/* Custom Popup Styles */
.custom-popup {
    display: none;
    position: fixed;
    z-index: 9999;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    -webkit-backdrop-filter: blur(5px);
    backdrop-filter: blur(5px);
    animation: fadeIn 0.3s ease-in-out;
}

.popup-content {
    background-color: var(--bs-body-bg);
    margin: 15% auto;
    padding: 0;
    border-radius: 8px;
    width: 90%;
    max-width: 350px;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.25);
    animation: slideIn 0.3s ease-out;
    border: 1px solid var(--bs-border-color);
}

.popup-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 16px 8px 16px;
    border-bottom: 1px solid var(--bs-border-color);
    background: linear-gradient(135deg, var(--bs-primary) 0%, var(--bs-primary) 100%);
    color: white;
    border-radius: 8px 8px 0 0;
}

.popup-header h5 {
    margin: 0;
    font-size: 0.95rem;
    font-weight: 600;
}

.popup-close {
    background: none;
    border: none;
    color: white;
    font-size: 1rem;
    cursor: pointer;
    padding: 4px;
    border-radius: 50%;
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
}

.popup-close:hover {
    background-color: rgba(255, 255, 255, 0.2);
    transform: scale(1.1);
}

.popup-body {
    padding: 16px;
    color: var(--bs-body-color);
    font-size: 0.875rem;
    line-height: 1.5;
}

.popup-body p {
    margin: 0;
    word-wrap: break-word;
}

.popup-footer {
    padding: 8px 16px 16px 16px;
    text-align: right;
    border-top: 1px solid var(--bs-border-color);
}

.popup-footer .btn {
    min-width: 60px;
    padding: 0.375rem 0.75rem;
    font-size: 0.8rem;
}

/* Popup Animations */
@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

@keyframes slideIn {
    from {
        transform: translateY(-50px);
        opacity: 0;
    }
    to {
        transform: translateY(0);
        opacity: 1;
    }
}

/* Responsive popup */
@media (max-width: 768px) {
    .popup-content {
        width: 92%;
        max-width: 300px;
        margin: 20% auto;
    }
    
    .popup-header {
        padding: 10px 14px 6px 14px;
    }
    
    .popup-header h5 {
        font-size: 0.9rem;
    }
    
    .popup-body {
        padding: 14px;
        font-size: 0.8rem;
    }
    
    .popup-footer {
        padding: 6px 14px 14px 14px;
    }
    
    .popup-footer .btn {
        min-width: 50px;
        padding: 0.25rem 0.5rem;
        font-size: 0.75rem;
    }
}

/* Admin Dashboard Styles */
.admin-card {
    max-width: 1600px;
    margin: 40px auto;
    padding: 3rem 3rem;
    border-radius: 1.5rem;
    box-shadow: 0 4px 24px rgba(0,0,0,0.15);
    background: var(--bs-body-bg, #222);
}

.sticky-header th {
    position: sticky;
    top: 0;
    background: #222;
    z-index: 2;
}

.batch-actions {
    margin-bottom: 1.5rem;
}

.edit-cell input, .edit-cell select {
    width: 100%;
    min-width: 100px;
}

/* Make table header adapt to theme */
.table-dark th, .table-dark td {
    background-color: #222 !important;
    color: #fff !important;
}

[data-bs-theme="light"] .table-dark th, [data-bs-theme="light"] .table-dark td {
    background-color: #f8f9fa !important;
    color: #212529 !important;
    border-color: #dee2e6 !important;
}

/* Admin table specific styles */
.admin-table {
    width: 100%;
    table-layout: auto;
    font-size: 1rem;
}

.admin-table th {
    white-space: nowrap;
    padding: 18px 12px;
    font-size: 0.95rem;
    font-weight: 600;
    text-align: center;
    vertical-align: middle;
}

.admin-table td {
    padding: 14px 10px;
    vertical-align: middle;
    font-size: 0.9rem;
    text-align: center;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Column width definitions - fit to content */
.admin-table th:first-child,
.admin-table td:first-child {
    width: 40px;
    min-width: 40px;
    max-width: 50px;
    text-align: center;
}

.admin-table th:nth-child(2),
.admin-table td:nth-child(2) {
    width: 200px;
    min-width: 150px;
    max-width: 300px;
    text-align: center;
}

.admin-table th:nth-child(3),
.admin-table td:nth-child(3) {
    width: 120px;
    min-width: 100px;
    max-width: 150px;
    text-align: center;
}

.admin-table th:nth-child(4),
.admin-table td:nth-child(4) {
    width: 80px;
    min-width: 70px;
    max-width: 100px;
    text-align: center;
}

.admin-table th:nth-child(5),
.admin-table td:nth-child(5) {
    width: 70px;
    min-width: 60px;
    max-width: 90px;
    text-align: center;
}

.admin-table th:nth-child(6),
.admin-table td:nth-child(6) {
    width: 80px;
    min-width: 70px;
    max-width: 100px;
    text-align: center;
}

.admin-table th:nth-child(7),
.admin-table td:nth-child(7) {
    width: 80px;
    min-width: 70px;
    max-width: 100px;
    text-align: center;
}

.admin-table th:nth-child(8),
.admin-table td:nth-child(8) {
    width: 120px;
    min-width: 100px;
    max-width: 150px;
    text-align: center;
}

.admin-table th:nth-child(9),
.admin-table td:nth-child(9) {
    width: 120px;
    min-width: 100px;
    max-width: 150px;
    text-align: center;
}

.admin-table th:nth-child(10),
.admin-table td:nth-child(10) {
    width: 50px;
    min-width: 40px;
    max-width: 60px;
    text-align: center;
}

.admin-table th:nth-child(11),
.admin-table td:nth-child(11) {
    width: 50px;
    min-width: 40px;
    max-width: 60px;
    text-align: center;
}

.admin-table th:nth-child(12),
.admin-table td:nth-child(12) {
    width: 100px;
    min-width: 80px;
    max-width: 120px;
    text-align: center;
}

.admin-table th:last-child,
.admin-table td:last-child {
    width: 150px;
    min-width: 120px;
    max-width: 200px;
    white-space: nowrap;
    text-align: center;
}

/* Specific cell styles */
.admin-table .checkbox-cell {
    text-align: center;
    width: 40px;
}

.admin-table .usage-cell {
    text-align: center;
}

.admin-table .admin-cell {
    text-align: center;
}

.admin-table .active-cell {
    text-align: center;
}

.admin-table .ban-cell {
    text-align: center;
}

.admin-table .actions-cell {
    text-align: center;
    white-space: nowrap;
}

/* Ensure all form elements are centered */
.admin-table input[type="text"],
.admin-table input[type="number"],
.admin-table select {
    text-align: center;
}

.admin-table .btn-xs {
    font-size: 0.85rem;
    padding: 4px 10px;
    margin: 2px;
    text-align: center;
}

.admin-table .form-control-sm {
    width: 95%;
    margin: 0 auto;
    font-size: 0.9rem;
    padding: 6px 8px;
    text-align: center;
}

.admin-table .form-select-sm {
    width: 95%;
    margin: 0 auto;
    font-size: 0.9rem;
    padding: 6px 8px;
    text-align: center;
}

/* Responsive design for admin table */
@media (max-width: 1600px) {
    .admin-card {
        padding: 2.5rem 2.5rem;
        margin: 30px auto;
    }
    
    .admin-table {
        font-size: 0.95rem;
    }
    
    .admin-table th,
    .admin-table td {
        padding: 16px 10px;
        font-size: 0.9rem;
    }
}

@media (max-width: 1400px) {
    .admin-card {
        padding: 2rem 2rem;
        margin: 25px auto;
    }
    
    .admin-table {
        font-size: 0.9rem;
    }
    
    .admin-table th,
    .admin-table td {
        padding: 14px 8px;
        font-size: 0.85rem;
    }
    
    .admin-table .btn-xs {
        font-size: 0.8rem;
        padding: 3px 8px;
    }
    
    .admin-table .form-control-sm,
    .admin-table .form-select-sm {
        font-size: 0.85rem;
        padding: 5px 7px;
    }
}

@media (max-width: 1200px) {
    .admin-card {
        padding: 1.5rem 1.5rem;
        margin: 20px auto;
    }
    
    .admin-table {
        font-size: 0.85rem;
    }
    
    .admin-table th,
    .admin-table td {
        padding: 12px 6px;
        font-size: 0.8rem;
    }
    
    .admin-table .btn-xs {
        font-size: 0.75rem;
        padding: 3px 7px;
    }
    
    .admin-table .form-control-sm,
    .admin-table .form-select-sm {
        font-size: 0.8rem;
        padding: 4px 6px;
    }
}

@media (max-width: 992px) {
    .admin-card {
        padding: 1rem 1rem;
        margin: 15px auto;
    }
    
    .table-responsive {
        overflow-x: auto;
        border-radius: 8px;
    }
    
    .admin-table {
        min-width: 1400px;
        font-size: 0.8rem;
    }
    
    .admin-table th,
    .admin-table td {
        padding: 10px 5px;
        font-size: 0.75rem;
    }
    
    .admin-table .btn-xs {
        font-size: 0.7rem;
        padding: 2px 6px;
    }
    
    .admin-table .form-control-sm,
    .admin-table .form-select-sm {
        font-size: 0.75rem;
        padding: 3px 5px;
    }
}

@media (max-width: 768px) {
    .admin-card {
        padding: 0.75rem;
        margin: 10px auto;
    }
    
    .admin-table {
        min-width: 1200px;
        font-size: 0.75rem;
    }
    
    .admin-table th,
    .admin-table td {
        padding: 8px 4px;
        font-size: 0.7rem;
    }
    
    .admin-table .btn-xs {
        font-size: 0.65rem;
        padding: 2px 5px;
    }
    
    .admin-table .form-control-sm,
    .admin-table .form-select-sm {
        font-size: 0.7rem;
        padding: 2px 4px;
    }
    
    .batch-actions {
        flex-wrap: wrap;
        gap: 0.75rem;
    }
    
    .batch-actions .btn {
        font-size: 0.8rem;
        padding: 0.375rem 0.75rem;
    }
}

/* Improve table responsiveness */
.table-responsive {
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

/* Better text overflow handling */
.admin-table td {
    max-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.admin-table td:hover {
    white-space: normal;
    word-break: break-word;
    position: relative;
    z-index: 1;
    background-color: var(--bs-gray-100);
}

[data-bs-theme="dark"] .admin-table td:hover {
    background-color: var(--bs-gray-800);
}

/* Compact form controls */
.admin-table input[type="number"],
.admin-table input[type="text"],
.admin-table select {
    border: 1px solid var(--bs-border-color);
    border-radius: 6px;
    background-color: var(--bs-body-bg);
    color: var(--bs-body-color);
}

.admin-table input[type="checkbox"] {
    transform: scale(1);
}

/* Better badge styling for compact table */
.admin-table .badge {
    font-size: 0.75rem;
    padding: 4px 8px;
    border-radius: 12px;
}

/* Improve button spacing in actions cell */
.admin-table .actions-cell .btn {
    margin: 2px;
    display: inline-block;
}

/* Make sure the table container doesn't overflow */
.admin-card .table-responsive {
    max-width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
}

/* Guest Usage Dashboard Styles */
.sidebar {
    background-color: var(--bs-dark);
    min-height: 100vh;
}

.sidebar .nav-link {
    color: var(--bs-gray-300);
    padding: 0.5rem 1rem;
    border-radius: 0.375rem;
    margin-bottom: 0.25rem;
}

.sidebar .nav-link:hover {
    color: var(--bs-white);
    background-color: var(--bs-gray-700);
}

.sidebar .nav-link.active {
    color: var(--bs-white);
    background-color: var(--bs-primary);
}

.sidebar .nav-link i {
    margin-right: 0.5rem;
    width: 1rem;
    text-align: center;
}

/* Statistics cards */
.stats-card {
    border-radius: 0.75rem;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    transition: transform 0.2s ease;
}

.stats-card:hover {
    transform: translateY(-2px);
}

.stats-card .card-title {
    font-size: 1rem;
    font-weight: 600;
    margin-bottom: 0.5rem;
}

.stats-card .card-text {
    font-size: 2rem;
    font-weight: bold;
    margin-bottom: 0.25rem;
}

.stats-card p {
    font-size: 0.875rem;
    opacity: 0.9;
    margin-bottom: 0;
}

.admin-subtitle {
    font-size: 0.97rem;
}

/* Forgot password styles */
.forgot-description {
    font-size: 0.97rem;
}

/* Signup styles */
.signup-description {
    font-size: 0.97rem;
} 

/* Role Info Modal Styles */
.role-info-item {
    margin-bottom: 0.5rem;
    line-height: 1.6;
}

.role-info-badge {
    margin-left: 0.5rem;
}

/* Signup Button Styles */
.signup-btn {
    background-color: #198754 !important;
    color: #fff !important;
    border: none !important;
} 

.wrapper{
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
gap: 10px;
width: auto;
position: fixed;
top: 10px;
right: 10px;
z-index: 1000;
}

    .switch{
    position: relative;
    width: 60px;
    height: 30px;
    margin: 0px;
    -webkit-appearance: none;
    appearance: none;
      
    background-image:url('data:image/png;base64,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');
    background-size: cover;
    background-repeat: no-repeat;
    border-radius: 25px;
    box-shadow: inset 0px 0px 2px rgba(255,255,255,.7);
    transition: background-image .7s ease-in-out;
    outline: none;
    cursor: pointer;
    overflow: hidden;
    }

    .switch:checked{
    background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAYYAAACWCAYAAADaIS/KAAAACXBIWXMAACE3AAAhNwEzWJ96AAAgAElEQVR42u2dx3IjXZbf/3nTJwACdFUs092f65FGE9MzitFWoTeQHkYvoIXWWugBJC20lrTTVlqOpJlp8/XX0/2ZcjQg4dNnXqdFgiiAFiABAiTPL6KiogpAmps377H3HON//iHVIAiCIIgxFgPJBYIgCGJaMBg0CARBEMSUYDBpDAiCIIgZi4FcSQRBEMSMYCBXEkEQBDEtGMiVRBAEQcwIBoMsBoIgCGJaMFCMgSAIgpgVDGQyEARBENOCgcQCQRAEMSMYTHIlEQRBENOCgdJVCYIgiBnBQHKBIAiCmBEMtI+BIAiCuGAxUIyBIAiCmBIMlK5KEARBzAoGGgOCIAhiWjCQwUAQBEHMWgwGxRgIgiCIaYuBxoAgCIKYEQwkGQiCIIhpwUDBZ4IgCOKCYKAYA0EQBDElGMiTRBAEQcwKBgoyEARBEGQxEARBENcKBiq7TRAEQcxaDCQYCIIgiBnBQGNAEARBkGAgCIIgrhcMJBkIgiCIWYuBJANBEAQxJRgoK4kgCIK4YDEQBEEQxLRgoH4MBEEQxBRUXJUgCIK4aDGQM4kgCIKYFgw0BgRBEM+ONOPIUondXe8qi4EGiCAI4jlxeBjhd992AABvXtfxq1+9mBUMoH0MBEEQz4YoKvD773pgrAoxn7RT7O4lePO6PmUx0DgRBEE8E6FQ4u///hSWOZt39MP3fTQbDhoNBwBgJO2Y8lUJgiCeOEJK/N3fnyGO+ZWfW5aBf/Uvfza2GMhkIAiCePK8fx8hywRM8+pFX2vgXB5YFGIgCIJ4+nQ66bVC4Zw4LVGvOWQxEARBPGXihONPfxxAKYAZN+9p7vdyNOoOLBo2giCIp8koLPH7b3sAcKu1AACnpynevGnQzmeCIIinyrsfRzAXKKGtFTAcFGQxEARBPEXa7RRcKDBzMeV/OMppHwNBEMRTQ0iN9nECky1eJzUccVggVxJBEMST4uOHEDDmiytcBVkMBEEQT4ijowRxVC4UW7gkGGgfA0EQxNNg0C/Q72Vg9+zZTBYDQRDEUxAKgxLHR8mkON69BANZDARBEI+bPJNonyR3jilcFgwkGQiCIB4tUmkcH90tA+lawUBiYXXwQqBIBUQu4DUcOIF9b98fQRDENO3DBEpiqWvLRqSrZmEBkUsY5uXPHN+GaZswTKCIOcqUQ3I1+dxvunDr9lL8avcWAnGJMhWVFOcKauo6i+hyqVs7sOA3Xfhb7qwGwBUMEzP3JJVCHHI4rgnfp32JBEEAZ+0UZaHulYF0FUZ28rkfQ5lxiEICANy6Ddu3YdqLLbh8vDAapgHLNS8teGXCoaQCMxmYxZANC/CM3+8mmAHLta74f2DrZQBjqimF5OraexKFhMGMmc8lV8jD4srvavX5O0rIe12/PV7sRVEdy2AGars+/FYlNLqnGeLw8zg5LsPBm9rCuxoJgnga5KlA+yhdybGN0384vbVRjzVetLTUkKWE6ZiwfQtOYEMJCSkUZCEn2vJFmFUttEqoBx88gxnwmg54LiEyMXNPlmPC9qzPVsv4c9Mx4dQsKKFRROVaHz6zGFhgYxReYXE4DK/e1ib/VkKhTASUqsaZMQanZk3G/xytNHgmoYSC27BhjLUNJRR4JmD7l39z/nkelXBrNkzHnByrTPi1vyEIAJClhJLjv5WCaTEwy4TlsolCxExM5hVxO8cfE4gVralG57dn1MFtgyk1A7/hCXmOgXrdhijktZaX7dswLQNCaCguLwlop+aMhQWf+c20xccLCTH1ObMYDGZAlnIsgBm8LQfelgNRVueQhYQQGiLjlbANKoEiSwlRSJiWAbfpwLSq80hRWWHWhcVBlBJa6c/WIS0e81nvuYASCkpoWN5nJeihyYYFsmE+tyLkt1y4defRjff5PL04zlrpifK1lDUhFUgjjigRq1Oou992STBsmnalqz98jowxA4DP9KPOLbNcE4JL4FxeMcCyzbEmeYWLbvy55ZpgViUoSNO8sHAMcmg5+2p7W87ENflQgikflVc/w9vmtWnArdlwAmtjn61WGmXKwTMBXszOX2fsZeG5hJYatm+ituvPCAhZSuRjj4TXcCb3yXMBngmIXE5c35ZnwnItFFE1npkysEr/i9H5tkOCYUNQGijv8MAZAJfpZ132ynJM2L4Jy7XHlgWelWURtZNqUSnnX4Qd30aw6y41cUOUEmVSxSpFKZd2XMMw4ATWxIX9oO+lUpDl52VSSQWeCpQLxkYNw4A1jl/q8VhdnMOSK2h985JcKgNixau20fkdCYaNMPs1UMr7rew203DIzf/5RfMs+E1n9sV8ggMkSoVwLBgWhVlVEohlV65Bp1a5HRehSDjKVIwTMh5mOTm/bmYZ8OrOyp6rUhrRaTqTCbk2CwVAJg3oBxhi44wEw9qfNgdQLEm5sg3AJa/KDQuKAcc/d1EwPOZGVZJLFHGluaolqpB+s4oV3TQ2WmvkYYk84g8mDG7Crdmo7XpLOVYZc5SZgNYachyj2QRSWXkVHgLj7LckGNZlIRQKK5H+FgN8shzmorbnwq09vkBnkZRIusUKBSgQbPs49zIJriYxCyUVilhs3Ji4dQvBjndnYa+EQjLIwVO5ec9bAeUDGi3GKWUlPbzpr4BsxXOvZlexh0dsSD1YQN3bcmDZDJZtwnwEriZeSISnKb1I1wo1BvNC6nSl+SsYDLA9C7ZrTZ61VnriDtvUdyHmD3tOS0NfYSZWAfZV7J0615CfY6BU67GlILFyPyGXwGOKvSo9NpXVrHB7iP17WXi15u3VHbg1C467WTvN86jEVe8tcS4EJOQ1G061AoqUo0j5o7mf8gFdSBPBYEzpZVwBXOmJycIAuKYB27yf9ql0dexSachrbrBuG0+2cJMCkPDr730li52sUl4908Cml2cqJJBdMTiZABr2+i6+iDmKmMPyGBo7/iUtdH0Ln4LxCBKUz997oTVc06DCbHccw1w+vBpgnPz2VEMDuQCKa8QSM6oFZpxaDqWAWzPcNJCKalLMox2bRiUcnlqxV62ARDysULiIywx49maOT8YrheE6AuvzvFs3Xs1GveWBPfD1SKERD3LIUkFItfFzvpAAl7Nz3jCAumWAUexrIVJeKesPjcWlRiZuNlWkBhI1Tp+ZXsgdY+y20OAKsBlgmQa01ohLLCTlhAZGhYZrVVbKY58/xXhMNiDLDfn4WurO5oyr0Bq5uH18MqHhbIjJc25BTARu3cbWjrfy8xoGJv7vTdeb8vF6cklB0kBUatQdwKI+83N5GTKhUa4pDm7Fpb7jiw2ERWUNnB+hlMCN9RtuNzKQcSDnGrZpwDMNmI9QQuQSyPhm+YCFBka5RsNhYKyKQYixay+wHm6cU65RLmAaS10F3mr25i0mecyhlIZlfTYhTNuA7Zqwluh2UkIBBh4kf/1e1jGqea9v+DwqgMA2QBvVb3jeGoi5hlxjGrAVjUL49TrYHVaGVV63lBq51GBj68QwAJsZ8Da84nSpqnjCpjK8IudNlBoNd/U+4JjrO+3XqHysunI1btrzTjlKXBHIZAyua8Kr2XD9xVZBpQDBJUSpIKVGlvDNlwoACgHM83gjrsA4VjbnSgUkpYZpACYzYBqAbT5MIsO9lQ1RWQrrdjRYZydnYGYXW60mmtstMHOzRLmaEkCl1BAKCJzNDL1VGtHjyxZRqKyJLadyBa6CpNT32sRXiKpTVcM1HkcYSinkmUKecWztePBr9i1f1+BcoUg48lTcWhZhM5UiPbf/+HzOTbcWcUzcq69AKfU4vvFZcZ345/m5+xv37l0gx5a2xZaT2FHIymXEN2j7hPE//vP/nnmUruvC8RxY1ueJXBbFpJTzRKLYFvwgQFCvPbgwsQzANg04pjGxJtaN1EDK1dp8gsvCNgDXMsAMA4VSKMTn/3PvqN7FvDrOMvAtA4H9uH3Ujmui3nRgWgxZzJGlHFI87vRToYBRcT89lwFoeWzh91lrYJirubRsBqDhMtzV01cIjZTr6Xp52PLYna2RQmjEG+hhMP7bf/pf976qwPfh1fwbv+MFAVzXhblkZ7YBwLMZPHs9gdWkrHzmSj/9vHJmVIvyIgKiEBrxErdsGgBagQlKbtksi3OYyqWkVJrMQMtb7OlmQiNdcI7VHbawoiOUxihXV87JLY/BWtB8UABGmdrItcMSvABgQCsJy3YvOEbmu9EkSZAk8xXxcjwPW80t1Bp1WPZyciiTUiETQNM1Fn44d9eQNKKi+vvZLABaIyw0GB+nLzPANAFzSsWrvAkapmFUQbRSLT0WFeYKngU4j2CPxnMgzJeXjq2khlBq7vdYqLEGv+D5w0KhAQPeLcIhn0o1L2/I3hzlCk1vsfUnKfTGrh+WEAJajf0fzKrcQlqDlxlsN1j6CfM8R57nwOkZfN/HVquJrVbz/hNKAYNMYzdgK3ctSakxyJ/vzlOlgHRmQl8eC8+q1IpVzHsu9dgfq+FYBhrO7DMXUiPhClIBNceAS53lVkZcKPAlb9LJOFB3b3+JS6kQ3uM9jIpKqHiWAYcZMKf8QedzaF6/v9LV+rPlVa4tOa6DZluAc4WXJCkU8g12H1paf06L0mUOw6j2IWitYPASSilY9mqKjJ1bGp2zDnb397DVvL+A6KdisomGoXJ92EsMqEqtMSoUlKJF4SbS8mEmfV5qcKHg2wxKV2696WoIo0zDMhW2XPZg1uTzsRRWs7ilpYZSGls3uJQSrpAsIdFDKYAv8R6G6YVjlQAzFFr+7PxLys1eQIz/8h/++9WjYlSKIDMZDGauTDhMw0wTzVYTfq0GkzH4teVYLBYzENgMrnX3DUJSVxM2EyQRHiOGATQ9k/pVLImoWP27YDED2z679M4+xLlXMf8Cm8ExDQipEW24YLCUvuYCx+KiqkiowKzV11RQQqDX7QHd3qXPgloA23YQ1GuoNxpgC9Ql4BIYSQVmAFve/MHTnFdpZKXU+FyJgLTOixR5hm6nAyUlmGni5cHBgygSi6B1Fejb8WddBsQdNHpeuWBW/S5wCQwyVQkHo3LhJvx88+jjeoZaA3GhPy+sG379lprDJ2Iyc+3NOJIoAZBg2B/ANE1s7+5ge28X5gKpskoDw0zDHac8OtcsEGpsJheCKljeqDWGIcLBEFEYzS4cUYKff/UFXM/bqOtV47IrOz5tu70rUldxhYeCS6CbStjMoPfxIQWDvCVVymQmmO1AbVCZXyUFzs7O0O32cPD6AM3t1kK/z0VVp8c0DDRcNpOZIBQwyCSkpkl4FfEoQhiGiMIISslrn8/H9x/w5Tdfw7Q2axEuJTAqJJrU5u5OmAYePL1SKqy1PMSzFAy3WQxaa4g0hufXNq6JgpICh58O0e8P8ObtWzjOYu4uqTWGmUTdZbBNA6XQGx8UetAXUirkeY4kjpHnOaIwnPu3RVni/U/v8MVXXy1978p9yUoNm2n4NrmU7uYXoSF4+oJhjjK+hmVBKT0zI5RSMAzjUhu9sizgOO7DarFhhD9+9we8ePkSO/t7C7mXgMpt9BzgvMSwN0CcJCiyHMxksJ2rYwFpHN/7fGmS4o/f/SMO3rxCa3v7+oU6y1HkGXhRAgCYZWKruQV7hXGKYSaRcQPNe+xafY5w9fBNY4iHx/iP//6/3vqYTdOG47owzM+FTcoshZQCfq0xsSSk4CjzFH69ubYbMhnD7v4+WjstuI5DTxiAkBK9Tg9np6druwbbsVGv1SeCSEmBLMtv3BhZq9Xw4uAl6vXa6l4AVCUSArIe5hOo+Wbn3xNLshjm8d1JVUJpDcuxAVXlGJdlMdYKI1iWA9txUBY5TMuFXmOSv1AKpycnOD05ge048H0ftXq90kCfoaBI4hiHHz+Bl+Var6PMC/TzxZrXx1GEOIoQ1Ot4efAStXp9ZYudyRhthLsFpatMPXK2PgPBoPV8j1lJhTxNcfH7QigIwVGWObTWcLzaxpiaRVGiKEoMhyMcHR7B831s72xPhAUAlGUJXpaQUiLLMvCyRHlhETVNC55/e4aN7/swTRO248BZsxBSUqLT6eCsffroJ2kcxYijGLV6Dds7O9je2Vn6Ofqpwo4POCQcrn8OhVxrJ0LiIS2GOVsFSlnc8rmCYTBEowH8oAZmbV7jhDRNkKbJ3X48XPwn9XoDtXoNzWZrLsGyDKSUCEcjtNvttVsJyyaKIkRRhKPDQ+zs7GBvf39pVqDUQCeR8G1VFUQzDBRKw2YGFexDVb76ucTiCMBSS1XvJQzDgAJg0BxCFEaIwgjt4zZst3Jr+QsICN8PJg3o6xfcKFIqZFk6tno4yqJAHCdIovjJj6tQEmenHZydduD7PvZe7qPZbC4l+ynjGtmFfqOexRA4Bvxn2s1eaqCXSlA60nMSDHq5K7hl2pBSwKCu3zMURY6iyDEc0lgskyRLkLxPYLKqnEqz1US93ljq/olMVNV7t33zWQap41I9qyrCxNIthspnrzTATPtxjojWG7dfY9PG5bz0xfnfm4BSAt1uD91xOZXA91FvNFBr1NFqtZZyjkEqYfjmlfsfSqWRjxuuCI1Jy0qTGVf2qy6VRlxqyAtOe9cyqpTQ8Xvp2wbq6y7wpB9FZ1Fiky2GSjhUPR6kFNBawXE9OJ7/KAaEl8W4aKBNs0MpgDHkSQIpOLygAQDI0wiu70MpBcfczOeaZBmSLAPOzmAyE69ev8L+ixdz/TYcDvHp8HCShOD7PnZ3d9FstdDVDnZ8Bs9m4LIq7R1xBX5Dh7qQAVtutbgXQqMYt6i9ioupoLnQsBjWmjGlSDA8P8Ewb/B5YfM7q4K8hmHADcy1prAuQlHkYKa58Ca5p0iaxJCSQ47rWJs8R1nmkEJCagnLcmBJeWmT46YhlMKnjx8RhiF+8cUXN7qZ2sfHODk+uTAOCdIkwaePH+EFPnZ399BqteC48wW+uQJ62d17vnZTiZc1A+vYQF41W5IUXXhGlEU5f7rq3a1QBinEQtVQ18Vo0AO0gmW7UN7YLcD5s7QeijxDkacXFsjPxfIEVxBCwrTsRzM+g8EASZrgm2++gR9ctnTev3tfVfe9UVimSJOP+PTxI1qtJl68PEBjq77S61YaOIk5ajYbl4+/LIjP9yOZS+45UXXgI7HwHIjCGGenbQyHI1irMBgYY2AmgxQSnuuBMRN6ww0GITmU0lX3paKA5wtIpZBEIbyxG8wwTbiOB6UVpBSwrae7Yc5gJm6fGwpCSpiPKJ5UZCV+/7vvsLu/i929XQR+gCiMcHx8jCzNFhM0/REG/RFeHLzA69evV25lxoW6tbKpb1dFIefpgDYPuVAb/+4S9/QMpCkOP31CFH7OaFxJjEFJhe3WPvI8m8QW1Ibvl4yjCHKqWuhoNJxUD03SasBM04ZpWcjiCH5ja+Pv6c7PTylE4RB6Dk2xzLNHuaO80+mg0+ks5VjtdhthGOKLL79EENTW+5KPeyXEJbDts2tLy89t8WtAUw+SJ4mQAidHxzg9bV/6zFIr2so46PWqXdIacF1vvODIjXQpKa0vbQZTUlwh8EoMul0w04QYDiClhOO4cFwP9hrcKUprsBX496WUkHN2yMplAS94HK7CVZLECf7whz/gqy+/Qmtne/2WkQTOEomGw1B3GO7qYRIS0BRheHJkSYqffvoJWZpe+flKLAag6vzm+j5M25no1UmaoFbf2jz3QpFjkXFQU4tmlqWwHHdltoNUAgYY2IV9IbwskUQhWrt7Sz8nMy3AMK7tt3DFD6h+DgAlJP70/fd4+fIl3rx9A8tc7+5/pYFRrhAWCjWbYcs1YC6gSND+hadJp9PBh48fcFNl7aXvY5hZL4yqX+t5RhLnVYYL27Cm7JblVD51Ie6oVXFYyrrgjtFLuc88qfzeQW3WRVEWBYQQS8/2Ukojz1IorTDP3DAt69FknD0U7ZMTdDpnaDS2sL29g/39vbVej9ZAVEhERVVJdnvODnaDXFKa6hPjpx9/Qrd7uwt1ZRZDpe1WXviyLMGLHFIolGUJx3MhhIDJ2FJ2SJdlCSUlPP+OOfXMABjDXceiLEpY40C0YRgwGEMYjbDVvP/GKiEFpJTwLgiGoiyqxRtL3nDGDDDbhkzjuWIMtknWwnXWQ38wQH8wwOHhId68fbN2AQEAYSHhmgYC++b3TmpQNtITQkqJ7777A9JrXEcPajEURQHHC1AWBbJx3f0oGqGm6ojjCNu7+2BLOH8aRxBCTGIZd6HRaKJXFHfSfoUQyPMcZZHD83ww00SRZShcF45zv+J5Uklwzmd6bgtZ1UYCgF7nDKZpwvN8CClRq9XvLSDKPMO8+1t8v7b2fuCbTp7n+PGHH3F4eIivv/4aW1vrdad2U4n9GuDdEJgupQYo6PwkSJIE3/3+O0g5/16ale5jMC0b/c7pTKluKRTC0QCGwcB5FfC1mAl2x9o2eZaiLHIAABcc1j2quu7s7aN3dopFx6QsciilIHiJcrxBTmuFKByh1aqu5y73J4RAkVWupLzIJoJvuvy5FArMNJEkMZSU4LyEKEvUGg14fnCNu0ghiSM0tpqXLC+tFTSMucfAMBkFJxcQEL///e9x8OoVfvb27dpiEBrAWVxZDrsBuzLuIKSmmnlPgE+Hn3B4eLjw7yy5Qv9wUeQQ8jq/vcKg14Hremg0t++UK52lCZIkxHnf6kGvg1ptC/4dUwaTOLzhem/R7MfCqdLy1eTvTqcN1/XQbO0u7EJKkmhyrGG/B9tx4bk+4jiaPXf22TwUWXX9aZrCtJwrFx8pFcqiuDTmaRyhKHLUag3osQC53VpL4Po+mEFFE+fl5OgEo+EI3/zyawT++tJbM6ExKoAdj13hcqKNbY+RsiiQFwX6/T46Z2e4a2WL1bqS8vzW7zDLAoz59zmcB0fLPLvUUEcpiSSNYTnOQtU1J2NgMqxiPCzXXXjPQxyFyLP00njOM6ZAFeiHYVx5XikEhBAoeQnLtqY0SQNKaURRuMAzzmB73o111nlRwrRtMGZAcDFzzudKnMT43e++xZdffIkXc9ZwWolw4Bram53zaanHriRiU+n1e0jTBKNR9a6GYbjU41t6zVqBVmqhCl3MGPeWLssrg6O8LNHrnKLW2IJt2WMXSQ4uBLa3d661POJwtLJ7NGDMfY+VS0ogu2tDofNxYuPc9SvOq7WGlBJKSmAsQDnnyLMUi84Hw2TV/hTjekEshEBRZPCCGvrdM7ieB9fz4Xnes365pRD44Yfv0ev38c0338BaQ30uLjWOI429gMFhBoa5wqigdIJNdg0dH59cuc9qqYJBrlkwWI6zcLtAZloQN7k5tMZoNNv4oLW9c+15XC9AlqWXLJBlYFsWmGXPdY/RaARe5rBsB/d9LrIoEMUxpJAI6nVopWDZdnV8y4XUGnEcwUgZ/MBHOBzePKbXuryq1q5RGGKrtT3lrpJQkoNzgSLPIDiHwUwIpSDSFFJWrgr3kVTdXSXdXg9xEuOXX3+DrWbz4d0PUuM4knAYUJJM2EjC0Qjf//gD8gX7pt/dYpDrnQllUcKy3QXcPgpRHGHR6w6HA+zsO5c2iilVLVCmaUHLfOn3p22j2qF8y0LPOUeaRNBKoyyWI6DCwQAAkEQhDGZg7+Ur8FKgd9YZW0qVqyqN7971LY1jpHGMoF6HlHIyvnE4mmSinTPs96estBQGY3Bcj956AFmW47fffosX+y/wi5//HI7rPvg1FJKew6ZRFgV+fPcT+lPvzoMIBrXm1IM0TWBa1lwLRDgcwnbshXsZM8awtb0LwzAuuUrSJEFZFijybCX3xxgDlIK+Zb9GkedYZSIAlEYSRTAtE6t45mmaoL7VnIxvWRY3nsdxnJnvExWnZ6fo9rrV7ulXr+F6JDifI0We4+Onjzg9O1uPJ0eteddqURRgSQr7BsEghEQah8izDHG8uG/NMBh4WV4qD61UteGuLAqsahyUqgLs+tbvSaz6WYThEMy4+0a+m3C9AHmew7TGQWZx8/1og1E25HXzXUocHR/j6PgYtSDAyxcv8fLgBSyTmkc9FfI8R6/XQ5wmKMbuoXotAJcSSRwjmXMj2uoEwwZobFmWoKmu3iUspcSg10HJ+d0XZ8HR73exb1kzxe467ZM7p6fOS6PZhJQScRRia6t5jTJfZQI9xLNQejX+giSJIASfxAy44LdoRBmSOEYQBLRK3EAcx4jjGO8/vseb12/xi5//nAblsVoBRY726RnOzk6RX5FdOBwONuZarU0w5ZXSSLMM/hVmM2MMfq2BYtC7v7sjS7FlbUEpDSHFrYvXMuh1OuC8hOu617pNsjRdaFfiJmIYDI7ngZcF0jkyqqSUCEfDyo1IbVRvtyK4wIcP79HtdfGrv/zVvTZyEg/DcDhCkkRI4hTDcLQyd/VqLIaNKICmkCbJtf5UKcW93Sx+UIfreVAA+v3upT0CqzMZxwHeVCDLMxy8egtjqrielAJhGEI9+kJ0CrzkYMyc+16UKtHrnmHvxUuYJi108xDFMX7z29/gn/35X8D3XBqQDaLb62E0GmE4GiJOkkd9L5bckPWImea1NXdMy0Gj2UIcRRBicc3ac10w04QBA1ppbDVbSJKH9+H540yT6fuUouoGJ59CmqBRZWAtci81vwZmmFRvaRHhEFXC4W/+5m/WsveBmLLkpMTh4SGOjo4ghHgy92VtSt8+Icora+6kSYxBrwfTMtFq7cLxXHTPTufOTDIYQ63ewHDYQ5Ym2N4dl6ZYw30bbLbpCecl4iiE4PxJTKZwOIAX+HOPbXN7B77vU62lO5DlGX7zm1/jr371V7AsEg7r4PDoGO8+vL9zuf6NFgybUg8ljmJ4bgC/FkwJCw4DDEprKC7Q6ZzCDwIUxQKbPKREt9cZV00V6HW6EFKsJU0ySVLU6gUcp7IcTNNCkqRPKmUzndMSMxhDUKtd2ldCLGA5xDH+4Te/xl//1V+vvSnQcyHPc7RPT9Fut1GU+ZO9z40RDMxgsD0P0wONfSQAAA6JSURBVO7pPMvR63UvLK538N1NBXaLsljfTUqJbqc7Kbscx/GjDzrfZyzyLIPn10DcQzhECf7+17/GP/+rv4ZNwmE51liR46Tdxmg0mlqLMuRF8WzGwNqUoKdC5WvHVLZFWfInEJSdpShydDo5vX0A8ryA46+2JEaepvCeeEpsFEf4h9/8Gr/6Z38B16cSI/fh09Eh3r1/96TiBXcSDJvixnhx8BpG5YSfUGvUkOXZo0rzIuZnOOxjFA7xs59/sTKzP8+La/tSPC3LIcLf/t3/w5dffIG3b3/2JO5JCIEkitAfztY98z0P263WUoWgEAI//PAnnLRP6cWsLIbNuJDBoD956M3WeRVUE7wsQS2FnzBK4ey0jf0XB0teVDgGgz54UcJ2bDiOC8t62vslOBf40/c/oNPp4MsvvkBrqqjh47Eic3S6XZy0TxDHN7uN9/d28erlK+zds2Vqnuf47be/u/V8z8eSz2D8m3/9bzcq8tlsbcP1fPS6Z2CMwbYscCEWro9EPA4YY9h7cQDfX6wmUJZV7rjp3ymlkCYpwrDSMKfnjGlZePuz57VreG9vH3/29S+v3Di6UQJNCnQ7HRyftu+0+9fzPOzv7aNRq8PzPURRjCiOkBcFhsMBPM9Dq9nC/v4+Xuzuz/z2pH2CP/34/bN3HfV7PViWDdtxEIfD1TbqudNCYTC4rgPDYCjyAgUKEE/ZYJBoHx/h5cEBggU67+VZhnA0xJu3P4NUCt3OGZRUqDcak9ozM+cpOYqihOs4z2Zsu50Oup0O3r59i6+++Grj0lo73S66nS7Oep17pXzmWY5Pnz7d+Hk7a6PdbsO0LDTqDQBVbEY+c4FwjmVa6HU7n/+9SamSjusiL3KIoYAUkipvPiPCMLw1QynPUzBmwnFcmKYJKSWOj44gpkqbDPq9G1wtJWzbeXZj+/HTITqdLn71l3+JRr2+egtACCQX2s+e0xsMkcQx+sPBnTar3lsR4QL9wYBeuAvvVV7kMAxjkuyzUYJhkdaVxNPB8z3s7b/Abd3nDYPh6NNHmJYNpSrFgfPbXYwGY9je2RlbJM9T2cjyDH/7f/8P/uKf/jkOXh2s5BxxFOOPP36P4WBIk3rFz1JJhVqtSs6xTQuWbSOKKmHcaDQWOp5GlTqvp4K5FjX8JtZNmmbodjrY3d+7ccOb4zrw/RqyPF0ojblV38JWs0k7rAF8+4/foT8Y4Jd/9kvYpgUuBT59OsTJyTGy4rNSVq/X8WLvBfb39m61MrI8x7t373B8ekKT+SHQGu2TY7x+8wZpnMKyKxdht1vt+RJlidZulcAz3fRLcI6gftkq9zwPjfoWiiJHNs4AtehdIdaJwar6VVJKGGDXVtNQWuHk6PBO3e2YZaJ9fALP99Fstp79mB+dnCCMY7zY28fxyclkMZgmCmNEYYwff/oJlmVhq9HA9hVZToPhgFwzV8xVoIqXpkmCoFZb6rHzvAA0cHx4NHl/Lj6ToNFAHIaIoggvXr5EksQQXMC/Jo63vbuLQb+HLBsLBqkpF5R4eBhjUErh1f5rWLYNy7Jxk/EquQRjFqRe3NXY6VRdsJTScBwHnkc9IMIwQhhGc32Xc4Fef4BenwTAPEgucXR8CNu2kWUp9vb20WwuJ3U4jqLJfK5OdtUFAJ8+fhjPeYVBf4AkjeG6LnjJLzUsO2eruY3eOEZngVxJxDq0KinR2GpeMG2vn4uWY2F3fx/yVN6pZDpjDFmWoLG1BRgaWZpBiPMy4bL6/0XvQanquGkG13MhpYJtU1mKZz2vlcKHDz+NXTeVdTscDtBsLcdSZczEPGu2miq1kySVAlDkOTq9M7x69fpqBUBwbG/vYDQcwKJqx8S60FovlHlmWSZ29/fRPeuAC75QVVolFQ5ev0ZQC6C1Rvu0DcEr7SnwfdQXCNgppREnEZI4xqtXrzEY9mEyE8xkaLa2YVMTnWfLu59+wsU1tSw5TtttcC6ws1tVFF5c4GgwZsB2HdxnzbYs69p3znFsGFtbSNMMFgXkiHURxRGardZEa1dSIYxC1Go11OuNC66PEcIwBABkWVp1xFtw7g4HAwwHA7iuCykFNKqsppwZ+PHHH7C//+La9qvVyykRxzE6nbNJ8DtLM8RxDN8PUMQ5HMeFfcMxiKdLGI4g1dUpuKOwKsiXHib45S//yV1sEXQ6XdRrdZi2dedS/YPBAFoDu7u7lfVxAduyoaFhgUwGYk0wk+Hw48dLGUZFlk2qzjKToXvWgZJy5ntFtnisIRtX5s0uVOg9P5ZlWTcKmzzPcXoym3nTbp8ASiNLEjDGMOz37+SWIh4/RZ5jnvX0tH2CFweLpQwbjIGXJUqnROD5CIu7V4IIh0Ps7O7MzPUsTZGmGcoiR5YkZDEQ6+O6PQh5kSNvn6DV2kZre6fqn7HiglleEMD3gxu3OZydnV4SHNP3IJWEoRiUlFdqY8SmzkMO+559x5WSMAw2lxW7t79/aZ4pdfucaba2cXT48d73a9oW4jAe97bJUa834LpupeSgaiZGMQZiY4niGMPR6EFKrzOD3fhKp2lapQneQllynJ6d4eDgFT3AR8KnTx/x5Vdf3/n3x0eHY+vWvNFgsG0b+y9ewGDmpbmWjedWcEWJ+HPBxUy2FAdPnhc4aZ9Ux2QMBjMRBAE8P4DJGAaDAe1jIDZYkysfruVpHMVon5zg4BoTP0vSuTdNu44LyvZ7PFiWjQ/v3uHg1QFcd/6Cg+cLtpQKWZrOdZ7A96+cG6IswbmoPr9A5/R0cj7XcRfrYDnH+9XrdiG2tpAlKfZf7GPQH8ACSQaCmJjQpSivdCs4ng1rzqAfMw1og96rx0CapsjSKuZ0dHSE129eQyoFwTm2ms0bhcLhuHDfvIHgLE3w448/YntnB7t7uzOf1Ro1tE/ak3lT5DnCUYg0TVGuuHNcliaTMTg5OQGgYZFiQxAV4XAE27Kxt3e5vr+SGoEfYFSObj1OkZUwtgwaUFT59KNRiO2dzewN0e/0Jgo8Lzk+ffgEpRRc14PneHCvKVkuSgFecriuB63nt2y1VOh1umjU6siLAs1mE5xznJ2eIU1T/PDH79FoNGbaij6ociTPi+iRxUAQE6qaSle4AWwbYRTOFVzU428pKcHMywHFQb+P7Z2dJzuGnHMoKasF7+wUnHO0NlAwnJ2eIklnM9TO002lEhBK4bpavH4QQEMjLxbvLum6HoRSODk5RpomyPMCxVSdquFo/UUIaScOQYxhjN2YnRIENcTx7WUk1Hhx6Xa7CIJgZvMc5xzdbmdtgiFN0ysDnMtkNBqi1+3Ctu2lZPzEUYQgCK4UsosKrPbJMVzXQ5qmM4vxVd9N0wRBEKDI80uWw300+qLIJyUr1mUZ3Pou0HJAEOcLurr2Rf308cNcQmHGMhj0Lx1vNBou3BPiXPu+L4N+H4N+f+WL0XmhwvNrPrcggM+l9Qf9/tyLebfbnVQOva9gSNMUg0H/RqEAVBlEnuuBcw55ISuufXKMs9P2k34XyGIgiAuLeavVnNGwT46PFzrG9s4OhKg05TiO8P79OxR5ju2dHYzGje2z7HrNvd/vo9lswhxryINBH0GtBse5u+adpim63Q5sx0H75Bi1WoDRcIg0TfHm7dvJuZax8F5VOv39+3cIggB5UUxcbEEtgHdL21EhOGAAcRzh5cHLe91/uICLhvOqZ/j2zg5M05x5XnlRPEgKNQkGgtgQeFmi2+lUm5DGC8Si2vrHDx8Q1GqT3503nzrXkuuNRlWO+RrBoGRVeuM8MBnF8eR67kq/34dSanItJ8fHSMcplkeHh9jb37+3i0lKiZPj4ysFA+d81lKZc0yllJNrvo8bjDE2aWSziDDhnGNvfx9pkiBNEkRx/CyaiZm/+OJf/DtaDgiiQms9XhAEGo2qtMWiDeq11ijL60sWlGWJNE3HXesMdDtdjEYjFHmB/qCPJEmQFwW2t3eqAGkSw3YceJ4PwLj2j5QKx8dH43pP1f/leYF2u434wqI4Lew45whqtVuPf9uf6p4N5Pl8AdkwDCGkHNfFuvqYp+PduOduvn6/D8u2F75Wy6qSBxbt8ayUQpokyPMcaZpCK/UsWg6TxUAQVxDUAkRRdGMP6ftg2zZOjo8RReHVbgnO8fHDe+Rj7fQ8gHtTMHfQ788IgG6ng+5Ug/ebNfP7u0ZOjo8Xtq52dnav/ez0tI08z2fGRymFbqcD27bHrVrnx3O9O2n7F8//HCDBQBDXLJSn7fbKFoLKtTK81ZVxzmg4Qp4XGI2G+PLLry59N89z9Pu9SfbM6Wl77gAv8NndddcsojzPFxIKrueh2Wxde640Taqg9RXjzzlHmnwem6sExHkRxvPYSZom11Y+JUgwEMRcZGmCg4MDHC8YeF4Vo9EQGLvoT06O0Wo2EdRqkFLih++/nyygRZ7jT3/8x4UF2mg0BAygFgRwWi1IKW8MSEsp0e/30Wg04Hnewlk6jm1jd/f6lN1arYaiKC65wCbWULcDjBOVfvGLX1SxmKnvRlGEnZ0dvByXODk7PZ1YXwQJBoK4s0bf6XQ28trOM5uCWg2maWJndxfdqWu9q5UTheGkR/Fpu41Xr19fKxw455WrqtOZtGldBNe7vSaR57pzHevDhw+X/m9vfx87T3gTIQkGglgDm65d1i5k59xlcb6IUqpqTfn+fZW//+kT9vf3MRyNUAsCNFutSX2gi79blFVn9oyGQ3DO8fr1a0RRdGMyAEGCgSCeBMfHx1UAdpwWu8xYyHmsIE1THI8DyqPhEEGtNrEm7ksURfjh++/x8uAAjQttVTudDjzPu1f67PmmusNPnyAvNHkiSDAQxJOk0WggqNUxGg4RhdHKzjMdUGbMRLPZWopgCIIalJLI83ySFnx+vjiKUCwYzL5O+BAkGAji+QiGrS1IJdE+bU9qM62adz/9CM/zqoY0cvFzMtOEY9uVm84Avvz66yu+w5DnOQWK18z/B+rPhi4vjodYAAAAAElFTkSuQmCC');
    background-size: cover;
    transition: background-image 1s ease-in-out;
    }

    

    .switch:after{
    content: '';
    width: 22px;
    height: 26px;
    border-radius: 50%;
    background-color: #fff;
    position: absolute;
    left: 2px;
    top: 2px;
    transform: translateX(0px);
    animation: off .7s forwards cubic-bezier(.8, .5, .2, 1.4);
    box-shadow: inset 5px -5px 4px rgba(53, 53, 53, 0.3);
    }

    @keyframes off{
    0%{
        transform: translateX(36px);
        width: 22px;
    }
    50%{
        width: 35px;  
        border-radius: 15px;   
    }
    100%{
        transform: translateX(0px); 
        width: 22px;
    }
    }



    .switch:checked:after{
    animation: on .7s forwards cubic-bezier(.8, .5, .2, 1.4);
    box-shadow: inset -5px -5px 4px rgba(53, 53, 53, 0.3);
    }

    @keyframes on{
    0%{
        transform: translateX(0px);
        width: 22px;
    }
    50%{
        width: 35px;  
        border-radius: 15px;   
    }
    100%{
        transform: translateX(36px); 
        width: 22px;
    }
    }

    .switch:checked:before{
    content: '';
    width: 8px;
    height: 8px;
    border-radius: 50%;
    position: absolute;
    left: 8px;
    top: 3px;
    transform-origin: 26px 5px;
    background-color: transparent;
    box-shadow: 3px -1px 0px #fff;
    filter: blur(0px);
    animation: sun .7s forwards ease;
    }
    @keyframes sun{
    0%{
        transform: rotate(170deg);
        background-color: transparent;
        box-shadow: 3px -1px 0px #fff;
        filter: blur(0px);
    }
    50%{
        background-color: transparent;
        box-shadow: 3px -1px 0px #fff;
        filter: blur(0px);
    }
    90%{
        background-color: #f5daaa;
        box-shadow: 0px 0px 6px #f5deb4,
        0px 0px 12px #f5deb4,
        0px 0px 18px #f5deb4,
        inset 0px 0px 1px #efd3a3;
        filter: blur(1px);
    }
    100%{
        transform: rotate(0deg);
        background-color: #f5daaa;
        box-shadow: 0px 0px 6px #f5deb4,
        0px 0px 12px #f5deb4,
        0px 0px 18px #f5deb4,
        inset 0px 0px 1px #efd3a3;
        filter: blur(1px);
    }
    }

    .switch:before{
    content: '';
    width: 8px;
    height: 8px;
    border-radius: 50%;
    position: absolute;
    left: 8px;
    top: 3px;
    filter: blur(1px);
    background-color: #f5daaa;
    box-shadow: 0px 0px 6px #f5deb4,
    0px 0px 12px #f5deb4,
    0px 0px 18px #f5deb4,
    inset 0px 0px 1px #efd3a3;
    transform-origin: 26px 5px;
    animation: moon .7s forwards ease;
    }
    @keyframes moon{
    0%{
        transform: rotate(0deg);
        filter: blur(1px);
    }
    50%{
        filter: blur(1px);
    }
    90%{
        background-color: transparent;
        box-shadow: 3px -1px 0px #fff;
        filter: blur(0px);

    }
    100%{
        transform: rotate(170deg);
        background-color: transparent;
        box-shadow: 3px -1px 0px #fff;
        filter: blur(0px);
    }
    }