/* --- GLOBAL --- */
:root {
    --pbm-primary-color: #ce0e2d;
    --pbm-primary-color-hover: #b5001e;
    --pbm-secondary-color: #0000cd;
    --pbm-secondary-color-hover: #0000ff;
    --pbm-third-color: #ce0e2d;
    --pbm-third-color-hover: #872300;

    --pbm-primary-admin-color: #0000cd;
    --pbm-primary-admin-color-hover: #0000ff;
    --pbm-secondary-admin-color: #ff0000;
    --pbm-secondary-admin-color-hover: #ff4500;
}

.pbm-flex {
    display: flex;
    flex-wrap: wrap;
}

/* MISC */
.pbm-PreventSelect {
    -webkit-user-select: none;
    /* Safari */
    -ms-user-select: none;
    /* IE 10 and IE 11 */
    user-select: none;
    /* Standard syntax */
}

/* Disable selection on dataTable pagination */
.dataTables_wrapper .dataTables_paginate {
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.pbm-Disabled {
    opacity: 0.7;
}

.flatpickr-current-month .flatpickr-monthDropdown-months {
    display: initial;
}

/* --- GENERAL FORM --- */
.pbm-Form {
    background-color: #fff;
    box-shadow: 0 30px 40px 0 rgba(0, 0, 0, .2);
    border-radius: 25px;
    padding: 20px;
}

.pbm-Form .row:not(.row-collapse) {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: unset !important;
    padding-right: unset !important;
    width: unset !important;

}

.pbm-Form input[type=text],
.pbm-Form input[type=password],
.pbm-Form select {
    width: 100%;
}

.pbm-Form input[type=submit] {
    margin-top: 15px;
}

.pbm-Form label {
    font-weight: bold;
}

.pbm-Form label.error,
.pbm-Form p.error {
    color: red;
    font-weight: bold;
}

.pbm-Form span.pbm-Required::before {
    color: #f00;
    content: '*';
}

.pbm-Form .pbm-field-icon {
    font-size: 25px;
    margin-left: -45px;
    margin-top: 8px;
}

.pbm-Form input[type=text],
.pbm-Form input[type=password],
.pbm-Form input[type=search],
.pbm-Form input[type=datetime],
.pbm-Form input[type=date],
.pbm-Form input[type=time],
.pbm-Form select {
    background-clip: padding-box;
    border-radius: 3px;
    border-width: 1px;
    border-style: solid;
    border-color: rgba(0, 0, 0, 0.25);
    box-shadow: none;
    color: rgba(0, 0, 0, 0.7);
    font-size: 16px;
    height: 2.507em;
    line-height: 100%;
    padding: 0 14px;
    transition: border 0.15s, box-shadow 0.15s;
}

.pbm-Form input[type=text]:focus,
.pbm-Form input[type=password]:focus .pbm-Form input[type=search]:focus,
.pbm-Form select:focus {
    border-width: 1px;
    border-color: #066aab;
    box-shadow: 0 0 0 1px #066aab, 0px 1px 2px rgba(0, 0, 0, 0.15);
    color: rgba(0, 0, 0, 0.7);
    outline: none;
}

.pbm-Form select {
    appearance: none;

    background-image: linear-gradient(45deg, transparent 50%, rgba(0, 0, 0, 0.25) 50%), linear-gradient(135deg, rgba(0, 0, 0, 0.25) 50%, transparent 50%);
    background-position: calc(100% - 17px) 50%, calc(100% - 12px) 50%;
    background-size: 5px 5px, 5px 5px;
    background-repeat: no-repeat;
    height: 43px;
    padding-block: 0;
    padding-inline-end: 24px;
    padding-inline-start: 14px;
    text-transform: none;
    text-shadow: none;
}

.pbm-Form select option {
    color: rgba(0, 0, 0, 0.7);
}

.pbm-Form select:focus {
    border-width: 1px;
    border-color: #066aab;
    box-shadow: 0 0 0 1px #066aab, 0px 1px 2px rgba(0, 0, 0, 0.15);
    color: rgba(0, 0, 0, 0.7);
    outline: none;
}

/* Switch checkbox (toggle) */
/* The switch - the box around the slider */
.pbm-Switch {
    position: relative;
    display: inline-block;
    width: 40px;
    height: 24px;
}

/* Hide default HTML checkbox */
.pbm-Switch input {
    opacity: 0;
    width: 0;
    height: 0;
}

/* The slider */
.pbm-Slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #ccc;
    -webkit-transition: .4s;
    transition: .4s;
}

.pbm-Slider:before {
    position: absolute;
    content: "";
    height: 16px;
    width: 16px;
    left: 4px;
    bottom: 4px;
    background-color: white;
    -webkit-transition: .4s;
    transition: .4s;
}

input:checked+.pbm-Slider {
    background-color: #2196F3;
}

input:focus+.pbm-Slider {
    box-shadow: 0 0 1px #2196F3;
}

input:checked+.pbm-Slider:before {
    -webkit-transform: translateX(16px);
    -ms-transform: translateX(16px);
    transform: translateX(16px);
}

/* Rounded sliders */
.pbm-Slider.pbm-Round {
    border-radius: 34px;
}

.pbm-Slider.pbm-Round:before {
    border-radius: 50%;
}

/* DataTables Restyling */
.pbm-dash-form,
.pbm-Form,
.pbm-Form-mod3d,
.pbm-dash-table {
    .dt-container label {
        display: inline;
    }

    .dt-container .dt-paging nav {
        border: #e5e7eb 1px solid;
        border-radius: 10px;
    }

    .dt-container .dt-paging .dt-paging-button {
        /*border-left: #e5e7eb 1px solid;*/
        border-right: #e5e7eb 1px solid !important;
        color: #3174c7 !important;
        font-weight: normal;
        padding: 0em 1em;
        margin: 0;
    }

    div.dt-container .dt-paging .dt-paging-button.current,
    div.dt-container .dt-paging .dt-paging-button:not(.disabled):hover {
        background: #f8f9fa !important;
        border: #e5e7eb 1px solid !important;
        color: #3174c7 !important;
    }

    div.dt-container .dt-paging .dt-paging-button:not(.disabled):hover {
        color: #000 !important;
    }

    div.dt-container .dt-paging .ellipsis {
        color: #3174c7;
    }
}

/* --- ADMIN PART --- */

/* Adaptation pour le theme flatsome */
.ui-dialog {
    z-index: 1200 !important;
}

.ui-dialog .ui-button {
    min-height: 0;
}

.pbm-dash-form select,
#pbm-Row-head select,
.pbm-mini-dash-form select {
    -webkit-appearance: auto;
    -moz-appearance: auto;
    background: none;
    border-radius: 5px;
    display: initial;
    margin-bottom: 0;
    padding-top: 5px;
    padding-bottom: 5px;
    height: auto;
    width: auto;
}

.pbm-dash-form input[type="search"],
#pbm-Row-head input[type="search"],
.pbm-mini-dash-form input[type="search"] {
    margin-bottom: 0;
    height: auto;
    width: auto;
}

.pbm-dash-form #Select-action {
    margin-right: 5px;
}

/* DASHBOARD */
.pbm-Dashboard {
    background-color: #fff;
    border-radius: 10px;
    padding: 20px;
}

.pbm-dash-form {
    background-color: #fff;
    border: 1px solid #ddd;
    border-radius: 10px;
    box-shadow: 0 30px 40px 0 rgba(0, 0, 0, .2);
    padding: 15px;
}

.pbm-dash-form .pbm-action-row {
    padding: 0 10px;
}

/* Dashboard buttons (DataTable) */
.pbm-Dashboard-btn {
    background: none;
    border: 1px solid gray;
    border-radius: 5px;
    height: 24px;
    margin-right: 10px;
    margin-bottom: 0;
    min-height: 0;
    padding: 0;
    width: 24px;
    background-position: center center;
    background-size: contain;
    background-repeat: no-repeat;
}

.pbm-Dashboard-btn--edit {
    background-image: url("../images/edit.png");
}

.pbm-Dashboard-btn--delete {
    background-image: url("../images/delete.png");
}

.pbm-Dashboard-btn--deny {
    background-image: url("../images/cancel.png");
}

.pbm-Dashboard-btn--unlink {
    background-image: url("../images/unlink.png");
}

.pbm-Dashboard-btn--validate {
    background-image: url("../images/validate.png");
}

.pbm-Dashboard-btn--email {
    background-image: url("../images/email.png");
}

.pbm-Dashboard-btn--duplicate {
    background-image: url("../images/duplicate.png");
}

/* Admin buttons */
.pbm-Admin-btn {
    border-radius: 50px;
    color: #fff;
    font-weight: bold;
    font-size: 15px;
    /*padding: 10px 15px;*/
    margin-bottom: 0;
}

.pbm-Admin-btn--primary {
    background-color: var(--pbm-primary-admin-color);
}

.pbm-Admin-btn--primary:hover {
    background-color: var(--pbm-primary-admin-color-hover);
    color: #fff;
}

.pbm-Admin-btn--cancel {
    background-color: var(--pbm-secondary-admin-color);
}

.pbm-Admin-btn--cancel:hover {
    background-color: var(--pbm-secondary-admin-color-hover);
}

/* State style */
.pbm-State--valid {
    color: #32cd32;
}

.pbm-State--waiting {
    color: mediumblue;
}

.pbm-State--declined {
    color: red;
}

.pbm-noClose .ui-dialog-titlebar-close {
    display: none;
}

/* Dashboard menu */
.pbm-Admin-menu {
    margin-bottom: 15px;
}

/* The dropdown container */
.pbm-Dropdown {
    float: left;
    overflow: hidden;
}

/* Dropdown button */
.pbm-Dropdown .pbm-DropBtn {
    font-size: 18px;
    border: 1px solid gray;
    outline: none;
    color: #3a3a3a;
    font-weight: bold;
    padding: 5px 15px;
    background-color: #fff;
    border-radius: 5px;
    font-family: inherit;
    /* Important for vertical align on mobile phones */
    margin: 0;
    /* Important for vertical align on mobile phones */
    text-transform: initial;
}

.pbm-Dropdown .pbm-DropBtn i {
    margin-top: 10px;
    font-size: 25px;
}

/* Dropdown content (hidden by default) */
.pbm-menu-items {
    background-color: #f9f9f9;
    border-radius: 5px;
    box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
    display: none;
    list-style: none;
    margin-left: 0;
    min-width: 195px;
    position: absolute;
    z-index: 10;
}

.pbm-menu-items li {
    margin-left: 0 !important;
    margin-bottom: 0;
}

/* Links inside the dropdown */
.pbm-menu-items a {
    float: none;
    color: black;
    font-size: 15px;
    padding: 12px 16px;
    text-decoration: none !important;
    display: block;
    text-align: left;
}

.pbm-Current-item {
    font-weight: bold;
}

/* Add a grey background color to dropdown links on hover */
.pbm-menu-items a:hover {
    background-color: #ddd;
}

/* Show the dropdown menu on hover */
.pbm-Dropdown:hover .pbm-menu-items {
    display: block;
}

.pbm-menu-items .pbm-menu-submenu {
    background-color: #f9f9f9;
    border-radius: 5px;
    box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
    display: none;
    left: 100%;
    list-style: none;
    margin-left: 0;
    min-width: 160px;
    position: absolute;
    top: 0;
    z-index: 10;
}

.pbm-menu-item {
    position: relative;
}

.pbm-menu-item:hover .pbm-menu-submenu {
    display: block;
}

/* File Management */
#Div-file {
    display: flex;
    align-items: center;
}

#filesList .file-Block {
    border-radius: 10px;
    background-color: rgba(144, 163, 203, 0.2);
    margin: 5px;
    color: initial;
    display: inline-flex;
    align-items: center;
}

#filesList .file-Block>span.name {
    padding-right: 10px;
    width: max-content;
    display: inline-flex;
}

#filesList .file-delete {
    display: flex;
    width: 24px;
    color: initial;
    background-color: #6eb4ff00;
    font-size: large;
    justify-content: center;
    margin-right: 3px;
    cursor: pointer;
}

#filesList .file-delete:hover {
    background-color: rgba(144, 163, 203, 0.2);
    border-radius: 10px;
}

#filesList .file-delete>span {
    transform: rotate(45deg);
}

/* --- PUBLIC PART --- */

/* Buttons */
.pbm-Btn {
    border-radius: 50px !important;
    font-weight: bold;
    padding: 10px 15px;
}

.pbm-Btn--primary {
    background-color: var(--pbm-primary-color);
}

.pbm-Btn--primary:hover {
    background-color: var(--pbm-primary-color-hover);
}

.pbm-Btn--logout {
    /*background-color: var(--pbm-third-color);
    color: #FFF;
    text-decoration: none !important;*/
    margin-bottom: 0 !important;
}

/*.pbm-Btn--logout:hover {
    background-color: var(--pbm-third-color-hover);
}*/

.pbm-Btn-link {
    border-radius: 5px;
    font-weight: bold;
    padding: 10px 15px;
    text-decoration: none !important;
    cursor: pointer;
}

.pbm-Btn-link--primary {
    background-color: var(--pbm-primary-color);
    color: #fff;
}

.pbm-Btn-link--primary:hover {
    background-color: var(--pbm-primary-color-hover);
    color: #fff;
}

.pbm-Btn-link--secondary {
    background-color: var(--pbm-secondary-color);
    color: #fff;
}

.pbm-Btn-link--secondary:hover {
    background-color: var(--pbm-secondary-color-hover);
    color: #fff;
}