:root {
    --front-text: black;
    --front-text-white: white;
    --front-overlay-text: white;
    --front-title: #333333;
    --front-anchor: #1B1B1B;
    --front-anchor-highlight: #000;
    --front-error-text: #F00;

    --front-shadow: rgba(0, 0 , 0 ,0.3);
    --front-separator: rgba(0 ,0 ,0 , 0.15);

    --front-background: #f9f9f9;
    --front-background-black: black;
    --front-transparent-background: transparent;
    --front-dropdown-shadow: #CCC;
    --front-widget-background: #FFF;
    --front-navbar-background: #CCC;
    --front-background-overlay: rgba(0, 0 , 0 ,0.7);
    --front-background-youtube: #ff0000;
    --front-card-background: linear-gradient(to right, rgba(0,0,0,0), white, white);
    --front-card-footer-background: linear-gradient(rgba(255, 255, 255, 0), white);
}

body {
    color: var(--front-text);
    background-color: var(--front-background);
    font-size: 16px;
}

.bg_youtube {
    background-color: var(--front-background-youtube);
}

.widget {
    background-color: var(--front-widget-background);
    box-shadow: 1px 1px 5px var(--front-shadow);
}

#site_web_wrapper {
    background-color: var(--front-background);
}

:not(.badge) > [class^="fa"][class*="doc_types"] {
    font-size: 3em;
}

.card-title {
    font-size: 1.25rem;
}

.card-img-overlay.record_no_thumbnail {
    position: relative;
}

.card-img-overlay:not(.record_no_thumbnail) {
    background-color: var(--front-background-overlay);
    opacity: 0;
    transition: all 0.4s;
}

.card-img-overlay:hover {
    opacity: 1;
}

.img_as_background {
    position: relative;
    width: 100%;
}

div:hover > .img_as_background {
    filter: blur(5px);
}

[class^="fa"].ico_xl {
    display: block;
    font-size: 4em;
}

.card-img-overlay:not(.record_no_thumbnail) a:not(.badge),
.card-img-overlay:not(.record_no_thumbnail) a:hover:not(.badge),
.card-img-overlay:not(.record_no_thumbnail) a:visited:not(.badge) {
    color: var(--front-overlay-text);
}

.card-img-overlay a:not(.badge),
.card-img-overlay a:hover:not(.badge),
.card-img-overlay a:visited:not(.badge) {
    display: block;
    height: 100%;
}

.card-img-overlay a > div {
    display: grid !important;
    height: 100%;
}

.card-link img:first-child,
i:first-child,
.widget.rech_simple .dropdown-menu i:first-child,
.widget.rech_simple .criteres_recherche i:first-child,
.card-link:not(:last-child),
.card-footer .card-link + label,
.badge,
p > i {
    margin-right: 0.5em;
    vertical-align: middle;
}

.img-thumbnail > img:first-child,
.card-img-top > img.card-img,
.card > a.card-link,
.card_with_overlay > a.card-link,
.img_as_background > img:only-child,
i:only-child,
i:last-child {
    margin-right: 0;
}

.previous > i:first-child,
.next > i:first-child,
.card-columns .card-footer a,
.widget.rech_simple i:first-child,
.nav-link i:first-child,
.carousel-control-prev i:first-child,
.carousel-control-next i:first-child {
    margin-right: 0;
}

.card-body.behind_image {
    position: absolute;
    top: 0;
    max-height: 100%;
    overflow-y: hidden;
    width: 100%;
}

.no_overflow {
    overflow: hidden;
}

.overflow_visible {
    overflow: visible;
}

.h_auto {
    height: auto;
}

:hover > .card-body.behind_image {
    opacity: 0;
}

.min_h_500 {
    min-height: 500px;
}

.multiple_carousel .img_as_background {
    height: auto;
}

img {
    text-align: center;
}

img:before {
    padding: 1em;
    display: block;
}

img:after {
    display: block;
    font-size: 7em;
    font-family: "Font Awesome 5 Free";
    content: "\f03e";
}

pre:hover {
    cursor: text;
}

button[onclick]:hover {
    cursor: pointer;
}

pre {
    padding: 1rem 1em;
    border-left: 5px solid;
    margin: 0 1em;
    border-right: 5px solid;
}

.position_absolute {
    position: absolute;
    top: 0;
    left: 0;
}

[class*="position_fixed"] {
    position: fixed !important;
    width: auto;
    z-index: 10;    
}

[class*="position_fixed_top"] {
    top: 0 !important;
}

[class*="position_fixed_bottom"] {
    bottom: 0 !important;
}

[class*="position_fixed_mid"] {
    top: 45% !important;
}

[class*="position_fixed"][class*="_left"] {
    left: 0 !important;
}

[class*="position_fixed"][class*="_right"] {
    right: 0 !important;
}

[class*="position_fixed"][class*="_left"] .configuration_module {
    left: 100% !important;
    right: auto !important;
}

[class*="position_fixed"][class*="_right"] .configuration_module {
    right: 100% !important;
    left: auto !important;
}

[class*="position_fixed_top"] .configuration_module {
    top: 0 !important;
    bottom: auto !important;
}

[class*="position_fixed_bottom"] .configuration_module {
    bottom: 0 !important;
    top: auto !important;
}

[class*="position_fixed"] .configuration_module {
    height: auto !important;
}


.position_fixed_bottom,
.position_fixed_top {
    left: 0 !important;
    right: 0 !important;
    margin: auto !important;
}

.breadcrumb {
    margin: 0;
}

.no_background .breadcrumb,
.no_background {
    background: none !important;
}

.transparent_background .breadcrumb,
.transparent_background {
    background: var(--front-transparent-background) !important;
}

.limit_badges_10 .badge-group .badge:nth-child(n + 11) {
    display: none;
}

.limit_badges_5 .badge-group .badge:nth-child(n + 6) {
    display: none;
}

.limit_badges_3 .badge-group .badge:nth-child(n + 4) {
    display: none;
}

.no_border,
.no_border * {
    border: 0px solid rgba(0,0,0,0) !important;
}

.no_border_radius,
.no_border_radius * {
    border-radius: 0 !important;
}

.no_shadow {
    box-shadow: none !important;
}

.container-fluid,
.col {
    padding: 0;
    margin: 0;
}

.z_index_1 {
    z-index: 1 !important;
}

.z_index_2 {
    z-index: 2 !important;
}

.z_index_3 {
    z-index: 3 !important;
}

.card {
    white-space: normal;
    word-wrap: normal;
}

.card .card .card,
.card .card .card .card-body {
    padding-left: 0;
    padding-right: 0;
    margin-left: 0;
    margin-right: 0;
}

.card-text {
    margin-top: 1rem;
}

.card-link + .card-link {
    margin-left: 0;
}

[class*="carousel-control"],
.carousel-indicators li {
    transition: all 0.4s;
}

[class*="carousel-control"] {
    position: absolute;
    top: 50%;
    bottom: 50%;
    width: auto;
}

.carousel-indicators li {
    height: 7px;
}

.carousel-indicators li:hover {
    opacity: 1;
}

[id*='resources'] .list-group-item {
    padding-left: 0;
    padding-right: 0;
}

[id*='resources'] > :not(.ajaxified) > div > .list-group {
    max-height: 300px;
    overflow: auto;
    margin-top: 0.75rem;
}

.record_items [id*='resources'] .list-group {
    max-height: unset;
    overflow: unset;
}

[id*='resources'] .list-group-item {
    padding-top: 0;
}

[id*='resources'] .list-group-item .card-title,
[id*='resources'] .list-group-item .card-text {
    margin: 0;
}

[id*='resources'] .list-group-item .text-muted {
    font-size: 75%;
}

[id*='resources'] .list-group-item .card-title,
[id*='resources'] .list-group-item .card-text,
[id*='resources'] .list-group-item .card-body,
[id*='resources'] .list-group-item .card-footer {
    padding-bottom: 1px;
    padding-top: 1px;
}

textarea {
    width: 100%;
}

label[data-name=note] ~ div {
    display: flex;
    flex-direction: row-reverse;
    overflow: hidden;
}

input[name="note"] {
    display: none;
}

label[data-name=note] ~ div label.multi-element-label {
    color: var(--orange);
    display: inline-block;
    flex: auto;
    font-size: 1.25em;
    font-weight: 200;
    margin: 0;
    padding: 0 3px 0 0;
    transition: all .2s;
}

label[data-name=note] ~ div label.multi-element-label:hover {
    cursor: pointer;
    color: var(--teal);
    font-weight: 900;
}

label[data-name=note] ~ div label.multi-element-label:hover ~ label {
    font-weight: 900;
    color: var(--teal);
}

label[data-name=note] ~ div label.multi-element-label:before {
    content: '\f005';
    font-family: "Font Awesome 5 Free";
}

label[data-name=note] ~ div label.multi-element-label.checked,
label[data-name=note] ~ div label.multi-element-label.checked ~ label {
    font-weight: 900;
}

label[data-name=note] ~ div label.multi-element-label + br {
    display: none;
}

.card .boutons .bouton.back {
    display: none;
}

.rating-ico:first-child,
.rating-ico {
    color: var(--orange);
    margin-right: 1px;
}

.badge .rating-ico:first-child,
.badge .rating-ico {
    color: inherit;
}

.jumbotron .nav-link {
    font-size: 1.5em;
}

.jumbotron .nav-link div {
    font-size: 9px;
}

.modal_image {
    position: fixed;
    width: 100%;
    height: 100%;
    padding: 5%;
    top: 0;
    left: 0;
    background-color: var(--front-background-modale) !important;
    z-index: 20;
    text-align: center;
    flex: 100%;
    max-width: 100%;
    max-height: 100%;
}

.modal_image img,
.modal_image div {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain;
}

.blockquote-footer {
    color: inherit;
}

.biography_scroll {
    position: relative;
    max-height: 500px;
    overflow-y: scroll;
    word-break: break-word;
}

[class*='text-'] .btn-link {
    color: inherit;
}

.badge.record_facets {
    text-transform: lowercase;
}

.facets li {
    text-transform: capitalize;
}

main.col,
aside.col,
header.col {
    min-height: 1px;
    min-width: 1px;
}

.selector_widget label {
    white-space: nowrap;
}

a.leaflet-disabled,
.disabled {
    cursor: default;
    pointer-events: none;
}

.hidde_content {
    display: none !important;
}

.dropdown-menu.search {
    max-height: 300px;
}

.opac .bouton.back {
    display: none;
}

.card-img-top > .card-columns,
.img-thumbnail > .card-columns {
    column-gap: 2%;
    column-count: 3;
}

.card-img-top > .card-columns .card-img-overlay,
.img-thumbnail > .card-columns .card-img-overlay {
    padding: 0;
}

.card-img-top > .card-columns .card-img-overlay div,
.img-thumbnail > .card-columns .card-img-overlay div {
    display: none;
    visibility: hidden;
}

.card .card-columns .card {
    margin:0 0 0 0.05rem;
}

.h_1em {
    height: 1em;
}

.fs_1em {
    font-size: 1em;
}

.img-thumbnail .card-columns .card-img-overlay h3,
.img-thumbnail .card-columns .card-img-overlay h4,
.img-thumbnail .card-columns .card-img-overlay {
    font-size: 0.875em;
    padding: 0;
}

.w-s_nowrap {
    white-space: nowrap;
}

.w-s_normal {
    white-space: normal;
}

dl.row {
    margin: 0;
}

.card-img-overlay .card-link > * {
    display: inline-block;
    white-space: normal;
}

.rating-score {
    display: inline-flex;
}


.button_text_d_none > div > a > .button_text,
.button_text_d_none > a > .button_text,
.button_text_d_none > .dropdown > a > .button_text ,
.button_text_d_none > .dropdown > button > .button_text {
    display: none !important;
}


.button_text_d_none > input[type="checkbox"] + label,
.button_text_d_none button > span {
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
    visibility: collapse;
}


.card-footer > a.card-link:first-child:last-child .button_text,
.collection_action:first-child:last-child .button_text,
.card_action:first-child:last-child .button_text {
    display: inline !important;
}

.dropdown-menu .button_text {
    display: inline-block !important;
}

.search_tools .nav.nav-fill > li.nav-item:first-child {
    text-align: left;
}

.search_tools .nav.nav-fill > li.nav-item:last-child {
    text-align: right;
}

.dropdown-menu label {
    flex: 100%;
    max-width: 100%;
}

.user_ico {
    height: 1.5em;
}

.badge-group .badge .text-truncate {
    max-width: 150px;
}

.badge-group .badge.no_truncate .text-truncate,
.no_truncate,
.no_truncate * {
    max-width: none;
    white-space: break-spaces;
}

.badge-group .badge.no_truncate .text-truncate {
    white-space: normal;
}

.no_badges .badge-group {
    display: none !important;
}


.dropleft.dropup .dropdown-menu {
    top: auto !important;
    bottom: -0.5em !important;
    right: 105% !important;
    left: auto !important;
    transform: none !important;
}

.card-footer .dropleft.dropup .dropdown-menu {
    bottom: 1.5em !important;
    right: 0 !important;
}

.jumbotron .dropleft.dropup .dropdown-menu {
    bottom: auto !important;
    top: 100% !important;
    right: 0 !important;
}

.card-deck {
    margin: 0;
}

.card_grid > .card .badge_group,
.card-deck > .card .badge_group,
.card-columns > .card .badge_group {
    overflow: hidden;
}

.img-thumbnail {
    overflow: hidden;
    text-align: center;
}

.black_and_white,
.black_and_white *:not(img),
.men_in_black > .widget-header,
.men_in_black > .widget-header *:not(img),
.men_in_black > .widget-footer,
.men_in_black > .widget-footer *:not(img) {
    background-color: var(--front-background-black);
    color: var(--front-text-white);
}

.black_and_white .navbar-toggler,
.black_and_white .navbar-toggler-icon,
.men_in_black .navbar-toggler,
.men_in_black .navbar-toggler-icon {
    background-color: var(--front-background);
}

.nav-link:hover,
.navbar-nav .show > .nav-link {
    opacity:0.8;
}

.dropdown-toggle {
    padding-left: 0.8em;
    padding-right: 0.8em;
    margin-left: 0.5em;
    margin-right: 0.5em;
}

.navbar-brand {
    display: none;
}

.main_search input {
    font-size: 1.2em;
}

.credits .bokeh_community {
    font-size: 0.8em;
}

.text_small {
    font-size: 0.8em;
}

.text_no_transform {
    text-transform: none;
}

.action_rendering .facette_titre .list-group-item,
.card {
    background-color: var(--front-transparent-background);
}

.widget > .card-footer,
.card-footer {
    padding: 5px;
    background: var(--front-card-footer-background);
}

.action_rendering .facette_titre,
.action_rendering .list-group-item > .card {
    background: var(--front-card-background);
}

.white_widget,
.white_widget *:not(img) {
    background-color: var(--front-widget-background);
    color: var(--front-text);
}

.masonry {
    display: grid;
    grid-gap: 1em;
    grid-template-columns: repeat( auto-fill, minmax(200px, 1fr) );
    grid-auto-rows: 40px;
}

.masonry_grid .masonry-brick {
    grid-row-end: unset !important;
}

.items_wall .masonry_grid .masonry-brick,  
.search_records_col .masonry_grid .masonry-brick { 
    margin-bottom: 50px;
}

.masonry-brick {
    visibility: hidden;
    overflow: hidden;
}

.card-img-top > .masonry,
.img-thumbnail > .masonry {
    grid-gap: 3px;
    grid-template-columns: repeat(3, 30%);
}

.card-img-top > .masonry .card-img-overlay div,
.img-thumbnail > .masonry .card-img-overlay div {
    display: none;
    visibility: hidden;
}

.card_grid {
    display: grid;
    gap: 15px 10px;
    grid-template-columns: repeat(2, auto);
}

.masonry_grid {
    gap: 0 10px;
    grid-template-rows: repeat(10000, auto);
}

@media (min-width: 576px) {
    .auto_col .card-columns {
	-webkit-column-count: 2;
	-moz-column-count: 2;
	column-count: 2;
    }

    .card_grid {
	grid-template-columns: repeat(2, auto);
    }
}

@media (min-width: 778px) {
    .auto_col .card-columns {
	-webkit-column-count: 3;
	-moz-column-count: 3;
	column-count: 3;
    }

    .card_grid {
	grid-template-columns: repeat(3, auto);
    }
}

@media (min-width: 992px) {
    .auto_col .card-columns {
	-webkit-column-count: 4;
	-moz-column-count: 4;
	column-count: 4;
    }

    .card_grid {
	grid-template-columns: repeat(4, auto);
    }
}

@media (min-width: 1200px) {
    .auto_col .card-columns {
	-webkit-column-count: 5;
	-moz-column-count: 5;
	column-count: 5;
    }

    .card_grid {
	grid-template-columns: repeat(5, auto);
    }
}

.navbar-nav.flex-column .dropdown-menu {
    position: initial;
}

.ui-autocomplete,
.dropdown-menu.show {
    box-shadow: var(--front-dropdown-shadow) 0px 0px 5px; 
}

.menu_admin_front a {
    position: relative;
}

.menu_admin_front a img {
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
}

.card-img-overlay .text-left {
    text-align: center !important;
}

.menu_admin_front a[class*="deactivate"][style*="inline"] {
    display: block !important;
}

.description dd a + a {
    display: block;
}

.search_extensions {
    display: flex;
    flex-direction: column;
}

form.form .multi-element-label {
    margin-left: 2rem;
}

form.form .dropdown-menu input[type="checkbox"] {
    margin-left: -1.25rem;
}

input[id^="select_record"] {
    position: unset;
    margin-left: 0;
    cursor: pointer;
}

input[id^="select_record"] + * {
    cursor: pointer;
}

.dropdown-menu select {
    min-width: 1px;
}

.z_index_11 {
    z-index: 11;
}

.menu_buttons .button_text {
    display: none !important;
}

.card-img-overlay .add_to_selection_link::before {
    display: block;
    position: absolute;
    font-size: 2em;
    font-weight: bold;
    font-family: "Font Awesome 5 Free";
    content: "\f00c";
    width: 100%;
    bottom: 0;
    height: 1em;
    text-align: right;
}

.card.added_to_selection,
.action_rendering .list-group-item >.card.added_to_selection {
    background-color: var(--success);
}

.loading_icon {
    border-radius: 50% !important;
    border: .25em solid currentColor !important;
    border-right-color: transparent !important;
}

/* kiosks embedded in articles */
.card_article .boite.kiosque .masonry {
  grid-auto-rows: auto;
}

.card_article .boite.kiosque  .masonry-brick {
  visibility: inherit;
}

.ui-dialog.ui-corner-all.ui-widget.ui-widget-content.ui-front.ui-draggable.ui-resizable .ui-dialog-titlebar-close::before {
   content: "X";
   position: relative;
   top: -.25em;
}

address {
    margin-bottom: 0;
}

.reservation_pickup input[type=radio] {
    display: inline-block;
    width: unset;
    height: unset;
    margin-right: 5px;
    vertical-align: middle;
}

.ajax_content {
    position: relative;
}

.loading_data {
    min-height: 100px;
}

.loading_data:before {
    font-family: "Font Awesome 5 Free";
    content: '\f110';
    font-weight: 900;
    font-size: 2em;
    animation: fa-spin 2s linear infinite;
    position: absolute;
    top: 20px;
    left: 50%;
    z-index: 11;
    color: var(--front-text-white);
}

.loading_data:after {
    content: ' ';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--front-background-overlay);
    transition: all 0.4s;
    z-index: 10;
    text-align: center;
    font-size: 16px;
}

a.audio_track {
    cursor: pointer;
}

a.audio_track.playing .fa-music::before,
a.audio_track:hover .fa-music::before {
    content: "\f144";
}

.audio_tracks .list-group-item {
    padding: 0;
}

.collection_action > .card-link {
    width: 100%;
}

.record_no_thumbnail {
    overflow: hidden;
}

.jumbotron_thumbnail .position-absolute {
    z-index: 1;
}

.img-thumbnail {
    display: block;
}

.text_decoration_underline {
    text-decoration: underline;
}

span.more_description_data_author:before {
    content: '-';
    margin: 0 5px;
}

.boite.admin_tools a[href*="/admin/auth/logout"].menu_admin_front_anchor img {
    filter: invert(1);
}

.tag_liste_results {
    position: absolute;
    z-index: 10;
    box-shadow: 5px 1px 1px var(--front-dropdown-shadow);
    border: 1px solid var(--front-separator);
    padding: 5px;
    border: 1px solid rgba(0,0,0,0.5);
}

#holds_view.hasDatepicker .day-without-hold span {
    background-color: var(--green);
    color: var(--white);
}

#holds_view.hasDatepicker .day-with-hold span {
    background-color: var(--orange);
    pointer-events: none;
    color: var(--white);
}

form#reservation-calendar + ul.errors {
    color: var(--red);
}

.accessibility.btn {
    white-space: nowrap;
}

.accessibility.btn img {
    height: 64px;
}

button.more_action {
    background: none;
    box-shadow: none;
    border: none;
}

.cardify_horizontal_actions button.more_action,
.view_more_record_actions {
    text-align: left;
    padding: 0;
}

button.more_action,
.more_action,
button.view_more_record_actions,
.view_more_record_actions {
    font-size: unset;
    line-height: unset;
    border: 0;
}

.search_records_col .masonry button span {
    display:none!important;
}

[class*="wrapper_zendafi_form_hiddentri"] {
    display: none;
}

.card_action > label {
    line-height: inherit;
    padding: 0;
    font-size: inherit;
    white-space: nowrap;
}

.card-footer label .label_text {
    display: none;    
}

.card-footer label {
    flex: unset;
    height: unset;
    margin: inherit;
    padding: inherit;
    padding-left: unset;
    padding-bottom: unset;
    width: unset;
}

.card-footer label input {
    margin: 0 !important;
}

.card-footer button.more_action {
    padding: 0;
}

#opac-dialog > p[class*="model_description_"] {
    text-align: justify;
    margin: 2em 4em 3em 2em;
    line-height: 1.8em;
}

.navbar_toggler_text {
    display: none;
}


#items_shelf .card_with_overlay {
    height: 80%;
    margin: auto;
}

#items_shelf .card_with_overlay.shelf_current_item {
    height: 90%;
    box-shadow: 0px 0px 20px 1px --front-shadow;
}


.result_pager .dropdown {
    display: inline;
}


.multi_input_table {
    width: 100%;
}

.card_description p {
    margin-bottom: 0;
}

i.watch {
    color: green;
    position: absolute;
    top: 6px;
}

i.notwatch {
    color: #AAA;
    position: absolute;
    top: 6px;
}

div.form_row_as_table:nth-of-type(2n+1) {
  background-color: rgba(0,0,0,.05);
}

div.form_row_as_table:hover {
    color: #212529;
    background-color: rgba(0,0,0,.075);
}
