/*
Theme Name: New Library
Theme URI:
Author: Andrea Ricciotti
Author URI:
Description: Library Theme with Icomoon and Bootstrap 5.2
Version: 2.1.1
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags: one-column, two-columns, right-sidebar, custom-header, custom-menu, editor-style, featured-images, sticky-post, translation-ready
Text Domain: nlib

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.
*/

/* ! Root */
:root{
  --bs-primary: #284E7C;
  --bs-link-color: rgba(50,99,154,.8);
  --bs-primary-rgb: 40,78,124;
  --bs-link-hover-color: rgba(50,99,154,1);

  /* --bs-link-hover-color: #25456C; */
  --primary-light: #E2EBF6;
  --max-height-table: calc(100vh - 450px);
}

@media (max-width: 991px) {
  :root {
    --max-height-table: none;
  }
}

/* ! Edit Bootstrap styles */

.alert-info {
  --bs-alert-color: #1d3757; /*#1d3757;*/
  --bs-alert-bg: #e9ecef; /*#d5e8ff;*/
  --bs-alert-border-color: #9fbada;
}

.btn-outline-primary {
  --bs-btn-color: var(--bs-primary);
  --bs-btn-border-color: var(--bs-primary);
  --bs-btn-hover-bg: var(--bs-primary);
  --bs-btn-hover-border-color: var(--bs-primary);
  --bs-btn-active-bg: var(--bs-primary);
  --bs-btn-active-border-color: var(--bs-primary);
}

.btn-primary {
  --bs-btn-bg: var(--bs-primary);
  --bs-btn-border-color: var(--bs-primary);
  --bs-btn-hover-bg: var(--bs-link-hover-color);
  --bs-btn-disabled-bg: var(--bs-primary);
  --bs-btn-disabled-border-color: var(--bs-primary);
  --bs-btn-hover-border-color: var(--bs-link-hover-color);
  --bs-btn-active-bg: var(--bs-link-hover-color);
  --bs-btn-active-border-color: var(--bs-link-hover-color);
}

.nav-pills {
  --bs-nav-pills-link-active-color: var(--bs-dark);
  --bs-nav-pills-link-active-bg: var(--bs-warning);
}
.nav-pills .nav-link {
  color: rgba(33, 37, 41, .8);
}
.nav-pills .nav-link:not(.active,:disabled):hover {
  color: rgba(33, 37, 41, 1);
}

.table-responsive::-webkit-scrollbar{
    display: none;
  }


td {line-height: 1.2;}

.text-bg-primary {background-color:var(--bs-primary)!important;}
.btn-outline-dark {box-shadow: 0px 0px 2px #000;}
.btn-outline-light {box-shadow: 0px 0px 2px #fff;}
.btn::first-letter {text-transform: uppercase;}

.modal-header {border-bottom: none;}
.modal-footer {border-top: none;}
.modal {
  --bs-modal-padding: 2rem;
}
.badge {font-weight: normal;}
.toast {bottom:auto;}

@media (max-width:767px){
	h1, .cta-title {font-size:40px;}
}

/* ! General */
body {background-color: #f3f3f3; font-family: 'Open Sans', sans-serif; }
body::-webkit-scrollbar{
    display: none!important;
  }
/* .admin-bar .navbar{top:32px;} */

a:not(.btn, .wp-block-button__link, .dropdown-item):hover {text-decoration: underline;}

.main-content { min-height: calc(100vh - 380px); color:#666; }
body:not(.home) .main-content :is(h1, h2, h3, h4, h5, h6) {font-family: 'Montserrat'; color: var(--bs-primary); font-weight: bold; margin-block-start: 1.33em;}

/* ! Header */
/* ! - Navbar */
.navbar { box-shadow: 0px 0px 20px -10px #333; }

.navbar-light .navbar-nav .nav-link {
  color: rgba(0,0,0,0.8);
}
.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus {color: rgba(0,0,0,1);}
.navbar-brand {height:60px;}
.navbar-brand img {height: 100%;}
.dropdown-item.active{background-color: none;}
.dropdown-item:hover{background-color:#ffc104;}
.dropdown-item.active, .dropdown-item:active {color:#000; background-color: #f1f1f1;}

#primary-navbar .nav-link{font-size: 16px; text-transform: uppercase;padding:1rem;}

.dropdown:hover>.dropdown-menu { display: block; }

.dropdown-menu {margin-top: 0;}

@media (max-width:991px){
  .navbar {max-height: 100vh; overflow: auto;}
  .dropdown:hover>.dropdown-menu {display: none;}
  .dropdown:hover>.dropdown-menu.show {display: block;}
  .dropdown-menu {border:none;padding-left: 20px;}
  .dropdown-item{white-space:normal; padding: 15px;}
  .dropdown-item.active, .dropdown-item:active {background-color: #e1e1e1;}
  /* .home .bg-primary{background: #333!important;} */
}

.nav-search__open, .icon-ra { color:rgba(0,0,0,0.8)!important; background: transparent; border:none;font-size: 26px; margin-right: 10px; cursor: pointer;}
.nav-search__open:hover, .icon-ra:hover {color:rgba(0,0,0,1)!important;}
.nav-search__open:active, .nav-search__open:focus {outline: none;}

/* ! - Nav-search */
.nav-search__open {cursor: pointer;}
.nav-search{position:fixed;visibility: hidden;z-index: 999;top: 76px;left: 0;width: 100%;height: 0;background-color: rgba(0,0,0,.8);backdrop-filter:blur(5px);transition: all .5s cubic-bezier(.215, .61, .355, 1);opacity: 0;}
.nav-search.nav-search--open {visibility: visible;height: 50vh;opacity: 1;}
.nav-search__form{position: relative;height: auto;width: 60%;font-family: 'Montserrat';font-size: 50px;}
.nav-search__form input[type=text]{width: calc(100% - 80px); border:none; border-radius: 0!important;background: transparent!important;color: #fff;}

.nav-search__form input[type=text]:focus,
.nav-search__form button {border: none;outline: none;appearance: none;}

.nav-search__submit{position: absolute; border: none; background: transparent;color: #fff;line-height: 0;opacity: 0;width: 0;height: 80px;transition: all .5s cubic-bezier(.215, .61, .355, 1);cursor: pointer;}
.nav-search__form input[type=text]:not(:placeholder-shown) + .nav-search__submit{opacity: 1;width: 80px;}
.nav-menu{width: 100%;background-color: #fff;position: relative;display: -webkit-flex; display: -ms-flex; display: flex; justify-content: center;border-bottom: 1px solid #ddd}

@media (max-width: 991px) {
  .nav-search {position: static;background-color: transparent; border: 1px solid #333; }
  .nav-search.nav-search--open {height: 60px;margin: 20px 0;}
  .nav-search__open .icon-search, .icon-ra {font-size: 1rem;}
  .nav-search__form input[type=text] {width: 100%; color: #000;}
}

@media (max-width: 767px) {
  .menu {max-height: 100vh; max-height: -webkit-fill-available; }
  .nav-search__open {display: none;}
  .nav-search {top: auto; bottom: 0;}
  .menu--open .nav-search {visibility: visible; opacity: 1;}
  .nav-search__form {width: 84%; font-size: 25px;}
  .nav-search__form input[type=text] {width: calc(100% - 40px); font-size: 25px;}
  .nav-search__submit {height: 40px;padding:0;}
  .nav-search__form input[type=text]:not(:placeholder-shown) + .nav-search__submit{width: 40px;}
}

/* ! Sidebar */
.sidebar {
  position: -webkit-sticky;
  position: sticky;
  top: 80px;
}
.sidebar-title {border-radius: 30px;}
.sidebar-title p {display: inline-block; background-color: #f3f3f3; padding:15px 20px 15px 30px; margin-bottom: -30px; color: #999; border-radius: 100px 100px 0px 100px;font-weight: 300;}
.sidebar .page_item {padding: 10px; background-color: #fff; list-style: none; border-left: medium solid transparent;}
.sidebar .page_item a {color:#666; text-decoration: none; display: block;}
.sidebar .page_item:hover{border-left: medium solid #ffc104;}
.sidebar .current_page_item {background-color: #ffc104;}
.sidebar .current_page_item a {color: #333;}
.sidebar .menu ul {padding:0;}

/* ! Carousel */
.carousel-title h1{font-family: 'Montserrat', sans-serif; position: absolute; top:100px; margin-right:30%;font-size: 7vw;font-weight: bold; line-height: 6vw; text-shadow: 1px 1px 4px #333; opacity: 0.8; font-stretch: extra-condensed; z-index: 100;}
.carousel-caption {font-weight: 300;font-size: 30px; text-align: left; border-left: 10px solid #edce4d; line-height: 30px; padding:0 10px 0 20px; bottom:10%; z-index: 100;}
.carousel-hero.carousel,
.carousel-hero .carousel-inner,
.carousel-hero .carousel-item{height: calc(100vh - 216px);}
.carousel-title {position: relative;}
.carousel-text{max-width: 700px;}
.carousel-indicators {justify-content: flex-end;}
.carousel-indicators [data-bs-target] { width: 10px; height: 10px; background-color: rgba(255,255,255,0.7); border-radius: 100%; }

@media (max-width:1199px){
  .carousel-caption {left:calc((100vw - 930px) /2)}
}

@media (max-width: 991px) {
  .carousel-caption {left:calc((100vw - 690px) /2)}

}
@media (max-width: 767px) {
  .carousel-hero.carousel,
  .carousel-hero .carousel-inner,
  .carousel-hero .carousel-item {height: calc(100vh - 70px);}
  .carousel-title h1{font-size: 40px; line-height: 40px; max-height: 200px; margin-right: 0;}
  .carousel-caption {max-width: 90%; left:calc((100vw - 510px) /2); font-size: 20px; line-height: 24px;}
}

/* ! Home */
.home-title{font-size: 40px;color:#4A4343; font-weight: bold;line-height: 42px;margin-bottom:36px;}

/* ! - Focus */
.focuses{margin-top:40px; margin-bottom:40px}
.focus {border-left: 4px solid #4A4343;margin-bottom: 20px}
.focus h3 {font-size: 24px;}
.focus h3 a{color:#333;}
.focus .text-link{font-size: 12px;color:#333;}
.focus .text-intro{font-size: 12px; margin-bottom: 5px;text-transform: uppercase;opacity: 0.5}

ul#menu-home-sidebar {padding: 0; font-size: 14px;}
ul#menu-home-sidebar li { list-style: none; border-left: medium solid transparent;padding:0 15px;}
ul#menu-home-sidebar li a {padding:15px 0; color:#000; font-weight: bold;text-decoration: none; text-transform:uppercase;display: block;transition-duration: 0.1s;}
ul#menu-home-sidebar li a:hover {color:var(--bs-link-color); padding-left:5px;transition-duration: 0.3s;}

/* ! - Card */
.in-evidenza a:hover {text-decoration: none;}
.in-evidenza .card-title{font-weight: bold; font-size:24px; line-height: 22px; }
.in-evidenza h5 {color:#ffc104; text-transform: uppercase; color:white;}
.in-evidenza p {color:#999;}

.in-evidenza-img{width: 70px; height: 70px;background: url("img/mouse.png") no-repeat center center; background-size: 50px; }
.in-evidenza-img.Iscrizione{background: url("img/iscrizione.png") no-repeat center center; background-size: 50px;}
.in-evidenza-img.Orari{background: url("img/orari.png") no-repeat center center; background-size: 50px;}
.in-evidenza:hover .in-evidenza-img{transform:translateY(-10px);  transition-duration: 0.3s; background-color: #d39e00!important;
}

.servizi-img {width: 100%; height: 100%; object-fit: cover; }

/* ! - Two Blockquote */
/* -------------------------------------------------------- */
.two-blockquote blockquote{ border-left: 10px solid #32639E; padding-left: 20px; flex-grow: 1;}
.two-blockquote blockquote strong{font-size: 40px; font-weight: bold;}
.two-blockquote blockquote:nth-last-of-type(even){ border-color: #ffc104;}

@media (max-width: 767px) {
  .two-blockquote blockquote {width: 100%;}
}

/* ! - Books */
/* -------------------------------------------------------- */
.bookmark {position:absolute; left:calc(50% - 180px); top:0px; width:120px; height:120px;}
.bookmark::after{
  content: " ";
  position: absolute;
  width: 0; height: 0; line-height: 0;
  bottom:0; right: 0px;
  border-bottom: 40px solid white;
  border-left:   60px solid transparent;
  border-right:  60px solid transparent;
}
.book {--bs-aspect-ratio: 150%; margin:10px 0; border:solid thin #999;}
.book div {width: 100%; height: 100%;}
.carousel-multi-item {height: calc(100% - 120px); display: flex; align-items: center;}
.book:hover {box-shadow: 1px 1px 4px #000;}
.carousel-control-prev-icon, .carousel-control-next-icon {background-image: none;}
.carousel-control-prev, .carousel-control-next {width: 5%;}
.carousel-control-prev {margin-left: -30px;}
.home .carousel-control-prev {margin-left: calc(50% - 50vw);}
.carousel-control-prev::after{font-family: "icomoon";font-size: 30px;content: "\e91b";transform: rotate(-180deg);position: absolute;color:#32639e;}
.carousel-control-next {margin-right: -30px;}
.home .carousel-control-next {margin-right: calc(50% - 50vW);}

.carousel-control-next::after{font-family: "icomoon";font-size: 30px;content: "\e91b";position: absolute;color:#32639e;}

@media (max-width:575px){
  .carousel-caption {left:15px;}
}

/* ! - News */
/* -------------------------------------------------------- */
.news-meta a{text-transform: uppercase;font-weight: bold;}
.news-title {font-size: 20px;}
.news-title a:hover{text-decoration: underline;;}

/* ! Widgets */
/* -------------------------------------------------------- */
.widget_search .screen-reader-text{display: block;}
.widget_search #s{width:70%;float:left;}
.widget_search #searchsubmit{width:20%;float:left;background: #fff;}

.widget_block {margin-top: 1rem!important; margin-bottom: 1rem!important;}
.widget_block ul {list-style-type: none; padding-left: 0;}
.widget_block ul a {text-decoration: none;}

/* ! Pagination */
/* -------------------------------------------------------- */
.pagination{margin-bottom:40px}
.page-numbers{display: inline-block;padding: 10px 15px;border: 1px solid #ddd;margin-right:4px;text-decoration: none;}

/* ! Footer */
/* -------------------------------------------------------- */
footer { position: relative; z-index:0; }
footer::after {
  content: "";
  background: url("img/logo/stemma_w_big.png");
  background-size: 40%;
  background-repeat: no-repeat;
  background-position: 50% 20%;
  opacity: 0.1;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  position: absolute;
  z-index: -1;
}
footer a {color: rgba(255,255,255,0.7)!important;}
footer a:hover {color: rgba(255,255,255,1)!important;}
footer p, footer h5 {font-weight: 300; font-size: 12px;}

@media (max-width:767px){
  footer {text-align: center;}
  footer::after{ background-size: 100%; }
}

/* ! - Scroll to top */
.scroll-to-top .icon-arrow-right::before {display: block; line-height: 3rem;transform: rotate(-90deg);}
.scroll-to-top {visibility: hidden; opacity: 0;position: fixed;bottom: 15px;right: 15px; width: 50px;font-size: 20px;height: 50px;border-radius: 100%;text-align: center;line-height: 45px;background-color: var(--bs-primary);cursor: pointer;transition: all .3s cubic-bezier(.215, .61, .355, 1);z-index: 999;}
.scroll-down .scroll-to-top {visibility: visible; opacity: 1;}
.scroll-to-top:hover{background-color: var(--bs-link-color);}

/* ! TABLES */
@media (min-width: 1201px) {
  th:not(.checkbox, .short), td:not(.checkbox, .short) {min-width: 140px;}
}

th.checkbox,
td.checkbox {max-width: 50px!important;vertical-align: middle;text-align: center;}
.table-sm>:not(caption)>*>* { padding: 0.5rem 0.5rem;}

.form-check-input:checked {background-color: var(--bs-primary); border-color: var(--bs-primary);}
.list-group-item { white-space: nowrap;}

::placeholder { color: rgba(40,78,124,.5)!important; opacity: 1; }
:-ms-input-placeholder { color: rgba(40,78,124,.5)!important;}
::-ms-input-placeholder { color: rgba(40,78,124,.5)!important;}
#input_search::placeholder {color: rgba(255,255,255,.3)!important;}

.read-only {position: relative;}
.read-only :is(input, select, checkbox, textarea) { pointer-events: none; position: relative;}
.read-only::before { content: "\e908";font-family: 'icomoon'; width: 20px; height: 24px; display: block; position: absolute; top: 20px; left: 5px; color: #ced4da; z-index: 10;}
.read-only.input-group::before {top: -6px;left: 10px;}

/* :not(thead)>tr:hover {background-color: var(--primary-light);cursor: pointer;} */
.table-hover :not(thead)>tr:hover {cursor: pointer; background-color: var(--primary-light);}

.change-sort {visibility: hidden; position: absolute;}
th:hover .change-sort {visibility: visible;cursor: pointer;}

/* #editForm .input-group {flex:1;justify-content: end;} */
.input-group {width: auto; align-items: center;}

/* ! - Nav-tabs */
.nav-tabs .nav-link {background-color: rgba(0,0,0,.03); border: 1px solid rgba(0,0,0,.05); color: #666;}
.nav-tabs .nav-link:hover {color:#000;}
.nav-tabs .nav-link.active {background-color: #FFF;}
.tab-content>.active {border-left: 1px solid #dee2e6; border-right: 1px solid #dee2e6; border-bottom: 1px solid #dee2e6; min-height: 480px;}


/* ! Forms */

.title-form {
  display: inline-block;
  font-weight: 300;
  position: absolute;
  top:-1px;
  padding-left: 5px;
  padding-right: 5px;
  left:10px;
  margin-bottom: 30px;
  line-height: 0.3;
}
legend {font-size: 1rem!important;width: auto;}
textarea{padding: 5px 10px; border: 1px solid #ccc}
.help-text {color: var(--bs-primary); font-weight: bold; display: block; padding-top:20px; height: 60px; line-height: 1;}

/* ! Utilities */
/* -------------------------------------------------------- */
#overlay {padding-top: 70px;}

.overlay {
    position: fixed;
    z-index: 4000;
    height: 100%;
    width: 100%;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgba(0,0,0,0.6);
}

.banner-h {height: 400px;}
@media (max-width: 767px) {
  .banner-h {height: 200px;}
}


/* ! Helpers */
.bg-primary-light {background-color:var(--primary-light);}
.text-80 {opacity: .8;}
.shadow {box-shadow: 5px 4px 20px rgb(0 0 0 / 15%) !important}

/* ! Animations */
.fade-down { transform: translateY(-100px); opacity: 0; }
body.loaded .fade-down { transform: translateY(0); opacity: 1; }

.reveal { max-height: 0; opacity: 0; overflow: hidden;}
body.loaded .reveal { max-height: none; opacity: 1; }

.animate {
  -webkit-transition: all .5s cubic-bezier(.215, .61, .355, 1);
  -moz-transition: all .5s cubic-bezier(.215, .61, .355, 1);
  -ms-transition: all .5s cubic-bezier(.215, .61, .355, 1);
  -o-transition: all .5s cubic-bezier(.215, .61, .355, 1);
  transition: all .5s cubic-bezier(.215, .61, .355, 1);
}

.animate--fast { transition-duration: .3s; }
.animate--slow { transition-duration: 1s; }

.img-contain {width: 100%; height: 100%; object-fit: contain;}

/* ! WordPress core styles */
/* -------------------------------------------------------- */

/* input[type=text] {text-transform: uppercase!important;} */

.wp-block-button > .wp-block-button__link,
.es_subscription_form_submit {
    padding: 0.375rem 0.75rem!important;
    padding-right: 0.75rem;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: #fff;
    background-color: #284E7C;
    border-radius: var(--bs-border-radius-2xl)!important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15),0 1px 1px rgba(0, 0, 0, 0.075);
    display: inline-block;
    text-align: center;
    text-decoration: none;
    vertical-align: middle;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    border: 1px solid #284E7C!important;
    transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}

.wp-block-button > .wp-block-button__link.is-style-outline {
  background-color: transparent;
  color: #284E7C!important;
}

.wp-block-button.btn-arrow {position: relative;}
.wp-block-button.btn-arrow .wp-element-button::after {
  display: inline-block;
  font-family: 'icomoon';
  content: "\e91b";
  padding-left: 10px;
}

.wp-block-button.btn-arrow.btn-down .wp-element-button::after {
  content: "\ea3e";
  font-size: .7rem;
}

.wp-block-button > .wp-block-button__link:hover,
.es_subscription_form_submit:hover {
  background-color: rgba(50,99,154,1)!important;
  color:#fff!important;
}

/* Text meant only for screen readers. */
.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	position: absolute !important;
  white-space: nowrap;
	height: 1px;
	width: 1px;
	overflow: hidden;
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	color: #21759b;
	display: block;
	font-size: 14px;
	font-size: 0.875rem;
	font-weight: bold;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000; /* Above WP toolbar. */
}

/* ! ieg Forms */
.es_subscription_form {display: flex; flex-wrap: wrap; gap:20px; padding: 30px 0;}
.es-field-wrap {flex: 1;}
.es-field-wrap label {display: block;}
.ig_es_form_field_name,
.ig_es_form_field_email {
  display: block;
    width: 100%;
    padding: 0.375rem 0.75rem;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: #212529;
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid #ced4da;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border-radius: 0.375rem;
    transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}
.ig-es-form-list-selection td {padding-top: 5px!important;}
.ig-es-form-list-selection .form-checkbox,
input[name="es_gdpr_consent"] {margin-right: 15px;}
