/* Dev tools */
/* *

#content {
background:url("/images/_dev-tools/grid.png") 0 10px repeat-y!important;
}

/* -------------------------- */
/* ------- TYPOGRAPHY ------- */
/* -------------------------- */

p, h1, h2, h3, h4, h5, li, dt, dd, th, td, table {
color:#141414;
}
p {
margin-bottom:20px;
}

h1 {
font:50px/50px georgia;
color:#AB947A;
padding:5px 0 0 240px;
height:105px;
letter-spacing:-1px;
}

h2 {
font:14px/20px arial;
font-weight:bold;
margin-bottom:20px;
}
h3 {
font:14px/20px arial;
font-weight:normal;
font-style:italic;
margin-bottom:20px;
}

h2.first { /* used for concert pages etc */
margin-bottom:0;
}

p, label, li, dt, dd, input, textarea, select, option, table {
font:14px/20px arial;
}
a, a p, a h2, a h3, a h4 {
color:#CF1C26;
text-decoration:none;
}
a:focus, a:active {
outline:none;
}
strong {
font-weight:bold;
}
em {
font-style:italic;
}

ul {
margin-bottom:20px;
}

ul li {
list-style:none;
}
#main-content ul li {
padding-left:13px;
background:url(/images/site-images/bullet-point.gif) 0 8px no-repeat;
}


#content dt {
float:left;
width:90px;
}
#content dd {
margin-left:110px;
}

blockquote {
padding-left:30px;
background:url(/images/site-images/blockquote-bg.gif) 0 5px no-repeat;
}

div.message {
margin-top:5px;
float:left;
padding:14px 14px 10px 14px;
margin-bottom:11px;
background:url(/images/site-images/post-it-shadow.gif) bottom left no-repeat #fff7b8;
}

/* FORMS */

input.text, textarea {
width:214px;
padding:2px;
border:1px solid;
border-color:#b4b4b4;
border-top-color:#727272;
border-bottom-color:#dadada;
background:white url(/images/site-images/form-input-bg.gif) top left repeat-x;
}
input.text {
height:18px;
}
input.blank {
color:#808080;
}
input.submit {
background:url(/images/site-images/submit-btn.gif);
text-indent:-999em;
border:none;
width:60px!important;
height:20px!important;
}
.hiddenFields {
/* THIS FORCES FF2 TO HIDE HIDDEN FIELDS (OVERIDES THE "DISPLAY:BLOCK" ON INPUTS FURTHER DOWN) */
display:none!important;
}


/* -------------------------- */
/* ------ BASIC LAYOUT ------ */
/* -------------------------- */

html, body {
height:100%;
}
div#container {
width:940px;
padding:0 30px;
margin:0 auto -46px; /* this must match height of #footer and #push */
min-height:100%;
height:auto!important;
height:100%;
background:url(/images/site-images/content-bg.gif) 30px 0;
}
div#footer, div#push {
height:46px; /* this must match bottom margin of #container */
width:940px;
margin:0 auto;
}
div#footer {
clear:both;
padding:0 30px;
background:white;
}


/* UTILITY BAR */

div#utility-bar {
background:white url(/images/site-images/rules/thin-h.gif) bottom left repeat-x;
float:left;
width:100%;
padding-top:7px;
padding-bottom:1px;
}
div#utility-bar p#links {
margin-bottom:7px;
text-align: right;
}
div#utility-bar p#links, div#utility-bar p#links a {
color:#808080;
}
div#utility-bar p#links a:hover {
color:#CF1C26;
}

.JS div#contact-mailing-panel {
display:none;
}
div#contact-mailing-panel {
background:#fff url(/images/site-images/rules/thin-h.gif) repeat-x;
background:#ede8e2 url(/images/site-images/rules/thin-h.gif) repeat-x;
float:left;
width:940px;
}
div#contact-mailing-panel h3 {
margin-bottom:20px;
}
div#contact-mailing-panel #contact, div#contact-mailing-panel #mailing {
width:440px;
padding:8px 10px;
float:left;
}
div#contact-mailing-panel #contact dt {
float:left;
clear:both;
}
div#contact-mailing-panel #contact dd {
padding-left:100px;
}
div#contact-mailing-panel #mailing {
margin-left:20px;
}
div#contact-mailing-panel #mailing p {
width:210px;
float:left;
margin:0;
}
div#contact-mailing-panel #mailing form {
width:210px;
float:left;
margin:-40px 0 0 20px;
display:inline; /* fix dbl mragin float bug */
}
.JS div#contact-mailing-panel #mailing form {
margin:5px 0 0 20px;
}

div#contact-mailing-panel #mailing form input.text {
margin-bottom:11px;
width:204px;
}
.JS div#contact-mailing-panel #mailing form label {
display:none;
}
div#contact-mailing-panel #mailing form input.submit {
background:url(/images/site-images/join-btn.gif);
text-indent:-999em;
border:none;
width:60px;
height:20px;
}
/* HEADER */

#header {
width:100%;
float:left;
padding-top:32px;
background:white url(/images/site-images/rules/thick-h-black.gif) bottom left repeat-x;
padding-bottom:27px;
}  

/* GMF LOGO */

#header h2, #header h1 {
background:url(/images/site-images/gmf-logo.gif);
width:180px;
height:63px;
text-indent:-999em;
position:relative;
left:-1px;
float:left;
padding:0;
}

/* MAIN NAV */

#header ul {
float:right;
margin-top:43px;
margin-bottom:0;
}
#header ul li {
font:17px/20px georgia;
float:left;
margin-left:13px;
list-style:none;
display:inline; /* fix dbl mragin float bug */
}
#header ul li a {
color:#141414;
}
#header ul li.selected a, #header ul li a:hover {
color:#CF1C26;
}

/* SUB NAV */

ul#subnav {
margin-bottom:0;
}

ul#subnav li {
font-weight:bold;
background:url(/images/site-images/rules/thin-h.gif) bottom left repeat-x;
padding-bottom:5px;
margin-bottom:5px;
margin-left:0;
list-style:none;
}
ul#subnav li.selected a {
color:#141414;
}
ul#subnav li span.date {
font-weight:normal;
}
/* CONTENT */

div#content {
background:url(/images/site-images/content-bg.gif);
float:left;
width:100%;
padding-bottom:25px;
}

div#content img {
margin:5px 0 5px 0;
float:left;
}
div#sidebar {
width:220px;
float:left;
background:url(/images/site-images/rules/thick-h-brown.gif) repeat-x;
padding-top:15px;
}
div#main-content {
width:460px;
float:left;
background:url(/images/site-images/rules/thick-h-brown.gif) repeat-x;
padding-top:15px;
margin-left:20px;
padding-right:20px;
display:inline; /* fix dbl mragin float bug */
}

body.list div#main-content {
width:700px;
padding-right:0;
}
/* IMAGES BAR */

div#images {
width:220px;
float:left;
background:url(/images/site-images/rules/thick-h-brown.gif) repeat-x;
padding-top:15px;
margin-bottom:20px;
}
div#images img {
float:left;
margin-bottom:5px;
}
div#images p.caption {
font-style:normal;
float:left;
}
div#images p.key {
background:#111;
background:rgba(0,0,0,.5);
color:white;
width:16px;
text-align:center;
float:right;
font-style:normal;
margin:-25px 0 0 0;
}

div#images span {
/*
background:#555;
color:white;
width:16px;
text-align:center;
font-style:normal;
margin:0;
padding:0 3px;
*/
font-weight:bold;
}

/* FOOTER */

#footer p {
background:url(/images/site-images/rules/thick-h-grey.gif) repeat-x;
padding-top:17px;
color:#808080;
margin:0;
font-size:12px;
padding-left:1px;
width:939px;
}
#footer p span.linus {
float:left;
}
#footer p span.linus a {
color:#808080;
}
#footer p span.copyright {
float:right;
}

/* -------------------------- */
/* ----- COMMON ELEMENTS ----- */
/* -------------------------- */

.first-in-row {
clear:both;
}
.last-in-row {
margin-right:0!important;
}

/* CALENDAR */

body#home div#concerts h2 {
margin-bottom:25px;
/* we're now adding margin to h2 instead of calendar*/
}

table.calendar {
background:url(/images/site-images/rules/thin-h.gif) bottom left repeat-x;
margin:0 0 24px;
}
table.calendar th {
background:url(/images/site-images/calendar-header-bg.gif) top left repeat-x;
}
table.calendar th.month-name {
padding:7px 0 8px;
}
table.calendar div.previous-month a {
text-indent:-999em;
display:block;
background:url(/images/site-images/calendar-arrows.gif) 10px 9px no-repeat;
height:29px;
}
table.calendar div.previous-month a:hover {
background-position:10px -20px
}
table.calendar div.next-month a {
text-indent:-999em;
display:block;
background:url(/images/site-images/calendar-arrows.gif) -19px 9px no-repeat;
height:29px;
}
table.calendar div.next-month a:hover {
background-position:-19px -20px
}
table.calendar th, table.calendar td {
font:14px arial;
font-weight:bold;
text-align:center;
cursor:default;
}
table.calendar tr.calendarDayHeading {
background:url(/images/site-images/rules/thin-h.gif) bottom left repeat-x;
}
table.calendar tr.calendarDayHeading td {
padding:0;
}
table.calendar td {
padding:0;
height:30px;
position:relative;
}
table.calendar td.past-date {
color:#C1B49A;
color:#bbb;
color:#d9d5cb;
}
table.calendar td.past-date.event {
/* background:#e48d91; */
}
table.calendar td.calendarBlank {
color:white;
}
table.calendar td.calendarToday {
/* background:#eab8bb; */
}
table.calendar td.event {
background:#d63239;
}
table.calendar td.event, table.calendar td.event a {
color:white;
}
table.calendar .popup-holder {
position:relative;
}
table.calendar .calendar-popup {
position:absolute;
top:0;
left:0;
border:1px solid #d63239;
border:none;
padding:0;
margin-top:6px;
clear:none;
z-index:100;
text-align: left;
}
table.calendar .calendar-popup p {
display:none;
font:12px/15px arial;
margin:0;
text-align:left;
color:white;
padding:2px 4px 1px;
background:#d63239;
border-top:1px solid white;
-moz-box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.5);
-webkit-box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.5);
box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.5);
cursor: pointer;
}
table.calendar .calendar-popup a:hover p {
background:#ba343b;
}
div.calendar-spacer {
margin-bottom:-10px;
}

/* COURSES / CONCERTS / VIDEO / AWARDS LISTS */

.courses-list li, .concerts-list li, .videos-list li, .awards-list li, .projects-list li, .news li, .galleries-list li {
background:none!important;
padding-left:0!important;
}
.courses-list li h3, .courses-list li h2 {
margin-bottom:0!important;
}
.concerts-list li h3, .concerts-list li h2 {
margin-bottom:0!important;
}
.videos-list li h2, .awards-list li h2, .projects-list li h2 {
margin-bottom:0!important;
}


/* -------------------------- */
/* ----- SPECIFIC PAGES ----- */
/* -------------------------- */

/* HOME */

body#home #container {
background:url(/images/site-images/rules/home-content-bg.gif) 30px 0;
}
body#home #content { /* add bg to both for shorter/longer pages */
background:url(/images/site-images/rules/home-content-bg.gif) 0 0;
}

body#home #content h2 {
font:17px/20px georgia;
font-weight:normal;
}
body#home #content h3 {
font:14px/20px arial;
font-weight:bold;
}

div#intro {
width:220px;
float:left;
padding-top:45px;
}
div#intro p {
font-weight:bold;
}

body#home #courses, body#home #concerts, body#home #awards-news {
width:220px;
float:left;
margin-left:20px;
padding-top:5px;
display:inline; /* fix dbl mragin float bug */
}

body#home .more {
margin-top:-10px;
padding-top:10px;
background:url(/images/site-images/rules/thin-h.gif) repeat-x;
display:block;
}
body#home h2.news {
margin-top:25px;
padding-top:15px;
background:url(/images/site-images/rules/thick-h-brown.gif) repeat-x;
}
ul.news {
margin-bottom:0;
}
body#home ul.news p {
margin:0;
}
body#home ul.news li {
padding-bottom:10px;
margin-bottom:10px;
background:url(/images/site-images/rules/thin-h.gif) bottom left repeat-x!important;
}

/* COURSES */

body#courses .courses-list li {
width:220px;
float:left;
margin-right:20px;
display:inline; /* fix dbl mragin float bug */
}
body.course h1 {
font:30px/30px georgia;
color:#141414
}
body.course h1 span {
color:#AB947A;
}
table.course-teachers-list {
margin-bottom:20px;
}
td.teachers-table-left {
width:220px;
padding-right:20px;
vertical-align:top;
}

td.teachers-table-right {
width:220px;
vertical-align:top;
}

/* application form */

form#freeform {
border:1px dotted #999;
padding:6px 9px 9px 9px;
margin-top:33px;
margin-bottom:20px;
background:#eee7df;
}
form#freeform h2 {
margin-bottom:20px;
}
form#freeform label {
float:left;
width:130px;
clear:both;
margin:0;
}
form#freeform input, form#freeform textarea, form#freeform select {
margin-left:140px;
width:294px;
display:block;
margin-bottom:18px;
height:16px;
}
form#freeform textarea {
height:96px;
}
form#freeform select {
width:300px;
margin:0 0 18px 140px;
height:22px;
}
form#freeform input.submit {
margin:40px 0 2px 140px;
}
form#freeform label.address-extra-lines {
display:none;
}



body#courses div#location-map {
height:308px;
width:458px;
margin:5px 0 25px 0;
border:1px solid #999;
float:left;
}

/* SPONSOR LOGOS */

div#sponsor-logos {
padding-top:10px;
float:left;
width:710px;
clear:both;
margin:28px 0 0 240px;
display:inline; /* fix dbl margin float bug */
}
div#sponsor-logos div.frame {
	float: left;
	margin: 0 20px 10px 0;
}
div#sponsor-logos .holder {
	display: table-cell;
/*	width: 130px; */
	height: 65px;
	text-align: center; /* qui e non su precedente, iCab3 */
	vertical-align: middle;
}
div#sponsor-logos img {
	vertical-align: middle;
	float:none;
	margin:0;
}

/* DISCLAIMER */

p.disclaimer {
float:left;
color:#808080;
clear:both;
margin-left:240px;
font:12px/15px arial;
margin-bottom:-16px;
}


/* CONCERTS */

body#concerts .concerts-list li {
width:220px;
float:left;
margin-right:20px;
display:inline; /* fix dbl mragin float bug */
}
body#concerts table.calendar {
margin-top:25px;
}
body.concert p.location-date, body.concert dl.details {
margin-bottom:10px;
padding-bottom:10px;
background:url(/images/site-images/rules/thin-h.gif) bottom left repeat-x;
}

/* PEOPLE */

body.people-list #sidebar {
padding-top:55px;
}
body.people-list #sidebar p {
font-weight:bold;
}
body.people-list div#main-content {
width:700px;
float:right;
padding-right:0;
}
ul.people-list {
margin-bottom:20px;
width:700px;
float:left;
}
ul.people-list li {
width:220px;
margin-right:20px;
float:left;
padding-left:0!important;
background:none!important;
display:inline; /* fix dbl mragin float bug */
}
body#people.profile h3 {
margin-bottom:0;
}

/* PHOTOS */

body.photos div#main-content {
width:700px;
float:right;
padding-right:0;
}

body.photos h2.breadcrumb {
padding-bottom:5px;
margin-bottom:15px;
background:url(/images/site-images/rules/thin-h.gif) bottom left repeat-x!important;
}

body.photos .galleries-list li {
width:220px;
float:left;
margin-right:20px;
display:inline; /* fix dbl mragin float bug */
}
body.photos ul.photo-gallery li {
margin:5px 10px 5px 0!important;
padding:0!important;
float:left;
}
body.photos ul.photo-gallery li img {
margin:0!important;
}

/* VIDEOS */

body.videos div#main-content {
width:700px;
float:right;
padding-right:0;
}
body.videos .videos-list li {
width:220px;
float:left;
margin-right:20px;
display:inline; /* fix dbl mragin float bug */
}
body.videos .videos-list li h2 {
background:url(/images/site-images/video-play-btn.png) 81px 2px no-repeat;
margin-top:49px;
z-index:100;
position:relative;
}
body.videos div.yt-player {
margin:5px 0 10px 0;
float:left;
}
body.videos .videos-list a.selected h2 {
color:#141414;
}

/* AWARDS / PROJECTS */

body#awards #main-content h2 span, body#projects #main-content h2 span {
font-weight:normal;
}

body#awards .awards-list li, body#projects .projects-list li {
width:220px;
float:left;
margin-right:20px;
display:inline; /* fix dbl mragin float bug */
}

/* MP3 PLAYER */
div.audio-track {
float:left;
width:100%;
margin-bottom:20px;
}
p.audio-player-track-name {
float:left;
width:220px;
margin:0;
}
div.audio-player-wrapper {
margin:0;
width:220px;
float:right;
}
