/*
Theme Name: Buonarrivo Classic
Theme URI: https://www.buonarrivo.it
Author: MEDIANA Software & Network
Description: Riproduzione fedele del sito storico della Dott.ssa Laura Buonarrivo (layout "Tommi" a tre colonne, menu verticale a comparsa), resa modificabile da WordPress: menu, pagine, logo, immagine laterale e piè di pagina si gestiscono da Bacheca.
Version: 1.0.0
Requires PHP: 8.1
License: Proprietary
Text Domain: buonarrivo-classic
*/

/* ---------- base (da tom_v1f.css) ---------- */
html { box-sizing: border-box; }
*, *::before, *::after { box-sizing: inherit; }
body {
	font-family: "Trebuchet MS", Arial, sans-serif;
	font-size: 101%;
	color: #454545;
	background-color: #444444;
	margin: 0;
	padding: 0;
}
#pagewrapper { margin: 0; background-color: #FFFFFF; }
#masthead {
	background-color: #333333;
	border-bottom: 10px solid #555555;
	line-height: 0;
}
#masthead img { display: block; max-width: 100%; height: auto; }
#masthead a { text-decoration: none; }
#masthead .site-title { display: block; margin: 0; padding: 22px 24px; font-size: 1.6em; color: #FFDBA6; line-height: 1.2; }
#masthead .site-title small { display: block; font-size: 0.6em; color: #E4E0C9; font-weight: normal; letter-spacing: 0.1em; text-transform: uppercase; }

#columns { display: flex; align-items: stretch; }

/* colonna 1: sidebar rossa */
#sidecontent {
	flex: 0 0 208px;
	width: 208px;
	padding: 24px 24px 12px;
	font-size: 0.75em;
	background-color: #cc3300;
}
#sidecontent ul { list-style: none; margin: 0; padding: 0; }
#sidecontent li { margin: 0 0 14px; }
#sidecontent li a {
	color: #FFDBA6; font-weight: bold; text-decoration: none;
	border-bottom: 1px dotted;
}
#sidecontent li a::before { content: "\00BB\00A0"; }
#sidecontent a:hover, #sidecontent a:active, #sidecontent a:focus { color: #000000; border-bottom: none; }
#sidecontent .widget { margin-top: 24px; color: #FFDBA6; }
#sidecontent .widget a { color: #FFDBA6; }
#sidecontent h4 { margin: 0; font-size: 1.3em; color: #FFDBA6; }

/* colonna 2: immagine + menu */
#midcolumn {
	flex: 0 0 182px;
	width: 182px;
	background-color: #737373;
	border-right: 1px solid #616161;
	border-left: 1px solid #616161;
}
#artwork { border-bottom: 1px solid #000000; line-height: 0; }
#artwork img { display: block; width: 180px; height: auto; }
#menubar { font-size: 0.9em; background-color: #555555; color: #CCCCCC; position: relative; }

/* ---------- menu verticale a comparsa (da p7pmv15.css, senza JS) ---------- */
#p7PMnav, #p7PMnav ul { margin: 0; padding: 0; list-style: none; width: 180px; }
#p7PMnav li {
	margin: 0; padding: 0; position: relative;
	background-image: url(images/tommy_mbg.jpg);
	background-repeat: repeat-y;
}
#p7PMnav a {
	display: block; text-decoration: none; padding: 4px 10px;
	color: #E4E0C9; line-height: 1;
	border-top: 1px solid #666666; border-bottom: 1px solid #000000;
}
#p7PMnav ul a {
	border-top: 1px solid #666666; border-bottom: 1px solid #000000;
	border-right: 1px solid #000000; border-left: 1px solid #666666;
}
#p7PMnav a:hover, #p7PMnav a:active, #p7PMnav a:focus,
#p7PMnav li:hover > a, #p7PMnav li.current-menu-item > a, #p7PMnav li.current-menu-ancestor > a {
	border-top: 1px solid #F4DB82; border-left: 1px solid #F4DB82;
	background-color: #cc3300; color: #000000;
}
#p7PMnav li.menu-item-has-children > a {
	background-image: url(images/p7PM_light_east.gif);
	background-repeat: no-repeat; background-position: right center;
}
#p7PMnav ul {
	position: absolute; left: -9000px; top: 0; z-index: 10000;
	background-color: #555555;
}
#p7PMnav li:hover > ul, #p7PMnav li:focus-within > ul { left: 180px; z-index: 20000; }

/* colonna 3: contenuto */
#maincontent {
	flex: 1 1 auto; min-width: 0;
	padding: 24px 36px 36px 36px;
	font-size: 0.85em;
	line-height: 1.5em;
	background-color: #FF9900;
	background-image: url(images/quadrante.gif);
	background-repeat: no-repeat;
	background-position: right bottom;
}
#maincontent p, #sidecontent p { margin: 6px 0 8px; }
h1, h2, h3, h4 { margin: 0; line-height: normal; }
h1 { border-bottom: 1px dotted; font-size: 1.5em; margin-bottom: 14px; }
h2 { font-size: 1.5em; border-bottom: 1px dotted; margin: 30px 0 0; }
h3, h4 { font-size: 1.2em; margin: 24px 0 0; }
#maincontent .vocemedia, #maincontent h3.vocemedia { font-size: 1.2em; font-weight: bold; margin-top: 18px; }
#maincontent a:link, #maincontent a:visited { color: #990000; text-decoration: none; border-bottom: 1px dotted; }
#maincontent a:hover, #maincontent a:active, #maincontent a:focus { color: #000000; border-bottom: none; }
#maincontent img { max-width: 100%; height: auto; }
#maincontent iframe { max-width: 100%; }
#maincontent .tornasu { display: block; text-align: right; margin-top: 18px; }
#maincontent .tornasu a { border: 0; }
#maincontent :target { scroll-margin-top: 12px; }
#maincontent ul, #maincontent ol { margin: 6px 0 8px 1.5em; padding: 0; }

/* footer */
#footer {
	font-size: 0.75em; border-top: 1px solid #000000; color: #5A5A5A;
	background-color: #333333; padding: 18px 24px 24px;
}
#footer a:link, #footer a:visited, #footer a:hover, #footer a:active, #footer a:focus { color: #5A5A5A; text-decoration: none; }

/* accessibilità */
.screen-reader-text { position: absolute; left: -9000px; }

/* sotto i 760px (il vecchio sito aveva min-width 760px): colonne impilate */
@media (max-width: 760px) {
	#columns { flex-direction: column; }
	#sidecontent, #midcolumn { width: auto; flex: 0 0 auto; }
	#midcolumn { border-left: 0; border-right: 0; display: flex; }
	#artwork { flex: 0 0 180px; border-bottom: 0; border-right: 1px solid #000; }
	#menubar { flex: 1 1 auto; }
	#p7PMnav, #p7PMnav ul { width: auto; }
	#p7PMnav ul { position: static; display: none; background: #4a4a4a; }
	#p7PMnav li:hover > ul, #p7PMnav li:focus-within > ul { display: block; }
	#p7PMnav ul a { padding-left: 24px; }
	#p7PMnav ul ul a { padding-left: 38px; }
	#p7PMnav ul ul ul a { padding-left: 52px; }
	#maincontent { padding: 18px; }
}
