@font-face {
	font-family: 'Copse';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: local('Copse'), url(images/copse.woff2) format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

body {
	background: #f5f5f5;
	margin: 0;
	padding: 0;
}

html {
	margin: 0;
	padding: 0;
	overflow-y: scroll;
}

#banner,
.body,
.headert_text_resize,
footer,
.header_resize {
	max-width: 960px;
	margin: 0 auto;
}

header,
.body,
footer {
	padding: 15px;
}

.clr {
	clear: both;
	margin: 0;
	padding: 0;
}

main {
	margin: 0 auto;
	padding: 0;
}

table {
	font-size: 14px;
	letter-spacing: .5px;
	font-family: Arial, Helvetica, sans-serif;
	color: #585858
}

td:nth-of-type(2) {
	padding-left: 20px;
}

.header_resize {
	background-image: url("images/img_main1.jpg");
	background-position: right top;
	background-repeat: no-repeat;
}

header {
	background: url(images/header_bg.gif) top repeat-x;
	position: sticky;
	top: 0;
	z-index:1
}

.logo {
	float: left;
	margin: 0 auto;
	padding: 0;
}

h1 {
	color: #5A4E4E;
	font: normal 2.1rem/1.2em 'Copse', Helvetica, sans-serif;
	margin: 0;
	padding: 20px 0 12px;
}

h1 a,
h1 a:hover {
	color: #5A4E4E;
	text-decoration: none;
}

h1 small {
	display: block;
	font: normal 13px/1.2em Arial, Helvetica, sans-serif;
	color: #005C8A;
	padding: 4px 0;
}


nav {
	float: left;
	margin: 0;
	padding: 0;
}

nav ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex
}

nav ul li {
	float: left;
	margin: 0;
	padding: 16px 6px;
}

nav ul li a {
	border-left: 1px solid #777776;
	float: left;
	color: #5A4E4E;
	font: normal 14px Arial, Helvetica, sans-serif;
	text-decoration: none;
	text-transform: uppercase;
	margin: 0;
	padding: 0 0 0 16px;
}

.headert_text_resize img {
	float: right;
	margin: 0;
	padding: 30px 0 0;
}

.headert_text_resize .textarea {
	float: left;
	background: top no-repeat;
	margin: 0;
	padding: 20px 0 0 5px;
}

.headert_text_resize .textarea h2 {
	font: lighter 24px Arial, Helvetica, sans-serif;
	color: #5A4E4E;
	margin: 0;
	padding: 2rem 0;
}

.headert_text_resize .textarea h2 strong {
	color: #5A4E4E;
}

.headert_text_resize .textarea p {
	font: 13px/1.6em Arial, Helvetica, sans-serif;
	color: #5A4E4E;
	margin: 0;
	padding: 10px 0;
}

.headert_text_resize .textarea p span {
	font: bold 18px Arial, Helvetica, sans-serif;
	color: #005C8A;
}

.body_resize {
	display: flex;
	flex-wrap: wrap;
}

.body h2 {
	font: normal 27px Arial, Helvetica, sans-serif;
	color: #464646;
	margin: 5px 0 10px;
	padding: 3px 0 3px 5px;
}

#email {
	font-size: 13px;
	border-bottom: 1px dashed darkgrey
}

p {
	font: normal 14px Arial, Helvetica, sans-serif;
	color: #585858;
	line-height: 1.8em;
	margin: 0;
	padding: 5px;
}

.body img {
	margin: 5px;
	padding: 0;
}

.body a {
	color: #005C8A;
	text-decoration: underline;
}

.left {
	flex-basis: 700px;
}

.right {
	clear: left
}

.right li {
	font: normal 12px Arial, Helvetica, sans-serif;
	color: #464646;
	padding: 5px 0;
}

.right li a,
.right li.sponsors a {
	background: url(images/arrow.svg) left no-repeat;
	font: 14px Arial, Helvetica, sans-serif;
	color: #005C8A;
	text-decoration: none;
	margin: 0;
	padding: 0 0 0 15px;
	background-size: 9px
}

.right li.sponsors {
	font: normal 11px Arial, Helvetica, sans-serif;
	color: #585858;
	padding: 5px 0;
}

.footer_resize {
	color: #6e6e6e;
	font: normal 12px Arial, Helvetica, sans-serif;
	margin: 0 auto;
	padding: 25px 0;
}

footer {
	border-top: 1px dotted #ccc;
}

footer p {
	line-height: normal;
	color: #6e6e6e;
	margin: 0;
	padding: 4px 0;
}

footer a {
	color: #6e6e6e;
	text-decoration: underline;
	padding: inherit;
}

footer a:hover {
	text-decoration: none;
}

footer .lf {
	float: left;
}

footer .rf {
	float: right;
	font-size: 12px;
}

h1 span,
.headert_text_resize .textarea h2 span {
	color: #005C8A;
}

nav ul li a:hover,
nav ul li a.active {
	color: #005C8A;
}

.right ul,
.right ul.sponsors {
	list-style: none;
	margin: 5px 10px;
	padding: 0;
}

.right li a:hover {
	color: #464646;
	text-decoration: none;
}

#banner {
	margin: 10px auto !important;
	background-color: #E4E4E4;
	height: auto;
	padding: 15px;
	box-sizing: border-box;
	font-family: sans-serif
}

#banner-title {
	color: #005C8A;
	font-size: 24px;
}

#banner-text {
	font-size: 18px;
}

.banner-phone {
	font-family: 'Courier New';
	color: #005C8A !important
}

#banner-button {
	background-color: #005C8A;
	padding: 20px;
	color: #fff;
	max-width: 190px;
	text-align: center
}

a {
	text-decoration: none
}


/* IPAD & IPHONE TEXT RENDERING */

@media only screen and (max-device-width: 480px) {
	body {
		-webkit-text-size-adjust: 100%
	}
}

a[href^=tel] {
	color: inherit;
	text-decoration: none;
}

ul.transports {
	display: flex;
	column-gap: 40px;
	flex-wrap: wrap;
}

#indicazioni {
	display: inline
}

#show-map {
	display: block
}

#map-placeholder {
	cursor: pointer;
	max-width: 100%;
	height: auto
}

#percorsolink {
	display: inline;
	visibility: hidden
}

#calcolapercorso {
	cursor: pointer;
	font-family: Arial;
	color: #5A4E4E;
	padding: 3px 0 3px 5px
}

#percorsoform {
	display: none;
	top: -3px;
	position: relative
}

input#start {
	margin-left: 5px;
	width: 200px
}

/* Map styling */

#map-canvas {
	width: auto;
	margin-bottom: 20px;
	top: 10px;
	margin-left: 5px;
	height: 300px;
	position: relative;
	display: none
}

.gmnoprint a,
.adp-warnbox,
.adp-placemark,
.adp-agencies,
.adp-legal,
.gm-style-cc {
	display: none;
}

.pac-item {
	font-family: sans-serif;
	font-size: 80%;
}

.pac-container:after {
	content: none !important;
}

#directions-panel {
	font-family: Arial, sans-serif;
	font-size: 75%;
	float: right;
	max-width: 300px;
	position: relative;
	top: -300px;
	overflow-x: auto;
	margin-bottom: 40px
}


/* Mobile */

@media only screen and (max-device-width: 812px) {

	.header_resize {
		background: none;
	}

	#directions-panel {
		top: 20px !important
	}

	#indicazioni {
		display: block
	}

}
