/*
Theme Name: Sagicofim ST1
Author: SagiCofim
Author URI: https://sagicofim.com
Version: 1.0
Requires at least: 6.7
Tested up to: 6.7
Requires PHP: 7.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: scsn
*/

/* ! Reset */
body, html{
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Arial, sans-serif;
  box-sizing: border-box; margin: 0; padding: 0; overflow-x: hidden; scroll-behavior: smooth;
}

*,
*:before,
*:after{box-sizing: border-box;}

h1, h2, h3, h4, h5, h6{margin: 0; padding: 0; text-wrap: balance;}
p{margin: 0; padding: 0; text-wrap: pretty;}
ol, ul{text-align: left;}
.header ol, .footer ol, .header ul, .footer ul{list-style-type: none; margin: 0; padding: 0;}

img{height: auto;}

a{text-decoration: none; transition: all 0.25s cubic-bezier(.215, .61, .355, 1);}


/* ! Base */
:root{
  --padding-inline: 2.4rem;
  --large-content-mw: 132rem;
  --medium-content-mw: 100rem;
  --short-content-mw: 64rem;
  --medium-content-size: calc((var(--medium-content-mw) - var(--short-content-mw)) / 2);
  --large-content-size: calc((var(--large-content-mw) - var(--medium-content-mw)) / 2);
}

/* open-sans-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  src: url('../sagicofimsales/fonts/open-sans-v40-latin-regular.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+ */
       url('../sagicofimsales/fonts/open-sans-v40-latin-regular.woff') format('woff'); /* Chrome 5+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* open-sans-600 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 600;
  src: url('../sagicofimsales/fonts/open-sans-v40-latin-600.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+ */
       url('../sagicofimsales/fonts/open-sans-v40-latin-600.woff') format('woff'); /* Chrome 5+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* open-sans-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 700;
  src: url('../sagicofimsales/fonts/open-sans-v40-latin-700.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+ */
       url('../sagicofimsales/fonts/open-sans-v40-latin-700.woff') format('woff'); /* Chrome 5+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

html{font-size: 62.5%;}
body{font-size: 1.6rem; color: var(--primary-color); background-color: var(--primary-bg-color); font-family: 'Open Sans', sans-serif; font-synthesis: none; font-weight: 400;}
strong{font-weight: 700;}
main{min-height: 90vh;}


/* Padding section */
.article,
.footer,
.hero{padding: 20px; border-radius:4px; margin-bottom: 20px;}


/* ! Buttons */
.button{cursor: pointer; position: relative; border: 2px solid; border-radius: 8px; padding: 0 24px; font-weight: 600; overflow: hidden; height: 40px; display: flex; justify-content: center; align-items: center; z-index: 10; transition: all 0.32s cubic-bezier(.215, .61, .355, 1);}
.button.cbd-white{border-color: #FFFFFF; color: #FFFFFF !important;}
.button.cbd-white:hover{color: var(--primary-color) !important; background-color: #FFFFFF;}
.button.cbd-primary{border-color: var(--primary-color); color: var(--primary-color) !important;}
.button.cbd-primary.active{color: #FFFFFF !important; background-color: var(--primary-color);}
.button.cbd-secondary{border-color: var(--secondary-color); color: var(--secondary-color) !important;}
.button.cbd-primary:hover, .button.cbd-secondary:hover{border-color: var(--primary-color); color: #FFFFFF !important; background-color: var(--primary-color);} 
.button.cbd-red{border: 2px solid #FF0000; color: #FF0000;}
.button.cbd-red:hover{background-color: #FF0000; border-color: #FF0000; color: #FFFFFF;}
.button.cbd-green{border: 2px solid #008000; color: #008000;}
.button.cbd-green:hover{background-color: #008000; border-color: #008000; color: #FFFFFF;}


/* ! Header */
/*----------------------------------------------------------------------------------- */
.header{position: fixed; display: flex; justify-content: space-between; padding: 16px 0; background-color: #FFFFFF; z-index: 99998;}
.logo{min-width: 136px; max-width: 136px; width: 100%; display: flex; align-items: center; margin-right: 32px;}
.login-logo{max-width: 240px; width: 100%;}
#exit-button{padding: 4px; width: 32px; min-width: 32px; height: 32px;}

#menu-wrapper{gap: 32px;}
.menu{align-items: center; padding-right: 32px;}
.menu ul {display: flex; margin-bottom: 0; gap: 32px;}
.menu ul li a{color: var(--secondary-color); font-weight: 600; transition: all 0.32s cubic-bezier(0.075, 0.82, 0.165, 1);}
.menu ul li:hover a:not(.menu ul li:hover a.button){color: var(--primary-color);}
.menu ul li.button a{color: var(--primry-color)!important;}
.menu ul li.button a i{transform: translateY(3px);}

.header__icon{display: none;}

@media (max-width: 1160px) {
  #user-logged{width: 100%;}
  #menu-wrapper{gap: 0;}
  @media (max-width: 600px) {#user-logged{display: none;}}
  .menu{align-items: flex-start; padding-right: 0;}
  .menu ul{flex-direction: column; visibility: hidden; pointer-events: none; max-height: 0; max-width: 0; width: fit-content; height: fit-content; gap: 8px; 
    transition: max-height 0.4s cubic-bezier(0.075, 0.82, 0.165, 1),
                max-width  0.4s cubic-bezier(0.075, 0.82, 0.165, 1);     
  }
  .menu ul li{display: none;}
  .hasMenuOpen .menu ul{max-height: 320px; max-width: 320px; visibility: visible; pointer-events: all;}
  .hasMenuOpen .menu, .hasMenuOpen .menu ul li{display: flex;}
  .hasMenuOpen .menu{padding: 32px 32px 32px 0; min-width: 240px; }

  .header .logo img{max-height: 4.2rem; height: 100%; width: auto; position: relative;}

  .header__icon{display: inline-block; min-width: 24px; width: 24px; height: 24px; position: relative; transform: rotate(0deg); cursor: pointer; z-index: 99995;}
  .header__icon span{background-color: var(--secondary-color); position: absolute; height: 2px; transition: all 0.3s ease-in-out; z-index: 99999;}
  .header__icon:hover span{background-color: var(--primary-color);}
  .header.has-cover .header__icon:hover span:not(.header--onscroll .header__icon:hover span, .hasMenuOpen .header__icon span){background-color: #FFFFFF;}

  .header__icon span:nth-child(1){top: 0; left: 0; width: 100%;}
  .header__icon span:nth-child(2),
  .header__icon span:nth-child(3){top: 9px; width: 100%;}
  .header__icon span:nth-child(4){top: 18px; width: 100%;}

  .header__icon--open span:nth-child(1){top: 8.5px; width: 0%; left: 50%; opacity: 0;}
  .header__icon--open span:nth-child(2){transform: rotate(45deg);}
  .header__icon--open span:nth-child(3){transform: rotate(-45deg);}
  .header__icon--open span:nth-child(4){top: 8.5px; width: 0%; left: 0%; opacity: 0;}
}


/* ! Map */
/*----------------------------------------------------------------------------------- */
.map-container {width: 100%; height: calc(100vh - 160px);}
image[class^="marker-"] {transition: all 0.32s cubic-bezier(.215, .61, .355, 1);}
image[class^="marker-"]:hover {height: 40px; width: 40px; transform: translate(-3px, -6px);}
.legend-marker {height: 24px; width: 24px;}

.olPopupCloseBox{background: url('../sagicofimsales/svg/popup-close.svg') no-repeat !important; width: 24px !important; height: 24px !important;}
dialog {min-width: 320px;}
dialog:focus-visible{outline: none !important;}

#tool-window{top: 24px; right: 24px; min-width: 280px; z-index: 1000;}
@media (max-width: 600px) {
  #tool-window{top: 120px; left: 24px; right: auto;}
}
#map-filter, #map-tools, #map-search-box {background-color: var(--secondary-bg-color); padding: 16px; border-radius: 16px;}
#map-tools{top: 24px; left: 24px; list-style-type: none; margin: 0; background-color: var(--secondary-bg-color); z-index: 1000;}
#map-tools li a{display: flex; text-wrap: nowrap; border-radius: 8px; overflow: hidden; align-items: center; gap: 12px; padding: 4px 10px; width: clamp(3.6rem, 5vw + 1rem, 4rem); min-width:  clamp(3.6rem, 5vw + 1rem, 4rem); max-width: 40px; height: clamp(3.6rem, 5vw + 1rem, 4rem); transition: all 0.64s cubic-bezier(0.075, 0.82, 0.165, 1); transition-delay: 0.32s; transition-property: max-width; background-color: var(--secondary-color); color: #FFFFFF;}
#map-tools li:hover a:not(a.active){width: fit-content; max-width: 200px; background-color: var(--primary-color); padding: 4px 16px 4px 10px;}
#map-tools li a.active{background-color: var(--primary-color);}
#tool-window:has(#map-filter.deleted) > .spacer_16{display: none;}

.searched-el:hover{background-color: var(--secondary-bg-color);}

.entity-popup-content{min-width: 400px; max-width: 560px;}
#Popup_FrameDecorationImg_4{display: none;}

#mapWrapper {aspect-ratio: 1680/1188; width: 100%; position: relative; overflow: hidden;}
#mapAgenciesContainer {width:1680px; height:1188px; margin: 0; position: relative; transform-origin: top left;}

.no-interaction {pointer-events: none; width:1680px; height:1188px; position: absolute; top: 0; left: 0;}

#map #linesOverlay {z-index: 99995;}
#mapAgenciesContainer #linesOverlay {width: 1680px; height: 1188px; position: absolute; top: 0; left: 0; pointer-events: none;}

#map .custom-popup {
  min-width: 400px; position: absolute; font-size: clamp(1rem, 1vw + 1rem, 1.6rem); word-wrap: break-word; word-wrap: break-word; cursor: move;
  background: #fff; border: 2px solid #004078; border-radius: 16px; padding: 16px; z-index: 99998; cursor: move; touch-action: none;
}
#mapAgenciesContainer .custom-popup {
  width: 240px; position: absolute; font-size: clamp(0.8rem, 1vw + 1rem, 1.36rem); word-wrap: break-word;
  background: #fff; border: 2px solid #004078; border-radius: 8px; padding: 8px; z-index: 99998; cursor: move;
}

#map-title {z-index: 99999; top: 0; left: 0;}
#map-logo {z-index: 99999; bottom: 0; right: 0; height: 96px; width: auto;}

#OpenLayers_Control_MousePosition_3{transform: translate(-16px, -16px);}


/* ! Footer */
/*----------------------------------------------------------------------------------- */
.footer{padding-top: 16px; margin: 0;}


/* ! Richtext Areas */
/*----------------------------------------------------------------------------------- */
.tox-tinymce{min-height: 240px; font-family: 'Open Sans', sans-serif !important;}
.tox-statusbar__right-container{display: none !important;} 


/* ! Backgrounds & colors */
/*----------------------------------------------------------------------------------- */
:root{
  --primary-color: #004078;
  --secondary-color: #7a9bb9;
  --paragraphs-color: #45455c;
  --primary-bg-color: #FFFFFF;
  --secondary-bg-color: #e2e8eb;
  --light-text: #B3C2C9;

  --svg-primary: invert(14%) sepia(58%) saturate(3940%) hue-rotate(195deg) brightness(94%) contrast(101%);
  --svg-secondary: invert(61%) sepia(52%) saturate(230%) hue-rotate(167deg) brightness(89%) contrast(88%);
  --svg-white: invert(100%) sepia(0%) saturate(0%) hue-rotate(230deg) brightness(106%) contrast(105%);
  --svg-light-orange: brightness(0) saturate(100%) invert(99%) sepia(87%) saturate(3414%) hue-rotate(294deg) brightness(105%) contrast(101%);
  --svg-light-red: brightness(0) saturate(100%) invert(85%) sepia(49%) saturate(2706%) hue-rotate(301deg) brightness(103%) contrast(108%);
  --svg-light-green: brightness(0) saturate(100%) invert(80%) sepia(42%) saturate(349%) hue-rotate(84deg) brightness(107%) contrast(91%);
  --svg-light-purple: brightness(0) saturate(100%) invert(57%) sepia(65%) saturate(1272%) hue-rotate(231deg) brightness(105%) contrast(91%);
  --svg-light-cyan: brightness(0) saturate(100%) invert(80%) sepia(13%) saturate(910%) hue-rotate(171deg) brightness(104%) contrast(98%);
  --svg-light-pink: brightness(0) saturate(100%) invert(63%) sepia(58%) saturate(667%) hue-rotate(213deg) brightness(104%) contrast(95%);
  --svg-light-yellow: brightness(0) saturate(100%) invert(84%) sepia(38%) saturate(409%) hue-rotate(3deg) brightness(105%) contrast(88%);
}

.bg-primary{background-color: var(--primary-color); color: #FFFFFF;}
.bg-secondary{background-color: var(--secondary-color);}
.bg-white{background-color: var(--primary-bg-color);}
.bg-light-secondary{background-color: var(--secondary-bg-color);}

.border-primary{border: 2px solid var(--primary-color);}
.border-secondary{border: 2px solid var(--secondary-color);}


/* ! Color filters */
/*----------------------------------------------------------------------------------- */
.light-orange, .back-light-orange::before, .back-light-orange::after{filter: var(--svg-light-orange);}
.light-green, .back-light-green::before, .back-light-green::after{filter: var(--svg-light-green);}
.light-purple, .back-light-purple::before, .back-light-purple::after{filter: var(--svg-light-purple);}
.light-cyan, .back-light-cyan::before, .back-light-cyan::after{filter: var(--svg-light-cyan);}
.light-red, .back-light-red::before, .back-light-red::after{filter: var(--svg-light-red);}
.light-yellow, .back-light-yellow::before, .back-light-yellow::after{filter: var(--svg-light-yellow);}
.light-pink, .back-light-pink::before, .back-light-pink::after{filter: var(--svg-light-pink);}
.light-grey, .back-light-grey::before, .back-light-grey::after{filter: var(--svg-secondary);}

.svg-primary{filter: var(--svg-primary);}
.svg-secondary{filter: var(--svg-secondary);}
.svg-white{filter: var(--svg-white);}


/* ! Gestione enti */
body.background{background-color: var(--secondary-bg-color);}
.area-managers-list{border-radius: 0 0 16px 16px; border: 2px solid var(--secondary-color); border-top: none; border-bottom: none;}
.area-managers-list .area-manager:last-child{border-radius: 0 0 16px 16px; border-bottom: 2px solid var(--secondary-color);}
.macroaree-list .agency:first-child{padding-top: 8px;}
.macroaree-list .agency:last-child{padding-bottom: 8px; border-radius: 0 0 16px 16px;}

.macroaree-list .main-title{height: 48px; border-bottom: none;}
.macroarea-list .main-title, .macroaree-list h3, .macroaree-list h4{text-overflow: ellipsis; text-wrap: nowrap; display: block;}

.bx-ma{transform: translateY(2px);}
.bx-am{transform: translateY(1px);}
.bx-ag{transform: translateY(1px);}

@media (max-width: 600px) {
  .macroarea .accordion-title span{display: none;}
}


/* ! Ricerca enti */
#entities-search-list{top: calc(100% + 8px); left: 0; background-color: #FFFFFF; border-radius: 8px; max-height: 240px; overflow-y: auto; width: 100%;}
i.reset{right: 4px; top: 0px; height: 100%; display: flex; align-items: center; color: var(--secondary-color); cursor: pointer;}


/* ! Forms */
/*----------------------------------------------------------------------------------- */
.field .gap_8.absolute{right: 12px;}
.toggle-psw-visibility{right: 12px; cursor: pointer; position: absolute;}
.field-psw:has(.input_newPassword) .toggle-psw-visibility{left: 0; right: auto; position: relative !important;}
.login-form-container{background-color: var(--secondary-bg-color);}
.pwd-icons-container{right: 12px; height: 32px;}

.reset-password .short-content, .login-form-container, .reset-request .short-content{min-width: 312px;}

.fields-container .field{gap: 6px 0;}

input[type="radio"]{cursor: pointer;}
input.input-itm{padding: 0 12px;}
input.input-itm, #post-search-bar, #general-search-bar{height: 32px; border-radius: 32px;}
textarea:not(textarea.tiny){min-height: 112px; max-height: 184px; width: 100%; resize: vertical; border: none; border-radius: 16px 16px 0 16px; padding: 12px; font-family: 'Open Sans', sans-serif;}
input.input-itm, #post-search-bar, #general-search-bar, textarea:not(textarea.tiny), select:not(.sidebar select){outline: none; width: 100%;}
input.input-itm, #post-search-bar, #general-search-bar{background-color: rgba(255, 255, 255, 1); border: none;}
input.input-itm, #post-search-bar::placeholder, #general-search-bar::placeholder, input.input-itm::placeholder, select, textarea:not(textarea.tiny), textarea:not(textarea.tiny)::placeholder{color: var(--primary-color); font-size: clamp(1rem, 1vw + 1rem, 1.4rem); font-family: 'Open Sans', sans-serif;}
input.input-itm::placeholder, textarea:not(textarea.tiny)::placeholder{color: var(--secondary-color);}
#address-input.address-modifier{transform: translateY(-3px);}

.switched optgroup, option{cursor: pointer;}
optgroup.selected{background-color: #cecece;}

input[type="checkbox"]{margin: 0 4px 0 0; overflow: hidden; appearance: none; -webkit-appearance: none; border: 1px solid var(--primary-color); outline: none; width: 18px; height: 18px; cursor: pointer; border-radius: 4px; transition: all 0.24s cubic-bezier(.215, .61, .355, 1);}
input[type="checkbox"]::after{color: #FFFFFF; background-color: var(--primary-color); content: "\2714"; font-size: 1.28rem; width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; opacity: 0;}
input[type="checkbox"]:checked, input[type="checkbox"]:hover{border-color: var(--primary-color);}
input[type="checkbox"]:checked::after{opacity: 1;}
#contact-form input[type="checkbox"]{background-color: rgba(255, 255, 255, 1);}

input:focus-within:not(input[type="radio"], input[type="checkbox"]), textarea:focus-within, select:focus-within{border: 1px solid var(--secondary-color)!important; box-shadow: 0 0 5px var(--secondary-color); transition: border 0.32s cubic-bezier(.215, .61, .355, 1);}

select{border: 1px solid #FFFFFF; padding: 4px;}
select.custom-select{border-radius: 40px;}

.submit-button{position: relative; width: 184px;}
.reset-request .submit-button{width: 200px;}
.login-form-container .submit-button{width: 128px;}

.response-container{height: 32px;}
.response-container img{height: 22px;}

.submit-button > input{
  position: absolute; top: 0; left: 0; width: 100%; height: 100%;
  color: inherit; background: none; border: none;
  cursor: pointer; z-index: 50; outline: none;
}

.submit-button > input::before:focus-within{box-shadow: 0 0 5px var(--primary-color); transition: all 0.32s cubic-bezier(.215, .61, .355, 1); outline: none;}

textarea{min-height: 240px;}

#suggestions{position: absolute; top: 100%; left: 0; z-index: 100; background-color: #FFFFFF; width: 100%;}
#suggestions .suggestion{padding: 8px; cursor: pointer;}

#dialog{z-index: 9998;}
dialog{color: var(--primary-color);}

#provinces-selector{position: relative;}
#provinces-selector::after{transition: all 0.32s cubic-bezier(.215, .61, .355, 1); width: 0%; height: 0%;}
#provinces-selector:has(.onload)::after{position: absolute; content: ""; top: 0; left: 0; background-color: #FFFFFF; width: 100%; height: 100%; z-index: 998;}


/* ! Password check */
/*----------------------------------------------------------------------------------- */
.check-psw span{
  transition: all 0.3s cubic-bezier(.215, .61, .355, 1); 
  position: relative; border: 1px solid var(--secondary-color); width: 12px; min-width: 12px; height: 12px; border-radius: 50%;    
}

.check-psw span:nth-child(1).active {border-color: #FF0000; box-shadow: 0 0 5px #FF0000;}
.check-psw span:nth-child(2).active {border-color: #FFA500; box-shadow: 0 0 5px #FFA500;}
.check-psw span:nth-child(3).active {border-color: #008000; box-shadow: 0 0 5px #008000;}

.check-psw span:after{
  transition: all 0.3s cubic-bezier(.215, .61, .355, 1); content:""; 
  position: absolute; top: 2px; left: 2px;
  width: 6px; height: 6px; border-radius: 50%; opacity: 0;
}

.check-psw span:nth-child(1).active:after{background-color: #FF0000;}
.check-psw span:nth-child(2).active:after{background-color: #FFA500;}
.check-psw span:nth-child(3).active:after{background-color: #008000;}

.check-psw span.active:after{opacity: 1;}


/* ! Accordions */
/*----------------------------------------------------------------------------------- */
.accordion-content{height: fit-content; max-height: 0; transition: max-height 0.32s cubic-bezier(.215, .61, .355, 1); overflow: hidden;}
.accordion-item:has(.accordion--opened) .accordion-content{max-height: 1200px;}
.accordion-title{width: 100%; display: flex; justify-content: space-between; align-items: center; border-bottom: 2px solid var(--primary-color); padding-bottom: 4px; cursor: pointer;}
.accordion-title .bx-chevron-down{transition: transform 0.32s cubic-bezier(.215, .61, .355, 1);}
.accordion-title.accordion--opened .bx-chevron-down{transform: rotate(180deg);}
.accordion .bx-trash{border-radius: 100%; padding: 4px; border: 2px solid var(--primary-color);}


/* ! Grid systems */
/*----------------------------------------------------------------------------------- */
.container{width: min(calc(100% - (var(--padding-inline) * 2)), var(--large-content-mw)); margin: 0 auto;}
.reduced-container{width: min(calc(100% - (var(--padding-inline) * 2)), var(--medium-content-mw)); margin: 0 auto;}

.grid-high-height{display: grid; width: 100%; position: relative; grid-template-rows: minmax(19.6rem, 1fr) 50% minmax(6.4rem, 0.8fr);}
@media (max-width: 1184px){.grid-high-height{min-height: 0; height: auto; grid-template-rows: minmax(12rem, 1fr) auto 1fr;}}

.grid-full-height{display: grid; min-height: 720px; height: 94vh; width: 100%; position: relative; grid-template-rows: minmax(12rem, 1fr) 1fr 1fr;}
.grid-high-height > .top, .grid-full-height > .top{grid-row: 1; margin-bottom: 0; padding-bottom: 24px;}
.grid-high-height > .middle, .grid-full-height > .middle{grid-row: 2;}
.grid-high-height > .bottom, .grid-full-height > .bottom{grid-row: 3;}
.grid-full-height > img:not(.grid-full-height > .hero__img){width: 100%; min-height: inherit; height: inherit; object-fit: cover; z-index: -1;}

.grid-container{
  display: grid; 
  grid-template-columns: 
    [full-content-start] minmax(var(--padding-inline), 1fr)
    [large-content-start] minmax(0, var(--large-content-size)) 
    [medium-content-start] minmax(0, var(--medium-content-size))
    [short-content-start] min(calc(100% - (var(--padding-inline) * 2)), var(--short-content-mw)) [short-content-end]
    minmax(0, var(--medium-content-size)) [medium-content-end] 
    minmax(0, var(--large-content-size)) [large-content-end] 
    minmax(var(--padding-inline), 1fr) [full-content-end] 
}

.grid-container .full-content{grid-column: full-content;}
.grid-container .large-content{grid-column: large-content;}
.grid-container .medium-content{grid-column: medium-content;}
.grid-container .short-content{grid-column: short-content;}

.grid-container.min-320{grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));}
.grid-container.min-400{grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));}
.grid-container.min-480{grid-template-columns: repeat(auto-fit, minmax(480px, 1fr));}
@media(max-width: 540px) {
  .grid-container.min-320{grid-template-columns: repeat(auto-fit, 100%);}
  .grid-container.min-400{grid-template-columns: repeat(auto-fit, 100%);}
  .grid-container.min-480{grid-template-columns: repeat(auto-fit, 100%);}
}


/* ! Typography */
h1, h2, h3, h4, h5{padding: 0; margin: 0;}
p {font-size: clamp(1.5rem, 1vw + 1rem, 1.8rem);}

.headline{font-size: clamp(4rem, 5vw + 1rem, 8rem); word-wrap: break-word; font-weight: 600; letter-spacing: -0.3rem;}
.testo_0{font-size: clamp(3.6rem, 5vw + 1rem, 6.4rem); word-wrap: break-word; font-weight: 600; letter-spacing: -0.3rem;}
.testo_0.reduced{font-size: clamp(3.4rem, 3.2vw + 1rem, 5.6rem); word-wrap: break-word; font-weight: 600; letter-spacing: -0.3rem;}
.testo_1, .testo_1 p{font-size: clamp(3.2rem, 4vw + 1rem, 4.8rem); word-wrap: break-word; font-weight: 600; letter-spacing: -0.3rem;}
.testo_2, .testo_2 p{font-size: clamp(2.8rem, 3vw + 1rem, 4rem); word-wrap: break-word; font-weight: 600; letter-spacing: -0.3rem;}
.testo_3, .testo_3 p{font-size: clamp(2.4rem, 2vw + 1rem, 3.2rem); word-wrap: break-word;}
.testo_4, .testo_4 p{font-size: clamp(1.8rem, 1vw + 1rem, 2.4rem); word-wrap: break-word;}
.testo_5, .testo_5 p{font-size: clamp(1.6rem, 1vw + 1rem, 2rem); word-wrap: break-word;}
.testo_6, .testo_6 p{font-size: clamp(1rem, 1vw + 1rem, 1.6rem); word-wrap: break-word;}
.testo_7, .testo_7 p{font-size: clamp(0.8rem, 1vw + 1rem, 1.36rem); word-wrap: break-word;}

@media (max-height: 720px) {
  .headline{font-size: clamp(3.6rem, 3vw + 1rem, 6.4rem);}
  .testo_0{font-size: clamp(3.2rem, 2vw + 1rem, 4.8rem);}
}

.lsp-reduced{letter-spacing: -0.3rem;}

.regular{font-weight: 400;}
.bold{font-weight: 600;}
.black, .richtext-content .bold{font-weight: 700;}
.italic{font-style: italic;}
.uppercase{text-transform: uppercase;}
.capitalize{text-transform: capitalize;}
.underline{text-decoration: underline;}
.strikeThrough{text-decoration: line-through;}

.txt-lf, .txt-lf p{text-align: left;}
.txt-cn, .txt-cn p{text-align: center;}
.txt-rg, .txt-rg p{text-align: right;}
.txt-js, .txt-js p{text-align: justify; -webkit-hyphens: auto; -moz-hyphens: auto; hyphens: auto;}

.text-truncate{display: -webkit-box; -webkit-box-orient: vertical; overflow: hidden; line-clamp: 1; -webkit-line-clamp: 1;}
.text-truncate.max-two-lines{line-clamp: 2; -webkit-line-clamp: 2;}
.text-truncate.max-three-lines{line-clamp: 3; -webkit-line-clamp: 3;}

.text-columns-2 .block{display: block; columns: 2; column-gap: 40px; -webkit-column-gap: 40px; column-width: 280px; -webkit-column-width: 280px;}

a.primary, .primary.category a, a.primary *:not(a.primary .red-text, a.primary .secondary-text){color: var(--primary-color)!important;}
a.secondary-text:hover{color: var(--primary-color)!important;}
.white-text, a.white-text{color: #FFFFFF !important;}
.red-text{color: #FF0000 !important;}
.green-text{color: #008000;}
.orange-text{color: #FFA500 !important;}
.secondary-text, .secondary-text::placeholder{color: var(--secondary-color) !important;}

.lh_100{line-height: 105%;}

.auto-space p{margin-bottom: 2.4rem;}

.nowrap{text-wrap: nowrap;}

#privacy-cookie p, #privacy-cookie ul{font-size: 14px;}


/* ! Alignments */
/*----------------------------------------------------------------------------------- */
.w0{width: 0;}
.h0{height: 0;}

.full-width{width: 100%;}
.full-height{height: 100%;}

.z-10{z-index: -10;}
.z0{z-index: 0;}
.z10{z-index: 10;}
.z20{z-index: 20;}

.t0{top: 0;}
.r0{right: 0;}
.l0{left: 0;}
.r0{bottom: 0;}

.m0{margin: 0 !important;}
.m0a{margin: 0 auto;}

.ml8{margin-left: 0.8rem;}

.inset_0{inset: 0;}

.fixed{position: fixed;}
.absolute{position: absolute;}
.relative{position: relative;}

.flex{display: flex;}
.flex-column{flex-direction: column;}
.flex-wrap{flex-wrap: wrap;}
.flex-nowrap{flex-wrap: nowrap !important;}

@media (max-width: 948px) {#posts-filter{flex-wrap: wrap; max-width: 440px;}}
@media (max-width: 560px) {.flex{flex-wrap: wrap;}}

.jc-start{justify-content: flex-start;}
.jc-center{justify-content: center}
.jc-end{justify-content: flex-end;}
.jc-spbtw{justify-content: space-between;}
.jc-spard{justify-content: space-around;}
.jc-speve{justify-content: space-evenly;}

.al-start{align-items: flex-start;}
.al-center{align-items: center}
.al-end{align-items: flex-end;}

.alc-center{align-content: center;}

.trnsl--128{transform: translateY(-128px);}
.trnsl--160{transform: translateY(-160px);}
.trnsl--240{transform: translateY(-240px);}

@media (max-width: 990px) {
  .trnsl--128, .trnsl--240{transform: translateY(-64px);}
}


/* ! Visibilities */
/*----------------------------------------------------------------------------------- */
.block{display: block;}
.deleted{display: none !important;}
.disabled{opacity: 0.64; pointer-events: none; transition: all 0.24s cubic-bezier(.215, .61, .355, 1);}
.show-inhactive{pointer-events: none;}
.element-shown{opacity: 1 !important;}


/* ! Boxes */
/*----------------------------------------------------------------------------------- */
.r8{border-radius: 8px;}
.r16{border-radius: 16px;}
.r24{border-radius: 24px;}
.r32{border-radius: 32px;}
.r40{border-radius: 40px;}
.r48{border-radius: 48px;}
.r56{border-radius: 56px;}
.r64{border-radius: 64px;}


/* ! Spacers */
/*----------------------------------------------------------------------------------- */
.spacer_4{height: 0.4rem;}
.spacer_8{height: 0.8rem;}
.spacer_16{height: 1.6rem;}
.spacer_24{height: 2.4rem;}
.spacer_32{height: 3.2rem;}
.spacer_40{height: clamp(3.2rem, 3vw + 1rem, 4rem);}
.spacer_48{height: clamp(3.2rem, 3vw + 1rem, 4.8rem);}
.spacer_56{height: clamp(4rem, 4vw + 1rem, 5.6rem);}
.spacer_64{height: clamp(4rem, 4vw + 1rem, 6.4rem);}
.spacer_72{height: clamp(4.8rem, 5vw + 1rem, 7.2rem);}
.spacer_80{height: clamp(4.8rem, 5vw + 1rem, 8.0rem);}
.spacer_88{height: clamp(5.6rem, 6vw + 1rem, 8.8rem);}
.spacer_96{height: clamp(5.6rem, 6vw + 1rem, 9.6rem);}
.spacer_120{height: clamp(6.4rem, 7vw + 1rem, 12.0rem);}
.spacer_160{height: clamp(7.2rem, 9vw + 1rem, 16.0rem);}
.spacer_184{height: clamp(8rem, 10vw + 1rem, 18.4rem);}
.spacer_200{height: clamp(12rem, 11vw + 1rem, 20.0rem);}
.spacer_224{height: clamp(12rem, 12vw + 1rem, 22.4rem);}
.spacer_240{height: clamp(16rem, 13vw + 1rem, 24.0rem);}


/* ! Margins & paddings */
.pdd_4{padding: 0.4rem;}
.pdd_8{padding: 0.8rem;}
.pdd_16{padding: 1.6rem;}
.pdd_24{padding: 2.4rem;}
.pdd_32{padding: 3.2rem clamp(2.4rem, 2vw + 1rem, 3.2rem);}
.pdd_40{padding: 4rem clamp(2.4rem, 2vw + 1rem, 4rem);}

.pdd_v4{padding-top: 0.4rem; padding-bottom: 0.4rem;}
.pdd_v8{padding-top: 0.8rem; padding-bottom: 0.8rem;}
.pdd_v16{padding-top: 1.6rem; padding-bottom: 1.6rem;}
.pdd_v24{padding-top: 2.4rem; padding-bottom: 2.4rem;}
.pdd_v32{padding-top: clamp(2.4rem, 2vw + 1rem, 3.2rem); padding-bottom: clamp(2.4rem, 2vw + 1rem, 3.2rem);}

.pdd_h4{padding-left: 0.4rem; padding-right: 0.4rem;}
.pdd_h8{padding-left: 0.8rem; padding-right: 0.8rem;}
.pdd_h16{padding-left: 1.6rem; padding-right: 1.6rem;}
.pdd_h24{padding-left: 2.4rem; padding-right: 2.4rem;}
.pdd_h32{padding-left: clamp(2.4rem, 2vw + 1rem, 3.2rem); padding-right: clamp(2.4rem, 2vw + 1rem, 3.2rem);}


/* ! Gaps */
/*----------------------------------------------------------------------------------- */
.gap_4{gap: 0.4rem;}
.gap_8{gap: 0.8rem;}
.gap_16{gap: 1.6rem;}
.gap_24{gap: 2.4rem;}
.gap_32{gap: 3.2rem;}
.gap_40{gap: clamp(2.4rem, 2vw + 1rem, 4rem);}
.gap_48{gap: clamp(2.8rem, 2vw + 1rem, 4.8rem);}
.gap_56{gap: clamp(3.2rem, 4vw + 1rem, 5.6rem);}
.gap_64{gap: clamp(4rem, 4vw + 1rem, 6.4rem);}

.gap_h4{column-gap: 0.4rem;}
.gap_h8{column-gap: 0.8rem;}
.gap_h16{column-gap: 1.6rem;}
.gap_h24{column-gap: 2.4rem;}
.gap_h32{column-gap: 3.2rem;}
.gap_h40{column-gap: clamp(2.4rem, 2vw + 1rem, 4rem);}
.gap_h56{column-gap: clamp(3.2rem, 4vw + 1rem, 5.6rem);}
.gap_h64{column-gap: clamp(4rem, 4vw + 1rem, 6.4rem);}

.gap_v4{row-gap: 0.4rem;}
.gap_v8{row-gap: 0.8rem;}
.gap_v16{row-gap: 1.6rem;}
.gap_v24{row-gap: 2.4rem;}
.gap_v32{row-gap: 3.2rem;}
.gap_v40{row-gap: clamp(2.4rem, 2vw + 1rem, 4rem);}
.gap_v56{row-gap: clamp(3.2rem, 4vw + 1rem, 5.6rem);}
.gap_v64{row-gap: clamp(4rem, 4vw + 1rem, 6.4rem);}


/* ! Images */
/*----------------------------------------------------------------------------------- */
.fit-cover{object-fit: cover;}
.fit-fill{object-fit: fill;}


/* ! Helpers */
/*----------------------------------------------------------------------------------- */
.full-width{width: 100%;}

.width-fit{width: fit-content !important;}
.width-inherit{width: inherit;}

.height-fit{height: fit-content;}
.height-inherit{height: inherit;}

.opacity_80{opacity: 80%}
.overflow-hidden{overflow: hidden;}
.cursor-pointer{cursor: pointer;}
.border-none{border: none;}


/* ! Cookie Policy */
/*----------------------------------------------------------------------------------- */
#cmplz-document{max-width: 100%; text-align: justify;}


/* ! Wordpress Styles */
/*----------------------------------------------------------------------------------- */
.alignfull{width: 100vw;margin-left: calc(50% - 50vw);}
.alignwide{width: 90vw;margin-left: calc(50% - 45vw);}
