@import url('inter_external_css.css');

/*
@import url('libre_baskerville_external_css.css');
*/

:root {
	--blue: #0057FF;
	--darkblue: #0057FF;
	--rounded: 0.75rem;
	--lightblue: #3379FF;
}

* {
	padding: 0px;
	margin: 0px;
	border: 0;
	font-family: inherit;
	box-sizing: border-box;
}

html {
	font-family: 'Inter', sans-serif;
	text-size-adjust: none;
	-webkit-text-size-adjust: none;
	scroll-behavior: smooth;
}

body {
	/*	font-weight: 400;
	font-size: 0.94rem; 
	*/
	line-height: 1.4;
	color: #242424;
	width: 100%;
	padding-bottom: 0;
	margin-bottom: 0;
}


.libre-baskerville-regular {
	/* font-family: "Libre Baskerville", serif; */
	font-weight: 400;
	font-style: normal;
}

.libre-baskerville-bold {
	/* font-family: "Libre Baskerville", serif; */
	font-weight: 700;
	font-style: normal;
}

.libre-baskerville-regular-italic {
	/* font-family: "Libre Baskerville", serif; */
	font-weight: 400;
	font-style: italic;
}

@supports (font-variation-settings: normal) {
	html {
		font-family: 'Inter', sans-serif;
	}
}


img {
	max-width: 100%;
	height: auto;
}

/* grids
--------------------------------------------- */

.nooverflow {
	width: 100%;
	overflow: hidden;
}

.overflow {
	overflow: auto;
}

.container {
	width: 90%;
	margin: auto;
	max-width: 1440px;
}

.container>.container {
	width: 100%;
}

.row {
	display: grid;
	grid-column-gap: 30px;
	grid-row-gap: 30px;
	margin-bottom: 15px;
}

.row-auto {
	grid-auto-columns: 1fr;
	grid-auto-flow: column;
}

.nogap {
	grid-column-gap: 0px;
	grid-row-gap: 0px;
	margin-bottom: 0px;
}

.no-row-gap {
	grid-row-gap: 0px;
	margin-bottom: 0px;
}

.column-gap-min {
	grid-column-gap: 10px;
	grid-row-gap: 0px;
	margin-bottom: 0px;
}

.row-1 {
	grid-template-columns: 1fr;
}

.row-1-1 {
	grid-template-columns: repeat(2, 1fr);
}

.row-1-1-1 {
	grid-template-columns: repeat(3, 1fr);
}

.row-1-1-1-1 {
	grid-template-columns: repeat(4, 1fr);
}

.row-1-1-1-1-1 {
	grid-template-columns: repeat(5, 1fr);
}

.row-1-1-1-1-1-1 {
	grid-template-columns: repeat(6, 1fr);
}

.row-1-2 {
	grid-template-columns: 1fr 2fr;
}

.row-2-1 {
	grid-template-columns: 2fr 1fr;
}

.row-1-3 {
	grid-template-columns: 1fr 3fr;
}

.row-1-4 {
	grid-template-columns: 1fr 4fr;
}

.row-1-5 {
	grid-template-columns: 1fr 5fr;
}

.row-1-18 {
	grid-template-columns: 1fr 18fr;
}

.row-1-24 {
	grid-template-columns: 1fr 24fr;
}

.row-3-1 {
	grid-template-columns: 3fr 1fr;
}

.row-4-1 {
	grid-template-columns: 4fr 1fr;
}

.row-1-2-2 {
	grid-template-columns: 1fr 2fr 2fr;
}

.row-1-1-3 {
	grid-template-columns: 1fr 1fr 3fr;
}

.row-3-2-1 {
	grid-template-columns: 3fr 2fr 1fr;
}

.row-1-4-1 {
	grid-template-columns: 1fr 4fr 1fr;
}

.row-1-1-4 {
	grid-template-columns: 1fr 1fr 4fr;
}

.row-special-1 {
	/* background-color: blue;	*/
	grid-column: 1 / span 2;
	grid-row: 2;
}

.row-minmax {
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
}

.row-minmax-auto-fill {
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
}

.row-center {
	align-items: center;
}

/* vertical align */

.align-items-top {
	align-items: start;
	vertical-align: top;
}

.align-items-end {
	align-items: end;
	vertical-align: bottom;
}

.align-items-center {
	align-items: center;
	vertical-align: middle;
}

@media only screen and (max-width: 576px) {
	.row-sm {
		display: block;
		width: 100%;
	}
}

@media only screen and (max-width: 768px) {
	.row-md {
		display: block;
		width: 100%;
	}
}

@media only screen and (max-width: 960px) {
	.row-960 {
		display: block;
		width: 100%;
	}
}

@media only screen and (max-width: 992px) {
	.row-lg {
		display: block;
		width: 100%;
	}
}

@media only screen and (max-width: 1160px) {
	.row-xl {
		display: block;
		width: 100%;
	}
}


.row-portfolio {
	grid-column-gap: 0px;
	align-items: stretch;
	grid-row-gap: 0px;
	border-left: 1px solid #DDDDDD;
}

.row-portfolio > div {
  display: flex;
  flex-direction: column;
  height: 100%;

}

/*
.row-portfolio > div {
  border-right: 1px solid #DDDDDD;
  border-bottom: 1px solid #DDDDDD;  
}
*/

.row-portfolio > * {
  border-right: 1px solid #DDDDDD;
  border-bottom: 1px solid #DDDDDD;  
}


.row-portfolio > div h3 , .row-portfolio > div .portfolio_h3 {
  padding: 20px;
}

.row-portfolio > div p {
  padding: 0px 20px 20px 20px;
}


.scroll_parent{
	overflow-x: hidden;
	
	/*
	position: relative;
	border: 1px solid red;
	overflow-x: hidden; 
	touch-action: none;
	user-select: none;
	overflow-y: hidden;	
	scroll-snap-type: both mandatory;
	*/

}

.scroll_parent_bars {
	overflow-x: scroll;
}

.scroll_child{
  width:10000px;
  padding:10px;
  cursor: grab;
  /*
  position: absolute;
  left: 0;
  */
}



/* general
--------------------------------------------- */
.main {
	min-height: 75vh;
	padding-bottom: 2em;
	/* padding-top: 70px; */
	padding-top: 130px;
}

.b {
	font-weight: bold;
}

.center {
	text-align: center;
}

.left {
	text-align: left;
}

.right {
	text-align: right;
}

.hidden {
	display: none;
}

.block , .display {
	display: block;
}

.opacity_0 {
	opacity: 0;
}

.bggrey {
	background-color: #F9F9F9;
}

.bggreydark {
	background-color: #E5E5E5;
}

.grey {
	color: #64676A;
}

.bgwhite {
	background-color: #FFFFFF;
}

.inherit_color {
	color: inherit;
}

a, .a {
	cursor: pointer;
	color: var(--blue);
}

a img {
	transition: all 0.2s ease;
	outline: none;
}

a:hover {
	color: var(--darkblue);
}

a:hover img {
	opacity: 0.9;
}

ul.ulsquare li {
	list-style: square;
	margin-left: 1em;
	padding: 0.5em 0px;
}

.dark {
	color: white;
	text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.5);
	/* background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.2)); */
	background-color: #242424;
}

.rounded {
	border-radius: var(--rounded);
}

.img-round {
	border-radius: 50%;
	max-width: 100px;
	display: block;
	margin: 10px auto 10px auto;
}

.portfolio_box_169, .portfolio_box_11 , .youtube_iframe_box {
  display: block;
  position: relative;
  width: 100%;
  padding-top: 56.25%;
  overflow: hidden;
  height: 0;
}

.portfolio_box_11 {
  padding-top: 100.00%;
}


.portfolio_box_169 img, .portfolio_box_11 img, .youtube_iframe_box iframe {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  min-height: 100%;
  object-fit: cover;
  transition: transform 0.5s;
}

.zoomhover:hover {
	transform: scale(1.1);
}


@media only screen and (max-width: 768px) {
	.portfolio_box_2 {
		margin-bottom: 15px;
	}
}

.youtube-icon { position: absolute; left: 50%; top: 50%;}


.width-100 {
	width: 100%;
}

.relative {
	position: relative;
}

pre {
	font-family: monospace, "Courier New", Courier;
	background-color: #E5E5E5;
	padding: 20px;
	margin: 10px 0px;
	overflow: auto;
	max-width: 100%;
}

.code {
	white-space: pre ;
	font-family: 'Courier New', Courier, monospace;
}

hr {
	margin-top: 20px;
	border-bottom: 10px solid #F9F9F9;
	margin-bottom: 30px;
}

.del {
	text-decoration: line-through;
}

.pad-10 {
	padding: 10px;
}

.pad-30 {
	padding: 30px;
}

.nomargin {
	margin: 0px;
}

.nopadding {
	padding: 0px;
}

.card {
	border: 1px solid rgba(0,0,0,.125);
	margin: 10px auto 10px auto;
	height: 100%;
  }

.shadow , .shadow-hover:hover {
	transition-duration: 0.2s;
	box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
}

/******************************************************************************/

h1 {
	font-size: 465%;
	font-weight: 900;
	line-height: 110%;
	padding: 1em 5px;
	letter-spacing: -2.0px;
	text-wrap: balance;
}

h2 {
	font-size: 330%;
	font-weight: 600;
	padding: 0.5em 0px 0.2em;
	letter-spacing: -2.0px;
	text-wrap: balance;
}

h3 {
	font-size: 150%;
	font-weight: 600;
	padding: 0.5em 0px 0.2em;
	text-wrap: balance;
}

h4 {
	padding: 0.5em 0px 0.2em;
	text-wrap: balance;
}

.subtitle {
	font-size: 150%;
	font-weight: 600;
	padding: 0.5em 0px 0.2em;
	max-width: 36em;
	text-wrap: balance;
	margin: auto;
}

p {
	padding: 0.5em 0px;
}

/** menu **********************************************************************/

.header {
	background-color: #fff;
	position: fixed;
	width: 100%;
	/*
	padding: 10px 0px 0px 0px;
	border-bottom: 1px solid #DADCE0;
	box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.15);
	*/

	z-index: 10;
	height: auto;
	transition: all 0.5s ease;
}

.body_scroll_down .header {
	margin-top: -1000px;
}

.body_scroll_up .header , .body_neutral .header {
	margin-top: 0px;
}

.menu-box {
	padding: 10px 0px;
}

nav a {
	text-decoration: none;
}

nav a:hover {
	text-decoration: underline;
}

ul#menu {
	display: block;
	border: 1px solid #E7E7E7;
	border-width: 1px 0px 1px 0px;
	text-align: center;

	display: grid;
	grid-auto-columns: 1fr;
	grid-auto-flow: column;

	max-height: 70vh;
}

#menu li,
#menu-1 li {
	display: inline;
	position: relative;
}

#menu li a,
#menu-1 a {
	display: inline-block;
	padding: 15px;
	font-weight: 600;
}

#menu-1 a {
	font-weight: 400;
}

#menu ul,
#menu-1 ul {
	display: none;
}

#menu ul li a,
#menu-1 ul li a {
	display: block;
	padding: 10px;
	border-radius: 5px;
	margin: 4px 0px;
	font-weight: 400;
}

#menu b , #menu-1 b {
	display: block;
}


#menu ul li a:hover,
#menu-1 ul li a:hover {
	background-color: #FAFAFA;
}

#menu ul li a span {
	display: block;
	font-weight: 400;
	text-wrap: balance;
}

#menu a:hover {
	text-decoration: underline;
	text-decoration-color: rgba(0, 0, 0, 0.2);
	text-underline-offset: 4px;
}

#menu-lang-box {
	display: inline;
}

#menu-4-mini img , #menu-4-mini .icon {
	display: block;
	margin: auto;
}

#menu-4-mini .icon {
	margin-bottom: 14px;
}

/** table ****************************************************************************/

table {
	width: 100%;
}

table, th, td {
    border: 1px solid #E5E5E5;
    border-collapse: collapse;
}

th {
	font-weight: bold;
	background-color: #E5E5E5;
	text-wrap: balance;
}

th , td {
	padding: 0.3em;
	font-size: inherit;
}

td {
	vertical-align: top;
}

tr {
    transition: none;
}

tr:nth-child(even) {
    background-color: #FAFAFA;
}

tr:hover {
	background-color: #F5F5F5;
}

.table-layout-fixed {
	table-layout: fixed;
}

.table {
	display: table;
}

.tr {
	display: table-row;
}

.td {
	display: table-cell;
	padding: 0.3em;
	vertical-align: top;
}


/* animazioni ***************************************************************************/

.fadein {
	animation: fadein linear 0.5s forwards;
}

@keyframes fadein {
  0% {opacity:0;}
  100% {opacity:1;}
}

@keyframes menu-fade-in {
	from {
		opacity: 0;
		margin-top: -5px;
	}

	to {
		opacity: 1;
		margin-top: 0px;
	}
}

.scroll_child_animation_lr {
	animation: animation_lr linear 120.0s;
	animation-iteration-count: infinite;
}

@keyframes animation_lr {
	/*
  0% {transform: translate(-0rem, -0);}
  100% {transform: translate(-100%, -0);}
  */
  0% {margin-left: 0px; opacity: 0%;}
  1% {opacity: 100%;}
  99% {opacity: 100%;}
  100% {margin-left: calc(-10000px + 100%); opacity: 0%;}

}

/* slider_fadein / big_header_logo_box *************************************************/

/*
aspect ratio  | padding-top value
	1:1       |       100%
	16:9      |       56.25%
	4:3       |       75%
	3:2       |       66.66%
	8:5       |       62.5%
*/

.slider_fadein {
	position: relative;
	width: 100%; 
	padding-top: 33.85%; 
	text-align: center; 
	background-color: #FFFFFF;
}

.slider_fadein div { 
	position:absolute; 
	left:0; 
	top:0; 
	transition:opacity 1s; 
	opacity:1; 
	width: 100%;
	height: 100%;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	z-index: 1;
	
	
	}

.slider_fadein .is-hidden {
	opacity:0; 
	}
	
.big_header {
	position: relative;
}
#big_header_logo_box {
	position: absolute; 
	top: 0%;
	left: 0%;
	width: 100%;
	height: 0%;
	padding-top: 33%;
	text-align: center;
	display: grid;
	place-items:  center;	
	overflow: hidden;
	}	

img#big_header_logo {
	box-sizing: border-box;
	padding: 0% 0px 0px 0px;	
	max-height: 80%;
	width: auto;
	position: absolute;
	z-index: 2;
	}
	

/* gallery *****************************************************************************/

#lightbox_viewer_box > * , #lightbox_img_box > * , lightbox_viewer_box_modal > * {
	box-sizing: border-box;
}

#lightbox_viewer_closer_2 , #lightbox_viewer_closer_2_modal {
	position: fixed;
	top: 0px;
	left: 0px;
	height: 100%;
	width: 100%;
	text-align: center;
	z-index: 20;
	background-color: rgba(0, 0, 0, 0.85);
	display: flex;
	justify-content: center;
  	align-items: center;
}
			
#lightbox_viewer_closer , #lightbox_viewer_closer_modal {
	position: fixed;
	top: 0px;
	left: 0px;
	height: 100%;
	width: 100%;
	text-align: center;
	z-index: 21;
	
  }

#lightbox_img_box , #lightbox_img_box_modal , #lightbox_img , .lightbox_img_animate {
	animation-iteration-count:1;
	animation:slightbox 0.1s;
}			

@keyframes slightbox
{
	 0%   {
		opacity: 0.1;
	 } 
	 
	 50%   {
		opacity: 100.0;
	 } 
	 
}

			
#lightbox_img_box , #lightbox_img_box_modal {
	display: inline-block;
	width: auto;
	height: auto;
	max-width: 90%;
	max-height: 90%;
	top: 0%;
	left: 0;  
	right: 0;  
	margin: auto;	
	/*
	animation:slightbox 0.7s;
	animation-iteration-count:1;
	*/
	position: relative;

}	

#lightbox_img_box img , #lightbox_img_box_modal iframe {		
	max-width: 100%;
	max-height: 85vh;
	position: relative;
	top: 0px;
	left: 0px;
	z-index: 24;
	border: 1px solid rgba(255, 255, 255, 0.50);
	animation:slightbox 0.7s;
	animation-iteration-count:1;
	background-color: white;
	vertical-align: top;
}
	
#lightbox_img_box_modal iframe {
	width: 85vw;
	height: 85vh;
}
	
#lightbox_viewer_closer img:hover , #lightbox_viewer_closer_modal img:hover {
	opacity: 1;
}	

	
a#lightbox_viewer_prev , a#lightbox_viewer_next {
	display: block;
	height: 100%;
	position: absolute;
	top: 0px;
	left: 0px;
	width: 45%;
	z-index: 26;
	transition: all 0.2s ease;
	/* background-color: rgba(0,0,0,0.3); */
	text-decoration: none;
	color: #fff;
	font-size: 60px;
	/*	padding-top: calc(25% - 20px); */
	opacity: 0.5;
	outline: 0;
}

a#lightbox_viewer_prev svg , a#lightbox_viewer_next svg {
	position: absolute;
  	top: 50%;
	transform: translateY(-50%);
}

a#lightbox_viewer_next svg {
  	right: 20px;
}
	
a#lightbox_viewer_prev {
	text-align: left;
	padding-left: 20px;
}

a#lightbox_viewer_next {
	text-align: right;
	padding-right: 20px;
}		
		
a#lightbox_viewer_next {
	left: auto;
	right: 0px;
}

a:hover#lightbox_viewer_prev {
	/* background-color: rgba(0, 0, 0, 0.1); */
	/* background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) , rgba(0, 0, 0, 0) , rgba(0, 0, 0, 0)); */
	opacity: 0.8;
}	

a:hover#lightbox_viewer_next {
	/* background-color: rgba(0, 0, 0, 0.1); */
	/* background-image: linear-gradient(to right, rgba(0, 0, 0, 0) , rgba(0, 0, 0, 0) , rgba(0, 0, 0, 0.5)); */
	opacity: 0.8;
}
	
#lightbox_viewer_closer_top , #lightbox_viewer_closer_top_modal {
	display: block;
	background-color: rgba(0, 0, 0, 0.85);
	position: absolute;
	z-index: 28;
	top: -10px;
	right: -10px;
	font-size: 12px;
	text-decoration: none;
	padding: 7px 12px;
	color: #fff;
	border-radius: 50%;
}


#lightbox_label {
	position: absolute;
	z-index: 28;
	top: 100%;
	left: 0%;
	width: 100%;
	font-size: 12px;
	text-decoration: none;
	padding: 7px 12px;
	color: #fff;
}

.lightbox_loader {
  width: 40px;
  height: 40px;
  border: 4px solid #ccc;
  border-top-color: transparent;
  border-radius: 50%;
  animation: lightbox_loader_spin 0.8s linear infinite;
}

@keyframes lightbox_loader_spin {
  to {
	transform: rotate(360deg);
  }
}

/* form *****************************************************************************/


label {
	display: block;
	padding: 1.5em 0px 0.5em;
	font-weight: bold;
}

input, textarea, select , .input {	
	display: block;
	width: 100%;
	margin: 0px auto;
	padding: 0px;
	background-color: White;
	border: 1px solid #d6d6d6;
	font-family: inherit;
	font-size: 100%;
	padding: 1em;
	line-height: 1.5em;
	border-radius: 3px;
	transition: all 0.1s ease;
	font-weight: 400;
	color: #212529;
	}
	
input[type='checkbox'] , input[type='radio']
	{
		display: inline;
		width: auto;
	}

::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
  color: #ABABAB;
  opacity: 1; /* Firefox */
}

textarea {
	min-height: 9em;
}

input , textarea , select , .button
{
	box-shadow: 0 0 0 2px rgba(120, 120, 120, 0.1);
}
	
input:hover , textarea:hover , select:hover, .button:hover
{
	box-shadow: 0px 1px 3px 2px rgba(0, 0, 0, 0.1);
}

input:focus, textarea:focus, select:focus {
	border: 1px solid var(--blue);
	outline:0;
	box-shadow: 0 0 0 3px rgba(200, 200, 200, 0.4);
}
	
input:disabled , input[type="text"]:disabled , textarea:disabled {
	background: /* #E7E7E7 */ #F9F9F9;
}

input[type="checkbox"] {
	display: inline-block;
	position: relative;
	width: 10px;
	height: 10px;
	color: #64748b;
	border: 2px solid #cbd5e1;
	border-radius: 4px;
	appearance: none;
	outline: 0;
	transition: all .1s cubic-bezier(.5,0,0,.75);
	box-sizing: inherit;
	margin: 0;
	padding: 8px;
	cursor: pointer;
}	

input[type="checkbox"]:checked {
	border-color: #98e665;
	background: #98e665;
}						

input[type="checkbox"]::before {
	position: absolute;
	content: "";
	display: block;
	top: -1px;
	left: 4px;
	width: 6px;
	height: 12px;
	border-color: #152b07;
	border-style: solid;
	border-width: 0 2px 2px 0;
	transform: rotate(45deg);
	cursor: pointer;
	opacity: 0;
}

input[type="checkbox"]:checked::before {
	opacity: 1;
}


select {
	/*
	appearance: none;
	background: url('icon-arrowdown-grey.svg') no-repeat;
	background-position: 98% center;
	*/

	border-radius: 3px;
	background-color: #FFFFFF;
	padding:1em 0.5em !important;
    height:auto !important;
	line-height: 1.5em;

}

.msg_warning {
	color: red;
	display: block;
}

.alert {
	display: block;
}

.alert-success {
	color: #155724;
	background-color: #D4F7D4; /* #D4EDDA */ /* #D4F7D4 */ /* #D4EDDA */
	border: 1px solid #c3e6cb;
	border: 1px solid #9AC0A3;
}

.alert-warning {
	color: #856404;
	background-color: #fff3cd;
	border: 1px solid #ffeeba;
	border: 1px solid #DAC890;
}

.alert-danger {
	color: #721C24;
	background-color: #F8D7DA;
	border: 1px solid #F5C6CB;
}

.alert-blue {
	color: #0059AF;
	background-color: #D2EBFC /* #D4F7D4 */ /* #D4EDDA */;
	border: 1px solid #0B7CEA;
}

.button , a.button , .button a , ul.pagination li a {
	border-radius: 3px;
	border: 1px solid;
	font-size: inherit;
	padding: 1.0em;
	cursor: pointer;
	display: inline-block;
	text-decoration: none;
	font-weight: bold;
	background-color:	transparent;
	transition: all 0.2s ease;
	margin: 1px; 
}

.button-mini , a.button-mini , .button-mini a {
	padding: 0.35em 1em;
}


ul.pagination li a:hover , ul.pagination li a.active {
	background-color: var(--darkblue);
	color: #FFFFFF;
}


.button-full , a.button-full , #menu a.button-full ,  .menu-2 a.button-full {
	background-color: var(--darkblue);
	border-bottom: 1px solid rgba(0, 0, 0, 0.3);
	border-top: 1px solid rgba(255, 255, 255, 0.3);
	border-left: 1px solid rgba(255, 255, 255, 0.3);
	color: #FFF;
}

.button-success , a.button-success {
	color: #FFF;
	background-color: #358500 /* #D4F7D4 */ /* #D4EDDA */;
	border: 1px solid #3B9300;
}

.button-success:hover , a.button-success:hover {
	color: #FFF;
	background-color: #4DC000 /* #D4F7D4 */ /* #D4EDDA */;
	border: 1px solid #3B9300;
}

.button-warning , a.button-warning {
	color: #212529;
	background-color: #ffc107;
	border-color: #ffc107;
}

.button-warning:hover { background-color: #E0A800; }

.button-danger , a.button-danger {
	color: #fff;
	background-color: #dc3545;
	border-color: #dc3545;
}

a.button-full:hover , .button-full:hover {
	background-color: var(--lightblue);
}

.button-blue , a.button-blue {
	color: #fff;
	background-color: #0057FF;
	border-color: #0B7CEA;
}

.button-blue:hover , a.button-blue:hover {
	background-color: #3CB7F5;
}

.button-brown , a.button-brown {
	color: #fff;
	background-color: #8A732E;
	border-color: #897028;
}

.button-brown:hover , a.button-brown:hover {
	background-color: #5A5A5A;
	background-color: #AB892A;
}

.button-grey , a.button-grey {
	background-color: #757575;
	color: #FFFFFF;
	border: 0px;
}

.button-grey:hover, a.button-grey:hover {
	background-color: #ACACAC;
}

.button-black , a.button-black {
	background-color: #000000;
	color: #FFFFFF;
	border: 0px;
}

.button-danger:hover , a.button-danger:hover { background-color: #C82333; }

.button-ghost , a.button-ghost { color: #D2D2D2; border: 1px solid #D2D2D2; }

.button-disabled {
	color: #ffffff;
	background-color: #757575;
	border: 0px;
}

.button-disabled:hover {
	background-color:	gray;
}

.full-width {
	width: 100%;
}

/* autocompletamento  *****************************************************************************/

ul#field_1_autocompleta, ul#field_1_autocompleta li {
	list-style: none;
	margin: 0px;
	padding: 0px;
}

ul#field_1_autocompleta li a {
	display: block;
	padding: 5px 0px 5px 10px;
	text-decoration: none;
	color: black;
}

ul#field_1_autocompleta li a:hover , ul#field_1_autocompleta li a:focus {
	background-color:		#ffd700;
	outline:	none;
}

#field_1_autocompleta .campo_box {
	position: relative;
}

#field_1_autocompleta .campo {
	height: 20px;
	width: 240px;
	border: 1px solid black;
	margin: 0px;
	font-family: 	Verdana, Geneva, Arial, Helvetica, sans-serif;
	font-size: 100%;
}

.campo_autocompleta {
	overflow:	auto;
	height: 200px;
	width: 100%;
	margin: 0px;
	background-color:	#f3f3f3;
	/* 
	
	display: block; 
	position: absolute;

	*/
}

/* icone  *****************************************************************************/

.loading {
	display: inline-block;
	border: 5px solid #D2ECFC;
	height: 30px;
	width: 30px;
	border-top-color: #1EA1F2;
	border-radius: 50%;
	margin: 1px auto;
	animation: loadingrotate 2s linear infinite;
}

@keyframes loadingrotate {
  100% {
    transform: rotate(360deg);
  }
}


/*

	Lo sfondo di base è 10100 px x 10000 px e crea icone 100 x 100.
	Per calcolare la dimensione dello sfondo delle icone con misure diverse: 
	- orizzontale: (10100 / 100) * dimensione icona; // es. 1414px per icone di 14 x 14
	- verticale: (10000 / 100) * dimensione icona; // es. 1400px per icone di 14 x 14

*/

.icon { display: inline-block; background-image: url(sfondo_10000.svg); background-repeat: no-repeat; }
.icon_14 { height: 14px; width: 14px; background-size: 1414px 1400px; }
.icon_20 { height: 20px; width: 20px; background-size: 2020px 2000px; margin-bottom: -4px; }
.icon_25 { height: 25px; width: 25px; background-size: 2525px 2500px; }
.icon_50 { height: 50px; width: 50px; background-size: 5050px 5000px; }
.icon_100 { height: 100px; width: 100px; background-size: 10100px 10000px; }
.icon_200 { height: 200px; width: 200px; background-size: 20200px 20000px; }
.icon_300 { height: 300px; width: 300px; background-size: 30300px 30000px; }

.icon_left {  margin-right: 7px; }
.icon_right {  margin-left: 7px; }

.icon_red { filter: invert(44%) sepia(98%) saturate(7455%) hue-rotate(354deg) brightness(94%) contrast(124%); }


.icon_bars  { background-position: 0% 0%; }
.icon_circle_user  { background-position: 1% 0%; }
.icon_bell  { background-position: 2% 0%; }
.icon_user  { background-position: 3% 0%; }
.icon_comment  { background-position: 4% 0%; }
.icon_envelope  { background-position: 5% 0%; }
.icon_magnifying_glass  { background-position: 6% 0%; }
.icon_radio_on  { background-position: 7% 0%; }
.icon_radio_off  { background-position: 8% 0%; }
.icon_check  { background-position: 9% 0%; }
.icon_check_on  { background-position: 10% 0%; }
.icon_check_off  { background-position: 11% 0%; }
.icon_arrow_down  { background-position: 12% 0%; }
.icon_arrow_up  { background-position: 13% 0%; }
.icon_arrow_left  { background-position: 14% 0%; }
.icon_arrow_right  { background-position: 15% 0%; }
.icon_whatsapp  { background-position: 16% 0%; }
.icon_phone  { background-position: 17% 0%; }
.icon_cart  { background-position: 18% 0%; }
.icon_bag  { background-position: 19% 0%; }
.icon_v  { background-position: 20% 0%; }
.icon_x  { background-position: 21% 0%; }
.icon_info  { background-position: 22% 0%; }
.icon_mobile  { background-position: 23% 0%; }
.icon_geo  { background-position: 24% 0%; }

/* =================== Menu a scomparsa laterale =================== */

.body_frozen {
	width: 70vw;
	height: 70vh;
	overflow: hidden;
}

#search_filters {
	padding-right: 30px;
	border-right: 1px solid #DEDEDE;
}
	
.search_filters_view {
	display: block;
	position:	fixed;
	top: 0px;
	left: 0px;
	width: 100%;
	padding: 0px 7% 7% 7%;
	height: 100%;
	overflow:	scroll;
	z-index: 13;
	background-color: lime;
	
	animation:filters_view_in 0.5s;
	-webkit-animation:filters_view_in 0.5s; /* Safari and Chrome */
	animation-iteration-count:1;
	-webkit-animation-iteration-count:1;
	animation-fill-mode: forwards;
}

.search_filters_hide {
	display: none;
	/* 
	display: block;
	position:	fixed;
	top: 0px;
	left: 0px;
	width: 100%;
	padding: 0px 7% 7% 7%;
	height: 100%;
	overflow:	scroll;
	z-index: 13;
	background-image:	url(keith_7.gif);

	animation:filters_view_out 0.5s;
	-webkit-animation:filters_view_out 0.5s;
	animation-iteration-count:1;
	-webkit-animation-iteration-count:1;
	animation-fill-mode: forwards;
	*/
}

	
@keyframes filters_view_in
{
	0%   {	/* opacity: 0;	*/	left: -100%; }
	100% {	/* opacity: 1; */	left: 0%;}
}

@-webkit-keyframes filters_view_in /* Safari and Chrome */
{
	0%   {	/* opacity: 0;	*/	left: -100%; }
	100% {	/* opacity: 1; */	left: 0%;}
}

@keyframes filters_view_out
{
	0% {	/* opacity: 1; */	left: 0%; display: block;}
	99%   {	/* opacity: 0;	*/	left: -100%; display: block; }
	100% {	left: -100%; 	display: none;	}
}

@-webkit-keyframes filters_view_out /* Safari and Chrome */
{
	0% {	/* opacity: 1; */	left: 0%; display: block; }
	99%   {	/* opacity: 0;	*/	left: -100%; display: block; }
	100% {	left: -100%; 	display: none;	}
}


/* video *****************************************************************************/

.iframe-560-315 {
	position: relative;
	width: 100%;
	height: 0px;
	padding-bottom: 57%;
}

.iframe-video-youtube {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

video {
	width: 100%;
	max-width: 100%;
	height: auto;
  }

#medical-isocenter-video { 
	background-image: url('../img/img-1920-1080.gif'); 
	background-size: cover;	
	}



/* media *****************************************************************************/
@media only screen and (max-width: 992px) {

	#menu-4-mini {
		display: block;
		font-size: 70%;
	}

	#menu-1 {
		display: none;
	}

	#menu-5-mini {
		display: none;
	}

	ul#menu {
		display:	none;
	}

	ul#menu.menu-show {
		display: block;
		overflow: auto;
	}

	#menu li {
		display: block;
	}

	#menu li a{
		display: block;
		text-align: left;
		margin: 1px 0px;
		border-bottom: 1px solid #E7E7E7;
		border-radius: 0;
	}

	#menu ul li a {
		border-radius: 0;
	}

	#menu .expand {
		display: block;
		float: right;
		padding: 15px 20px;
		margin-top: -15px;
		border-radius: 50%;
		background-color: #FAFAFA;
	}

	#menu .expanded , #menu li ul.expanded, #menu-1 li ul.expanded {
		display: block;
	}

	#menu .expanded li a {
		padding-left: 40px;
	}

	h1 {
		font-size: 230%;
		letter-spacing: 0px;
	}

	h2 {
		font-size: 180%;
		letter-spacing: 0px;
	}

	h3 {
		font-size: 130%;
		letter-spacing: 0px;
	}

	subtitle {
		font-size: 120%;
	}

	.header {
		padding-bottom: 0px;
	}

	.main {
		padding-top: 140px;
	}

	.menu-2 {
		display: none;
	}

	.box_nav #menu {
		display: none;
	}

	.mobile-only {
		display: block;
	}

	.mobile-only-inline-block {
		display: inline-block;
	}

	.mobile-only-inline {
		display: inline;
	}

	.desktop-only {
		display: none;
	}

	.wide-desktop-only {
		display: none;
	}	

}

@media only screen and (min-width: 992px) and (max-width: 9960px) {

	#menu .expand {
		display: none;
	}

	#menu-4-mini {
		display: none;
	}


	#menu li:hover ul, #menu-1 li:hover ul {
		display: block;
		position: absolute;
		left: 0px;
		top: 2.7em;
		width: 400px;
		background-color: #FFFFFF;
		border-radius: 8px;
		border-radius: 0.5rem;
		padding: 0.5em;
		border: 1px solid #E7E7E7;
		box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
		animation: menu-fade-in 0.2s;
		max-height: 70vh;
		overflow-y: auto;
		z-index: 10;
		text-align: left;
	}

	#menu-1 li:hover ul {
		left: auto;
		right: 0px;
		width: 15em;
		top: 2em;
		display: block;
	}
	
	#menu li:hover ul.menu-sub-right {
		right: 0;
		left: auto;
	}

	.mobile-only , .mobile-only-inline , .mobile-only-inline-block {
		display: none !important;
	}


	.search_filters_hide {
		display: block;
	}


}

