.book-pretitle {
  display: flex;
  align-items: baseline;
  line-height: 20px;
  flex-direction: column;
  gap: 6px;
  font-weight: bold;
  font-size: 16px;
}

@media (min-width: 768px) {
  .book-pretitle {
    flex-direction: row;
    gap: 14px;
  }
}

.book-pretitle > div:first-child {
  white-space: nowrap;
}

.book-pretitle a {
  color: #666;
}

.book-pretitle .cat-lib {
  font-size: 14px;
  height: auto;
  white-space: nowrap;
  margin: 0 4px 0 0;
  width: auto;
  text-transform: uppercase;
  display: inline-block;
  padding: 6px;
}

.icon-and-text {
  display: flex;
  align-items: baseline;
  gap: 4px;
}

.book-container {
  margin: 12px 0 0 0;
}

.book-container .uk-article-author a {
  font-weight: 600 !important;
  text-decoration: none;
}

.book-container .uk-article-title {
  margin: 4px 0 !important;
  font-size: 1.5em !important;
  font-weight: 600 !important;
}

.book-options {
  background-color: #f2f2f2;
  padding: 12px;
  color: #666666;
}

.book-options .book-options--heading {
  font-size: 15px;
  font-weight: 600;
  margin: 0 0 10px 0;
  color: #666666;
}

.internal_list_products .product-details .price {
  color: #333;
  align-items: center; 
  justify-content: space-between; 
  margin: 38px 0 18px 0;
}

.button-primary {
  font-weight: 500;
	text-transform: uppercase;
	margin-top: 10px;
	font-size: 14px;
	margin-bottom: 5px;
	padding: 10px 16px;
	line-height: 18px;
  background-color: #06639d;
  color: #fff;
  border: 0;
  width: 100%;
  display: flex;
  justify-content: center;
  gap: 6px;
  align-items: center;
  cursor: pointer;
  font-family: 'Open Sans', sans-serif;
}

.button-primary:hover {
  background-color: #005489;
}

.internal_list_products {
  padding-bottom: 20px
}

@media screen and (min-width:1050px){
	.book-detail-page .policies-span{
		min-width: 424px;
		text-align: right;
	}

	.book-detail-page .cat-lib {
		padding: 4px!important;
	}
}
.book-detail-page .policies-select-mobile{
	display: none;
}

@media screen and (max-width:959px){
	.book-detail-page .product-details-container{
		padding: 20px;
	}
	.book-detail-page .cat-lib{
		margin-left: 6px;
	}
	.book-detail-page .policies-select-mobile{
		display: block;
		margin-bottom: 20px;
	}
	.book-detail-page .product-details-container .price{
		text-align: left;    
		margin-top: 5px!important;
	}
	.book-detail-page .policies-td{
		font-size: 80%;
	}
}

#logo-print {
  display:none; 
  width:30%; 
  margin-bottom:30px;
}

.internal_logo {
  display: block;
}

.icon-book:before {
  content: "\64";
}

.icon-homez {
  font-family:'torrossa';
  color: black;
  font-style: normal;
  font-size: 20px;
  padding-right: 5px;
  margin-top: 2px;
}

.book-summary {
  display: grid;
  
  column-gap: 30px;
  row-gap: 20px;

  grid-template-columns: auto;
  grid-template-areas: 
    "desc" 
    "cart";

  /* grid-template-columns: auto 100px;
  grid-template-areas: 
    "desc cart" 
    "policies level"; */
}

@media screen and (min-width:768px) {
  .book-summary {
    grid-template-areas: 
    "desc cart";
    grid-template-columns: auto 170px;
  }
} 

.book-summary::after, 
.book-summary::before{
  display: none;
}

.book-summary--level {
  /* grid-area: level; */
  width: 100%;
  text-align: right;
  margin-top: -5px;
}
.detail_resource_type,
.resource_type_and_level .digital_resource_type,
.book-summary--level .digital_resource_type {
  font-size: 18px;
  margin-top: 13px;
}
.resource_type_and_level .digital_resource_type {
  margin-top: 10px;
}
.resource_type_and_level .digital_resource_type strong,
.book-summary--level .digital_resource_type strong {
  margin-left: 2px;
}
.book-summary--desc {
  grid-area: desc;
}
.book-summary--policies {
  /* grid-area: policies; */
  margin-top: 20px;
}
.book-summary--cart {
  grid-area: cart;
  margin-top: -5px !important;
  margin-right: 0 !important;
}

.book-summary--policies .buy_method {
  margin: 0;
  max-width: 100%;
}
.book-summary--policies .buy_method dl {
  margin: 0;
}

/* .book-summary--cart button{
  margin: 14px 0 14px 0;
} */

.book-summary--cart .price-box {
  display: block;
  color: #333;
  width: 100%;
  float: none;
  margin: 15px 0 10px 0;
}

.book-summary--cart .button-primary{
  margin: 0 0 5px 0;
}

.resource_type_and_level>div,
.book-summary--level>div {
  display: inline-flex;
  align-items: flex-start;
}

.resource_type_and_level .cat-lib-wrap, 
.book-summary--level .cat-lib-wrap {
  width: 50px;
  font-size: 10px;
}
.resource_type_and_level .cat-lib,
.book-summary--level .cat-lib{
  margin: 6px 0 4px 0;
  text-align: center;
}

.book-summary--desc h2 {
  margin: 2px 0;
}

.internal_list_products button.workspace.internal {
  padding-bottom: 0;
}

.internal_list_products .book-detail-button-bar {
  padding-bottom: 0;
}

/* .internal_list_products hr {
  margin: 30px 0;
} */

.checkout {
  display: grid;

  grid-template-columns: 80px auto;
  column-gap: 20px;
  row-gap: 16px;

  grid-template-areas: 
    "image desc" 
    "image price" 
    "image info" 
    "image remove";

  border-top: 2px solid #f2f1f2;
  padding: 20px 0px;
}

@media screen and (min-width:768px) {
  .checkout {
    grid-template-columns: 100px auto 200px;
    grid-template-areas: 
      "image desc price" 
      "image info remove";
  }
}

.checkout--image {
  grid-area: image;
}

.checkout--desc {
  grid-area: desc;
}

.checkout--price {
  grid-area: price;
  font-weight: 600;
  color: #333;
  font-size: 1.35em !important;

  
}
.checkout--price-value {
  line-height: 1;
  display: flex;
  gap: 10px;
  align-items: baseline;
  justify-content: end;
}

.checkout--vat {
  font-size: 12px;
	font-weight: bold;
  margin: 8px 0 0 0;
}

.checkout--info {
  grid-area: info;
}

.checkout--info > div:first-child {
  margin: 0 0 16px 0;
}

.checkout--remove {
  grid-area: remove;
}

.checkout--remove a {
  text-decoration: none;
  display: inline-block;
  gap: 4px;
  padding-left: 0 !important;
  padding-right: 0 !important;
  font-size: 14px;
}

@media screen and (min-width:768px) {
  .checkout--price {
    padding-top: 20px;
    text-align: right;
  }
  .checkout--remove {
    text-align: right !important;
  }
}

@media screen and (min-width:1200px) {
  .checkout--info {
    display: flex;
    gap: 12px;
    align-items: baseline;
  }
  .checkout--info > div {
    margin: 0;
  }
  .checkout--info > div:first-child {
    margin: 0 0 0 0;
  }
}

.checkout h2{
  font-size: 1.5em !important;
  font-weight: 600 !important;
  margin: 0;
}

.checkout h2 a{
  text-decoration: none;
}

.checkout--author {
  font-weight: 600;
  color: #444;
}

.checkout .cat-lib {
  width: auto;
  font-size: 15px;
  margin: 0;
  font-weight: 500;
  height: auto;
}
.checkout .cat-lib,
.checkout--remove a {
  padding: 9px 12px 10px 12px;
  line-height: 19px;
}
.checkout .cat-lib.cat-gray {
  background-color: #eee;
  color: #666;
}

.empty-cart-container {
  text-align: right;
  padding: 20px 0 10px 0;
}
.empty-cart-container a {
  font-size: 14px;
  text-decoration: none;
}

/* @media screen and (min-width:568px) { */
  .empty-cart-container {
    margin-top: -34px;
  }
/* } */

.checkout-container {
  margin-bottom: 40px !important; 
  border-bottom: 2px solid #f2f1f2;
}

.checkout--subtotal {
  text-align: right;
  margin: 0 0 22px 0;
}
.checkout--subtotal .total {
  font-size: 1.35rem !important;
  line-height: 1;
}

.checkout--total {
  text-align: right;
  margin: 0 0 30px 0;
}

.checkout--total .total {
  margin: 0;
}

.checkout--total-tooltip{
  background: #f1efbc;
  position: relative;
  padding: 20px;
  display: inline-block;
  margin: 20px 0 0 0;
  width: 390px;
  max-width: calc(100% - 40px);
  text-align: right;
}

.checkout--total-tooltip::before {
  content: "";
  position: absolute;
  bottom: 100%; /* Posiziona la freccetta sopra il box */
  right: 30px; /* Regola questa proprietà per allineare la freccetta */
  margin-right: -14px;
  border-width: 14px;
  border-style: solid;
  border-color: transparent transparent #f1efbc transparent; /* Freccetta verso l'alto */
}

@media screen and (min-width:768px) {
  .checkout--total {
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
    gap: 30px;
  }

  .checkout--total-tooltip{
    margin: 0;
  }

  .checkout--total-tooltip::before {
    top: 50%; /* Centra verticalmente la freccetta; ajusta secondo necessità */
    left: 100%; /* Sposta la freccetta a destra del box */
    bottom: auto;
    margin-top: -7px; /* Ajusta questo valore per centrare verticalmente la freccetta */
    margin-left: 0px; /* Ajusta se necessario per allineare la freccetta */
    border-width: 14px;
    border-style: solid;
    border-color: transparent transparent transparent #f1efbc; /* Freccetta verso destra */
    margin-top: -15px;
  }
}

.signin-container {
  position: relative;
  margin: 0px 0 30px 0 !important;
}

.signin-container--form h1 {
  margin: 0 0 20px 0;
}

.signin-container--col2 {
  margin-top: 0px;
}

@media screen and (min-width:768px) {
  .signin-container {
    margin: 20px 0 40px 0 !important;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-areas: 
      "col1 col2";
  }
  .signin-container--col1 {
    grid-area: col1;
    position: relative;
    padding-right: 40px;
  }

  .signin-container--col2 {
    grid-area: col2;
    padding-left: 40px;
    display: flex;
    align-items: center;
    margin-top: 0;
  }

  .signin-container--col1::after {
    content: "";
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    width: 1px; /* Spessore della linea */
    background-color: #333; /* Colore della linea */
  }

  .signin-container--form {
    margin: 0 0 0 auto;
    width: 340px;
    max-width: 100%;
  }

  .signin-container--form form {
    margin-bottom: 0;
  }

  .signin-container--col2 > div {
    width: 420px;
    max-width: 100%;
  }
}

.home-book-summary a{
  position: relative;
  display: inline-block;
}
.home-book-summary__format {
  position: absolute;
  bottom: 6px;
  left: 6px;
  background-color: rgba(255,255,255,1);
  color: #333;
  text-decoration: none;
  display: inline-block;
  padding: 4px 6px;
  line-height: 1;
  border-radius: 2px;
  font-size: 12px;
  font-weight: 600;
}
.home-book-summary img{
  border: 1px solid #eee;
  width: auto;
  height: 150px;
  /* max-width: 100%;
  max-height: 180px; */
}

@media screen and (min-width:500px) {
  .home-book-summary img{
    height: 200px;
  }
}

.home-book-summary .price-box{
  margin: 10px 0 0 0;
  font-weight: 600;
  font-size: 16px;
  color: #333;
}

@media screen and (min-width:768px) {
  .home-book-summary .price-box{
    font-size: 20px;
  }
}

.home-book-summary .button-box button{
  width: 180px;
  max-width: 100%;
  margin: 6px 0 0 0;
}
.home-book-summary .author-box{
  margin: 10px 0 0 0;
  color: #333;
}
.home-book-summary .author-box a, 
.home-book-summary .title-box a{
  text-decoration: none;
}
.home-book-summary .title-box{
  margin: 5px 0 0 0;
  font-weight: 600;
}

.home-book-summary .author-box, 
.home-book-summary .editor-box{
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: block;
  font-size: 13px;
}

.home-book-summary .title-box a {
  font-size: 15px;
  display: block;

  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2; 
  -webkit-box-orient: vertical;
}

@media screen and (min-width:768px) {
  .home-book-summary .author-box, 
  .home-book-summary .editor-box{
    font-size: 14px;
  }
  .home-book-summary .title-box a {
    font-size: 16px;
  }
}

.checkout-alert-dialog {
  text-align: center;
}
.checkout-alert-dialog .button-primary{
  width: auto;
  display: inline-block;
  text-decoration: none;
  position: relative;
  top: auto;
  left: auto;
  right: auto;
  padding: 12px 28px;
}
.checkout-alert-dialog .button-primary svg {
  display: none;
}
.checkout-alert-dialog .uk-modal-dialog {
  border: 3px solid #06639d;
}
.checkout-alert-dialog .uk-modal-title{
  margin-top: 10px;
}

.checkout-check-container{
  width: 600px;
  margin: 0 0 0 auto;
  max-width: 100%;
  padding: 10px 20px 20px 20px;
  background: #f6f6f6;
  border-radius: 8px;
}
.checkout-check-container label{
  display: flex;
  align-items: self-start;
  gap: 6px;
  flex-direction: row-reverse;
  margin-top: 10px;
}
.checkout-check-container label input {
  margin: 3px 0 0 0;
}
.checkout-check-container label :first-child {
  flex-shrink: 0;
}

span.policy-item {
  display: flex;
  align-items: baseline;
  padding: 2px 0;
}

.policy-item img {
  height: 20px;
  width: auto;
  margin: 0 auto;
}

.policy-item span:first-child {
  flex-shrink: 0;
  width: 26px;
}

.usage_policy_inline .policy-item{
  display: flex;
  align-items: baseline;
  padding: 2px 0;
  gap: 4px;
}

.usage_policy_inline {
  display: inline-flex;
  column-gap: 10px;
  flex-wrap: wrap;
}
.usage_policy_inline .policy-item span:first-child {
  width: auto;
}

.home_header{
  padding: 0;
}

@media screen and (min-width:961px) {
  .home_banner {
    margin-top: 30px;
  }
}

.home_sections {
  margin: 25px 0 45px 0;
}

.home_sections .price-box,
.home_sections h2 {
  color: #296398;
}

.home_sections .home_section_heading h2 {
  margin-top: 50px;
}
.home_sections .home_section_heading:first-child h2{
  margin-top: 0;
} 

.home_section_heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin: 0 0 30px 0;
}

.home_section_heading h2 {
  margin: 0;
}
.home_section_heading a {
  text-align: right;
  color: #666;
}

:root {
  --swiper-navigation-size: 28px;
}

.swiper-container {
  position: relative;
  padding: 0 30px;
}

.swiper-button-next, 
.swiper-rtl .swiper-button-prev,
.swiper-button-prev, 
.swiper-rtl .swiper-button-next {
  /* background: rgba(255, 255, 255, 0.75); */
  padding: 6px;
  color: #06639d;
}

.swiper-button-next, 
.swiper-rtl .swiper-button-prev{
  right: -10px;
}

.swiper-button-prev, 
.swiper-rtl .swiper-button-next {
  left: -10px;
}

@media screen and (min-width:960px) {
  .swiper-container {
    padding: 0;
  }

  .swiper-button-next, 
  .swiper-rtl .swiper-button-prev{
    right: -44px;
  }

  .swiper-button-prev, 
  .swiper-rtl .swiper-button-next {
    left: -44px;
  }
}

.digital_resource_type {
  margin-right: 8px; 
  display: inline-flex; 
  align-items: center; 
  justify-content: space-between; 
  min-width: 52px; 
  margin-top: 15px;
}
.digital_resource_type img {
  height: 16px;
}
.resource_type_and_level{
  text-align: right;
  padding: 10px 0 0 0;
}

.hierarchy-list--detail li {
  display: flex;
  align-items: baseline;
  gap: 4px;
}
.hierarchy-list--detail li::before, 
.hierarchy-list--detail li::after {
  display: none;
}
.hierarchy-list--detail li a {
  margin: 0;
}

.hierarchy-list--get {
  font-size: 13px;
  font-weight: bold;
  margin-left: 20px !important;
  white-space: nowrap;
}

.discipline {
  display: flex;
  background-color: #eee;
  align-items: flex-start;
  padding: 10px 12px;
  text-align: left;
  gap: 8px;
  width: 100%;
  font-size: 1.25rem;
  font-weight: 600;
}
.discipline button {
  padding: 1px;
}
.discipline > div:last-child {
  flex-grow: 1;
}
#childrenModal .uk-nav-default ul.uk-nav-default{
  font-weight: 400;
}

.book-detail-button-bar-mini {
  margin-bottom: 20px;
}
/* .book-detail-button-bar-mini > div:last-child {
  margin-bottom: 20px;
} */
.book-detail-button-bar-mini .bbm-item{
  text-decoration: none;
  line-height: 1.35;
  padding: 10px 8px;
  /* text-transform: none; */
  /* font-weight: 600; */
  font-size: 14px;
  position: relative;
  border: 1px solid #06639d;
  display: flex;
  margin: 5px 0 5px 0;
  align-items: center;
  justify-content: center;

  text-transform: uppercase;
  font-weight: 500;

  font-family: 'Open Sans', sans-serif;

  /* 
  line-height: 1.35;
  text-align: left;
  gap: 4px;
  margin: 0 0 6px 0 !important;
  padding: 0 !important;
  border: 0;
  align-items: center;
  font-size: 13px;
  color: #333; */
}
.book-detail-button-bar-mini .bbm-item:hover {
  color: #06639d;
  border: 1px solid #eee;
  background: #efefef;
}

.book-detail-button-bar-mini .bbm-item.uk-button-primary {
  background-color: #06639d;
  color: #fff;
  text-transform: uppercase;
}
.book-detail-button-bar-mini .bbm-item.uk-button-primary:hover {
  background-color: #005489;
  border-color: #005489;
}

.book-detail-button-bar-mini .bbm-item:focus {
  outline: 2px solid black;
}

.book-detail-button-bar-mini .bbm-item i{
  position: absolute;
  left: 4px;
  top: 50%;
  margin-top: -8px;
}

.coupon {
  text-align: right;
}
.coupon .uk-accordion-title{
  background: none;
  text-align: right;
  text-transform: none;
  display: inline-block;
}
.coupon .uk-accordion-title span {
  padding: 0 10px;
}

/* .finalprice {
  white-space: nowrap;
} */

.js-loading {
  position: relative;
}

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

.uk-button-primary {
  background-color: #06639d;
  color: #fff;
}
.uk-button-primary:disabled {
  background-color: #0d6ece;
  color: #fff;
}

.book-options-horizontal {
  display: inline-flex;
  column-gap: 10px;
  flex-wrap: wrap;
  background: none;
  padding: 0;
}

.uk-form-danger, .uk-form-danger:focus {
    color: #f0506e !important;
    border-color: #f0506e !important;
}

.button-green {
  border-color: #128818 !important;
  background: #128818 !important;
  color: #fff !important;
}

.button-green:hover {
  color: #128818 !important;
  border: 1px solid #efefef !important;
  background: #efefef !important;
}

.other_button-container {
  text-align: right;
}
.internal_list_products a.workspace.internal.other_button{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0 !important;
  flex-direction: row-reverse;
  padding: 6px 0 !important;
}

#searchLinkInpage svg,
#searchLink svg, 
#searchLinkMobile svg{
  color: #06639D;
}
#searchLinkInpage,
#searchLink, 
#searchLinkMobile {
  width: auto;
  padding: 0 15px;
  background: #e7eef2;
  border-top-right-radius: 3px;
  border-bottom-right-radius: 3px;
}
#searchLinkMobile svg,
#searchLinkInpage svg {
  width: 24px;
  height: 24px;
}
#searchLink svg {
  width: 36px;
  height: 36px;
}
.search_interna,
.search_home {
  border-radius: 3px;
}
.search_interna [name=q]:focus,
.home_header form [name=q]:focus {
  border: none !important;
  outline: 0;
  box-shadow: 0 0 0 .25rem rgba(0, 71, 115, .25);
  border-radius: 2px;
}
.search_interna {
  padding: 0 !important;
}
.search_interna [name=q]{
  height: auto !important;
  padding: 4px 0 4px 10px !important;
}