/*!
Theme Name: Centro medico San Raffaele
Theme URI: http://underscores.me/
Author: Underscores.me
Author URI: http://underscores.me/
Description: Description
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: centro-medico-san-raffaele
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

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

Centro medico San Raffaele is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Generic
	- Normalize
	- Box sizing
# Base
	- Typography
	- Elements
	- Links
	- Forms
## Layouts
# Components
	- Navigation
	- Posts and pages
	- Comments
	- Widgets
	- Media
	- Captions
	- Galleries
# plugins
	- Jetpack infinite scroll
# Utilities
	- Accessibility
	- Alignments

--------------------------------------------------------------*/

:root {
	--transition: .3s ease;

	--s-margin: 4em;
	--m-margin: 6em;
	--l-margin: 8em;

	--medium-width: 1000px;

	--shadow: drop-shadow(0 0 .3em rgba(0, 0, 0, .3));
}

* {
	scroll-margin-top: calc(var(--header-height) + var(--s-margin));
}

.slope {
	--clip-top-left-x: 0px;
	--clip-top-left-y: 0px;
	--clip-top-right-x: 0px;
	--clip-top-right-y: 0px;
	--clip-bottom-right-x: 0px;
	--clip-bottom-right-y: 0px;
	--clip-bottom-left-x: 0px;
	--clip-bottom-left-y: 0px;

	clip-path: polygon(var(--clip-top-left-x) var(--clip-top-left-y), calc(100% - var(--clip-top-right-x)) var(--clip-top-right-y), calc(100% - var(--clip-bottom-right-x)) calc(100% - var(--clip-bottom-right-y)), var(--clip-bottom-left-x) calc(100% - var(--clip-bottom-left-y)));
}

body.loaded *,
body.loaded *::before,
body.loaded *::after {
	word-wrap: break-word;
	transition: var(--transition);
}

p {
	margin: 0;
}

p:not(:first-child) {
	margin-top: 1rem;
}

body:not(.loaded) {
	opacity: 0;
}

a:not([href]) {
	cursor: default;
}

button {
	border: none;
}

.hidden {
	display: none !important;
}

.elementor-button-link {
	filter: var(--shadow);
}

.elementor-button-icon path {
	fill: currentColor;
}

.elementor-widget-text-editor,
.wp-block-paragraph,
.elementor-widget-theme-post-excerpt {
	font-size: 1.25em;
}

.leaflet-popup-content {
	margin: 1em;
}

.leaflet-popup-content p {
	margin: .25em 0;
}

[data-elementor-type="wp-page"]>.e-con>.e-con-inner,
[data-elementor-type="archive"]>.e-con>.e-con-inner,
[data-elementor-type="single-post"]>.e-con>.e-con-inner,
[data-elementor-type="wp-post"]>.e-con>.e-con-inner,
[data-elementor-type="search-results"]>.e-con>.e-con-inner {
	padding-inline-end: var(--s-margin);
	padding-inline-start: var(--s-margin);
}

[data-elementor-type="header"] {
	position: sticky;
	top: 0;
	left: 0;
	z-index: 1;
	background-color: var(--e-global-color-5c28a41);
}

header .primary-menu>ul {
	font-size: 1.5rem;
	line-height: 1;
}

body header .primary-menu a {
	color: var(--e-global-color-text);
}

body header .primary-menu a:hover {
	color: var(--e-global-color-primary);
}

header .primary-menu ul {
	list-style-type: none;
	margin: 0;
	padding: 0;
}

header .primary-menu>ul {
	display: flex;
	gap: 2.5em;
}

header .primary-menu>ul>li>div>a {
	font-family: 'Signika Negative';
	text-transform: uppercase;
}

header .primary-menu ul ul {
	position: absolute;
	top: calc(100% + 1em);
	left: 0;
	width: 100%;
}

header .primary-menu>ul>li.has-children::before,
header .primary-menu>ul>li.has-children>div>ul>.menu-item-subbmenu-bg {
	content: "";
	display: inline-block;
	position: absolute;
	top: -1em;
	left: -1em;
	width: calc(100% + 2em);
	background-color: var(--e-global-color-primary);
}

header .primary-menu>ul>li.has-children::before {
	height: calc(100% + 1em);
}

header .primary-menu>ul>li.has-children>div>ul>.menu-item-subbmenu-bg {
	height: calc(100% + 2em + var(--clip-bottom-left-y));
}

header .primary-menu>ul>li.has-children:not(:hover)::before,
header .primary-menu>ul>li.has-children:not(:hover)>div>ul {
	opacity: 0;
	pointer-events: none;
}

header .primary-menu>ul>li.has-children:hover a {
	transition: .15s ease all;
}

header .primary-menu>ul>li.has-children:hover a {
	color: var(--e-global-color-5c28a41) !important;
}

header .primary-menu ul ul>li:not(:first-of-type) {
	margin-top: .75em;
}

header .primary-menu ul ul>li>div>a {
	display: flex;
	align-items: start;
	font-size: .75em;
	color: var(--e-global-color-5c28a41) !important;
}

header .primary-menu ul ul>li>div>a::before {
	content: "";
	display: inline-block;
	flex-shrink: 0;
	width: .5em;
	height: auto;
	aspect-ratio: 1;
	background-color: var(--e-global-color-5c28a41);
	margin-right: .5em;
	margin-top: .25em;
}

header .primary-menu .menu-item {
	position: relative;
}

header .primary-menu .menu-item.current>div>a {
	color: var(--e-global-color-primary);
}

header .primary-menu .menu-item>div>a {
	position: relative;
}

header .primary-menu .menu-item.menu-item-last {
	padding: 0px 2.5em;
}

header .primary-menu .menu-item.menu-item-last .menu-item-last-bg {
	content: "";
	position: absolute;
	top: -10em;
	left: 0;
	width: 100%;
	height: calc(100% + 14em + var(--clip-bottom-left-y));
	background-color: var(--e-global-color-primary);
}

header .primary-menu .menu-item.menu-item-last>div>a {
	color: var(--e-global-color-5c28a41);
}

.elementor-widget-icon {
	flex-shrink: 0 !important;
}

.elementor-widget-icon,
.elementor-icon-wrapper {
	display: inline-flex;
}

.modal:not(.open) {
	transform: translateY(calc(-100% - 1rem));
}

body:has(.modal.open) [data-elementor-type="header"]+* {
	filter: blur(10px);
}

.e-search {
	background-color: var(--e-global-color-5c28a41);
	border: 1px solid var(--e-global-color-secondary);
	padding: .25em;
	max-width: 500px;
}

.elementor-widget-search.center .e-search {
	margin: auto;
}

#mappa {
	width: 100%;
	height: 100%;
}

.medici-title:not(:first-of-type) {
	margin-top: 4em;
}

.medici-title>.elementor-heading-title {
	font-size: var(--e-global-typography-38cc6a3-font-size) !important;
	color: var(--e-global-color-secondary) !important;
}


.medici-title>.elementor-heading-title+.medici-list {
	margin-top: 2em;
}

.medici-list {
	display: flex;
	flex-wrap: wrap;
	gap: 2em;
}

.medici-list>.e-loop-item {
	width: calc(calc(100% - 2em * 3) / 4);
}

.medici-list.centered {
	justify-content: center;
}

.medici-list:not(.altri-medici)>.e-loop-item:nth-of-type(even)>.e-con {
	background-color: var(--e-global-color-secondary) !important;
}

.medici-list>.e-loop-item>.e-con {
	height: 100%;
}

.accordion-description:not(.show) {
	overflow: hidden;
	display: -webkit-box;
	line-clamp: 3;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
}

.accordion-description.long:not(.show) {
	overflow: hidden;
	display: -webkit-box;
	line-clamp: 8;
	-webkit-line-clamp: 8;
	-webkit-box-orient: vertical;
}

.accordion-button-show,
.accordion-button-hide {
	cursor: pointer;
}

.elementor-widget-text-editor ul {
	list-style-type: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: .5em;
	margin-left: 1em;
}

.elementor-widget-text-editor ul:not(:first-child) {
	margin-top: .5em;
}

.elementor-widget-text-editor ul>li::before {
	content: "";
	display: inline-block;
	flex-shrink: 0;
	width: .5em;
	height: auto;
	aspect-ratio: 1;
	background-color: var(--e-global-color-secondary);
	margin-right: .5em;
	margin-top: .25em;
}

.sede>p {
	margin: 0 !important;
}

.sede>p>br {
	display: none;
}

.link-prenota {
	background-color: var(--e-global-color-primary) !important;
}

.link-prenota:hover {
	background-color: var(--e-global-color-89ff7da) !important;
}

.link-prenota.big,
.big>.elementor-button {
	display: inline-block;
	overflow: hidden;
	width: 100%;
	font-size: 2em !important;
}

.link-prenota.big a {
	width: 100%;
}

.link-prenota.big .elementor-button-icon,
.big>.elementor-button .elementor-button-icon {
	position: absolute;
	top: 50%;
	left: 0;
	transform: translate(-6%, -50%);
	opacity: .5;
}

.link-prenota.big .elementor-button-icon svg,
.big>.elementor-button .elementor-button-icon svg {
	height: auto;
	width: 2.5em;
}

.link-info {
	background-color: var(--e-global-color-8b590c1) !important;
}

.link-info:hover {
	background-color: var(--e-global-color-803ba6e) !important;
}

.link-info.big {
	width: 100%;
}

.search-content {
	margin: var(--s-margin) 0;
}

.search-list {
	display: flex;
	flex-direction: column;
	max-width: var(--medium-width);
	margin: auto;
}

.search-list>a {
	border-bottom: 1px solid var(--e-global-color-primary);
	padding: 2em 0;
}

.search-item-title {
	display: flex;
	gap: 1em;
	justify-content: space-between;
	margin: 0;
	font-family: var(--e-global-typography-38cc6a3-font-family), Sans-serif;
	font-size: var(--e-global-typography-38cc6a3-font-size);
	font-weight: var(--e-global-typography-38cc6a3-font-weight);
	line-height: var(--e-global-typography-38cc6a3-line-height);
	letter-spacing: var(--e-global-typography-38cc6a3-letter-spacing);
	word-spacing: var(--e-global-typography-38cc6a3-word-spacing);
	color: var(--e-global-color-primary);
}

a:hover>.search-item-title {
	color: var(--e-global-color-secondary);
}

.search-item-excerpt {
	overflow: hidden;
	display: -webkit-box;
	line-clamp: 3;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	color: var(--e-global-color-text);
	margin-top: 1em;
}

.search-pagination {
	display: flex;
	justify-content: center;
	gap: 1em;
	margin-top: 2em;
	text-align: center;
}

.search-pagination>* {
	font-size: 1.5em;
}

.no-results {
	text-align: center;
	font-size: 1.25em;
}

.filtri-aree {
	display: flex;
	flex-wrap: wrap;
	gap: 1em;
	margin-top: 1em;
}

.filtro-area {
	font-family: 'Lora' !important;
	text-transform: initial !important;
	padding: .5em !important;
	color: var(--e-global-color-text) !important;
	background-color: var(--e-global-color-93cd490) !important;
	border: 1px solid var(--e-global-color-secondary) !important;
	cursor: pointer;
}

.filtro-area.selected {
	color: var(--e-global-color-5c28a41) !important;
	background-color: var(--e-global-color-secondary) !important;
}

.filtro-area.prelievi {
	background-color: var(--e-global-color-47939d5) !important;
	border-color: var(--e-global-color-6f9d38c) !important;
}

.filtro-area.prelievi.selected {
	background-color: var(--e-global-color-6f9d38c) !important;
}

.prestazioni {
	display: flex;
	gap: var(--s-margin);
}

.prestazioni-column {
	width: 100%;
	display: flex;
	flex-direction: column;
	gap: var(--s-margin);
}

.prestazioni-area {
	transition: none;
}

.prestazioni-area.open {
	transition: none;
}

.prestazioni-area:nth-of-type(even) .elementor-widget-heading .elementor-heading-title {
	color: var(--e-global-color-primary) !important;
}

.prestazioni-area:nth-of-type(even) .prestazione .elementor-button-icon svg path {
	fill: var(--e-global-color-primary) !important;
}

.prestazioni-area:nth-of-type(even) .prestazione {
	border-color: var(--e-global-color-primary) !important;
}

.prestazioni-area:nth-of-type(even) .prestazione:hover {
	color: var(--e-global-color-primary) !important;
}

.prestazioni-area:nth-of-type(even) .espandi-prestazioni,
.prestazioni-area:nth-of-type(even) .comprimi-prestazioni {
	background-color: var(--e-global-color-bf0c46c) !important;
	border-color: var(--e-global-color-primary) !important;
}

.prestazioni-area.prelievi .elementor-widget-heading .elementor-heading-title {
	color: var(--e-global-color-6f9d38c) !important;
}

.prestazioni-area.prelievi .prestazione .elementor-button-icon svg path {
	fill: var(--e-global-color-6f9d38c) !important;
}

.prestazioni-area.prelievi .prestazione {
	border-color: var(--e-global-color-6f9d38c) !important;
}

.prestazioni-area.prelievi .prestazione:hover {
	color: var(--e-global-color-6f9d38c) !important;
}

.prestazioni:has(.prestazioni-area.selected) .prestazioni-column:not(:has(.prestazioni-area.selected)) {
	display: none;
}

.prestazioni-title>.elementor-heading-title {
	font-size: var(--e-global-typography-5d80432-font-size);
	color: var(--e-global-color-secondary) !important;
}

.prestazioni-categorie {
	margin-top: 1em;
}

.prestazione {
	display: flex;
	justify-content: space-between;
	gap: 1em;
	color: var(--e-global-color-text) !important;
	text-decoration: none;
	font-size: 1.25em;
	padding: .5em 0;
}

.prestazione:hover {
	color: var(--e-global-color-secondary) !important;
}

.prestazione {
	border-bottom: 1px solid var(--e-global-color-secondary);
}

.prestazione .elementor-button-icon svg {
	height: auto;
	width: 1.5em;
}

.prestazione .elementor-button-icon svg path {
	fill: var(--e-global-color-secondary);
}

.prestazioni-area:not(.open):not(.selected) .prestazioni-categorie:not(.expand) .prestazione:nth-child(n+4) {
	display: none;
}

.espandi-prestazioni,
.comprimi-prestazioni {
	font-family: 'Lora' !important;
	font-size: 1em !important;
	margin-top: 1em !important;
	padding: .5em !important;
	color: var(--e-global-color-text) !important;
	background-color: var(--e-global-color-93cd490) !important;
	border: 1px solid var(--e-global-color-secondary) !important;
	cursor: pointer;
}

.servizio-prestazione {
	display: flex;
	align-items: center;
	gap: 1em;
	padding: .5em 0;
	border-bottom: 1px solid var(--e-global-color-secondary);
}

.servizio-prestazione-title {
	margin: 0;
	font-size: 1.25em;
}

.servizio-prestazione-info {
	flex-grow: 1;
	display: flex;
	flex-direction: column;
	gap: .5em;
}

.servizio-prestazione-medici {
	flex-shrink: 0;
	display: flex;
	flex-direction: column;
	gap: .5em;
}

.servizio-prestazione-medico {
	text-align: right;
}

.servizio-prestazione-medico-title {
	display: block;
	margin-bottom: .25em;
	color: var(--e-global-color-secondary) !important;
}

.servizio-prestazione-medico-title:hover {
	color: var(--e-global-color-primary) !important;
}

.servizio-prestazione-medico .elementor-button {
	padding: .25em !important;
}

.servizio-prestazione-content.accordion-description:not(.show) {
	display: none;
}

.postid-1404 #primary {
	--e-global-color-primary: var(--e-global-color-6f9d38c);
	--e-global-color-secondary: var(--e-global-color-6f9d38c);
	--e-global-color-89ff7da: var(--e-global-color-666fbd3);
	--e-global-color-05e4ea2: var(--e-global-color-666fbd3);
}

.open-menu {
	display: block;
	background-color: transparent !important;
	padding: 0 !important;
	width: 4em;
	height: 3em;
}

.open-menu>div {
	background-color: var(--e-global-color-text);
	width: 3em;
	height: .2em;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%) skewY(-4deg);
}

.open-menu>div:first-child {
	transform: translate(-50%, calc(-50% - 1em)) skewY(-4deg);
}

.open-menu>div:last-child {
	transform: translate(-50%, calc(-50% + 1em)) skewY(-4deg);
}

.header-menu.open>.open-menu>div:first-child,
.header-menu.open>.open-menu>div:last-child {
	transform: translate(-50%, -50%) rotate(49deg) skewY(-4deg);
}

.header-menu.open>.open-menu>div:nth-child(2) {
	transform: translate(-50%, -50%) rotate(-41deg) skewY(-4deg);
}

.cky-btn {
	color: white !important;
	background-color: var(--e-global-color-secondary) !important;
	border: 1px solid var(--e-global-color-secondary) !important;
}

.totem-button:not(.nofocus):hover,
.totem-button:not(.nofocus):active,
.cky-btn.cky-btn-reject:hover,
.cky-btn.cky-btn-preferences:hover,
.cky-btn.cky-btn-reject:active,
.cky-btn.cky-btn-preferences:active {
	background: var(--e-global-color-secondary) !important;
}

.totem-button.secondary:not(.nofocus):hover,
.totem-button.secondary:not(.nofocus):active,
.cky-btn.cky-btn-reject:hover,
.cky-btn.cky-btn-preferences:hover,
.cky-btn.cky-btn-reject:active,
.cky-btn.cky-btn-preferences:active {
	background: var(--e-global-color-secondary) !important;
}

.cky-preference-content-wrapper .cky-show-desc-btn,
button.cky-show-desc-btn:not(:hover):not(:active) {
	color: var(--e-global-color-secondary) !important;
}

.cky-switch input[type="checkbox"]:checked {
    background: var(--e-global-color-primary) !important;
}

.cky-consent-container .cky-consent-bar {
	border: none !important;
}

@media screen and (max-width: 1800px) {
	html {
		font-size: 14px;
	}
}

@media screen and (max-width: 1500px) {
	html {
		font-size: 12px;
	}
}

@media screen and (max-width: 1200px) {
	html {
		font-size: 10px;
	}
}

@media screen and (min-width: 1025px) {
	.mobile-only {
		display: none !important;
	}

	.primary-menu {
		clip-path: initial !important;
	}
}

@media screen and (max-width: 1024px) {
	html {
		font-size: 10px;
	}

	.desktop-only {
		display: none !important;
	}

	[data-elementor-id="2127"] {
		display: none;
	}

	.primary-menu {
		position: fixed;
		top: 10em;
		left: 2em;
		width: calc(100% - 4em);
		max-height: calc(100% - 2em - 10em);
		clip-path: none;
		filter: var(--shadow);
		color: var(--e-global-color-5c28a41) !important;
	}

	.header-menu:not(.open) .primary-menu {
		transform: translate(100vw, calc(var(--clip-top-left-y) * -1 - 0.28em));
	}

	.primary-menu::before {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-color: var(--e-global-color-secondary);
		clip-path: polygon(var(--clip-top-left-x) var(--clip-top-left-y), calc(100% - var(--clip-top-right-x)) var(--clip-top-right-y), calc(100% - var(--clip-bottom-right-x)) calc(100% - var(--clip-bottom-right-y)), var(--clip-bottom-left-x) calc(100% - var(--clip-bottom-left-y)));
	}

	header .primary-menu>ul {
		flex-direction: column;
		gap: 1.5em;
		padding: 1.5em;
		font-size: 2em;
		padding-top: calc(var(--clip-top-left-y) + 1.5em);
		padding-bottom: calc(var(--clip-top-left-y) + 1.5em);
	}

	header .primary-menu .menu-item a {
		display: block;
		color: var(--e-global-color-5c28a41) !important;
	}

	header .primary-menu .menu-item.menu-item-last {
		padding: 1em;
		margin-bottom: -2.5em;
		margin-left: -.75em;
		width: calc(100% + 1.5em);
	}

	header .primary-menu .menu-item.menu-item-last .menu-item-last-bg {
		top: 0;
		width: 100%;
		height: calc(100% + var(--clip-bottom-left-y));
		clip-path: polygon(0 0, 100% 0, 100% calc(100% - var(--clip-bottom-left-y)), 0 100%);
	}

	header .primary-menu ul ul {
		position: initial !important;
		opacity: 1 !important;
		pointer-events: initial !important;
		margin-top: .75em;
	}

	header .primary-menu .menu-item .elementor-button-icon {
		z-index: 1;
	}

	header .primary-menu>ul>.menu-item .elementor-button-icon svg {
		width: 1.5em;
	}

	header .primary-menu>ul>li.has-children::before {
		display: none !important;
	}

	header .primary-menu .menu-item {
		position: relative;
		display: flex;
		align-items: flex-start;
		gap: .5em;
	}

	body:has(.header-menu.open) [data-elementor-type="header"]+* {
		filter: blur(10px);
	}

	.medici-list>.e-loop-item {
		width: calc(calc(100% - 2em * 2) / 3);
	}
}

@media screen and (max-width: 767px) {
	:root {
		--s-margin: 2em;
		--m-margin: 4em;
		--l-margin: 4em;
	}

	html {
		font-size: 12px;
	}

	.medici-list>.e-loop-item {
		width: 100%;
	}

	.prestazioni {
		flex-direction: column;
	}
}