/*! HTML5 Boilerplate v4.3.0 | MIT License | http://h5bp.com/ */

/*
 * What follows is the result of much research on cross-browser styling.
 * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
 * Kroc Camen, and the H5BP dev community and team.
 */

/* ==========================================================================
   Base styles: opinionated defaults
   ========================================================================== */

@import url(http://fonts.googleapis.com/css?family=Lato:400,700);

html,
button,
input,
select,
textarea {
    color: #000;
	font-family: 'Lato', sans-serif;
    font-weight: 400;
}


html {
    font-size: 14px;
    line-height: 1.4;
    height: 100%;
    -webkit-font-smoothing: subpixel-antialiased;
}



/*
 * Remove text-shadow in selection highlight: h5bp.com/i
 * These selection rule sets have to be separate.
 * Customize the background color to match your design.
 */

::-moz-selection {
    background: #b3d4fc;
    text-shadow: none;
}

::selection {
    background: #b3d4fc;
    text-shadow: none;
}

/*
 * A better looking default horizontal rule
 */

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #00AAB9;
    margin: 10px 0 30px 0;
    padding: 0;
}

/*
 * Remove the gap between images, videos, audio and canvas and the bottom of
 * their containers: h5bp.com/i/440
 */

audio,
canvas,
img,
video {
    vertical-align: middle;
}

/*
 * Remove default fieldset styles.
 */

fieldset {
    border: 0;
    margin: 0;
    padding: 0;
}

/*
 * Allow only vertical resizing of textareas.
 */

textarea {
    resize: vertical;
}


/*
 * Hide.
 */

.hide {
    position: absolute;
    left: -9999px;
}

a{
	text-decoration: none;
	}

p{
	line-height: 1.5em;
	}
	

strong{font-weight: 700;}	

	
.clearLeft{
	clear:left;
	}	
		

/* ==========================================================================
   Rubino - Mar 2015
   ========================================================================== */	



/*--- general layout ---*/	

.row{
	float: left;
	width: 100%;
	position: relative;
	}
	
.row .inner{
	min-width: 980px;
	padding: 0;
	text-align: left;
	margin: 0 auto;
	position: relative;
	}

@media only screen and (max-width : 4000px){
	.row .inner{
		min-width: 0;
	}
}



/*--- header ---*/	


#header{
	padding: 50px 0 50px 0;
	background-image: url("../images/header-bg.jpg");
	background-repeat: no-repeat;
	background-size: cover;
	background-position: 50% 50%;
	}
	
	
#header .inner{
	text-align: center;
	}


#header h2{
	font-size: 45px;
	color: #FFF;
	padding: 210px 0 220px 0;
	}

#header ul{
	display: block;
	font-size: 14px;
	color: #FFF;
    font-weight: 700;
    padding: 20px 0 0 0;
	}

	
#header li{
	display: inline-block;
}
	
#header li a{
	display: inline-block;
	color: #FFF;
	margin: 0 15px 0 10px;	
	float: left;
	}
	
#header li span{
	float: left;
	display: inline-block;
	font-size: 8px;
	height: 18px;
	line-height: 18px;
	}
	
	
.line{
	display:inline-block;
	background: #FFF;
	width: 40px;
	height: 3px;
	}
	

	
	
/*--- menus ---*/			
		
#menus ul{
	float: left;
	width: 100%;
	}		
	

#menus ul li{
	float: left;
	width: 25%;
	}	

#menus ul li a{
	float: left;
	width: 100%;
	min-height: 320px;
	position: relative;
	text-align: center;
	color: #FFF;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: 50% 50%;	
}

#menus ul li a span.dummy {
    float: left;
    margin-top: 100%;
}

#menus ul li.breakfast a{
	background-image: url("../images/breakfast.jpg");
	}

#menus ul li.dinner a{
	background-image: url("../images/dinner.jpg");
	}

#menus ul li.drinks a{
	background-image: url("../images/drinks.jpg");
	}

#menus ul li.sunday-roast a{
	background-image: url("../images/sunday-roast.jpg");
	}	

#menus ul li a .square{
	opacity: 0;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: url("../images/trans80.png");
    background: rgba(0, 0, 0, 0.8);
    -webkit-transition: opacity 200ms linear;
	-moz-transition: opacity 200ms linear;
	-o-transition: opacity 200ms linear;
	transition: opacity 200ms linear;
	}
	

#menus ul li a:hover .square{
	opacity: 1;
}

#menus ul li a span.middle{
    float: left;
    width: 80%;
    padding: 0 10%;
   	height: 100%;
   	display: table;
	} 		
	
	
#menus ul li a span.middle h3{
	display: table-cell;
	vertical-align: middle;
	font-size: 14px;
	}
	

#menus ul li a span.middle h3 strong{
	display: inline-block;
	font-weight: normal;
	font-size: 32px;
	border-top: 1px solid #FFF;
	border-bottom: 1px solid #FFF;
	padding: 5px 0;
	margin: 0 0 15px 0;
	font-family: "ambroise-francois-std",sans-serif;
	}	


/*--- newsletter ---*/

#newsletter{
	padding: 60px 0 50px 0;
	background: #000;
	color: #FFF;
	}
	
#newsletter .text{
	float: left;
	width: 45%;
	padding: 0 60px 0 17%;
	border-right: 2px solid #FFF;
	box-sizing: border-box;
	font-size: 14px;
	}	


#newsletter .text h3{
	font-size: 25px;
	padding: 0 0 20px 0;
	}	

#newsletter #mc-embedded-subscribe-form{
	float: right;
	width: 45%;
	padding: 0 5%;
	}	
	
#newsletter #mc-embedded-subscribe-form label{
	position: absolute;
	left: -9999px;
	}	

#newsletter #mc-embedded-subscribe-form .field{
	padding: 0 0 10px 0;
	}

#newsletter #mc-embedded-subscribe-form .field input{
	width: 100%;
	max-width: 400px;
	padding: 12px 20px;
	box-sizing: border-box;
	border: 1px solid #CCC;
	font-size: 14px;
	}		

#newsletter #mc-embedded-subscribe-form .submit{
	padding: 20px 0 0 0;
	}

#newsletter #mc-embedded-subscribe-form .submit button{
	border: none;
	margin: 0;
	padding: 4px 25px;
	border: 1px solid #FFF;
	background: none;
	font-weight: normal;
	font-size: 25px;
	letter-spacing: 3px;
	font-family: "ambroise-francois-std",sans-serif;
	color: #FFF;
	}


#newsletter #mc-embedded-subscribe-form #message{
	max-width: 400px;
	padding: 20px 0 0 0;
	}


#newsletter #mc-embedded-subscribe-form .error{
	color: #cc0000;
	}
	
#newsletter #mc-embedded-subscribe-form .success{
	color: #FFF;
	}	
	
	
	
/*--- booking---*/

#booking{
	padding: 60px 20px;
	margin: 0 auto;
	box-sizing: border-box;
	}

#booking .inner{
	max-width: 1200px;
	margin: 0 auto;
	text-align: center;
	}

#booking .line{
	background: #000;
	margin: 10px 0 20px 0;
	}		

#booking img{
	float: left;
	border: 1px solid #B4B4B4;
	}
	
	
#booking .image{
	float: left;
	width: 28%;
	}
	
#booking .image img{
	float: right;
	width: 100%;
	height: auto;
	}	


#booking .text{
	text-align: left;
	float: left;
	width: 30%;
	padding: 0 5%;
	}	


#booking .text h3{
	font-size: 45px;
	}

#booking .text p{
	padding: 0 0 10px 0;
	}	

#booking .text h4{
	font-weight: 700;
	font-size: 26px;
	padding: 0 0 15px 0;	
	}	

#booking .text h4 a{
	font-size: 16px;
	color: #000;
	}
	
#booking .text h4 a:hover{
	text-decoration: underline;
	}


#booking .booking-widget{
	float: left;
	width: 30%;
}

/*--- whats-on ---*/

#whats-on{
	padding: 60px 0;
	}	

#whats-on .inner{
	max-width: 500px;
	text-align: center;
	}

#whats-on .title{
	font-size: 45px;
	padding: 0 0 10px 0;
	background: url("../images/line.png") no-repeat 50% 100%;
	}


#whats-on .event{
	float: left;
	width: 100%;
	padding: 40px 0 0 0;
	box-sizing: border-box;
	}

#whats-on .event h4{
	font-size: 26px;
	font-weight: 700;
	padding: 0 0 5px 0;
	}

#whats-on .event p{
	font-size: 14px;
	padding: 0 0 17px 0;
	}

#whats-on .event p.date{
	font-size: 18px;
	padding: 0 0 25px 0;
	}

#whats-on .event h6{
	font-size: 18px;
	font-weight: 700;
	}

#whats-on .event a{
	color: #000;
	text-decoration: underline;
	}

#whats-on .event a:hover{
	text-decoration: none;
	}

/*--- location---*/

#location{
	background: #5c5c5c;
	}


#location .line{
	margin: 10px 0 20px 0;
	}	
	
#location #map{
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    width: 50%;
    height: 100%;
    }


#location .map iframe{	
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
	height: 100% !important;	
}

#location .text{
	float: left;
	width: 23%;
	padding: 60px 5% 50px 17%;
	color: #FFFFFF;
	}
	
#location .text h3{
	font-size: 45px;
	}


#location .text p{
	padding: 0 0 20px 0;
	}	

#location .text p strong{
	font-size: 18px;
	font-weight: 700;
	}




/*--- lessons ---*/

#lessons{
	padding: 60px 3%;
	box-sizing: border-box;
	background: #F7F7F7;
	}	

#lessons .inner{
	max-width: 830px;
	}

#lessons .text{
	float: left;
	width: 50%;
	box-sizing: border-box;
}

#lessons .text h3{
	font-size: 45px;
	}


#lessons .text h4{
	font-size: 22px;
	}

#lessons .text p{
	padding: 0 0 20px 0;
}

#lessons .text .line{
	background-color: #000;
	margin: 15px 0 20px 0;
}

#lessons .text p.btn a{
	display: block;
	border: none;
	margin: 0;
	padding: 10px 15px;
	background-color: #000;
	font-weight: normal;
	font-size: 14px;
	color: #FFF;
	text-transform: uppercase;
	text-align: center;
	-webkit-transition: background-color 200ms linear;
	-moz-transition: background-color 200ms linear;
	-o-transition: background-color 200ms linear;
	transition: background-color 200ms linear;
	}


#lessons .text p.btn a:hover{
	background-color: #5c5c5c;
}

#lessons .image{
	float: right;
	width: 50%;
	text-align: center;
	padding: 0 0 0 30px;
	box-sizing: border-box;
}

#lessons .image img{
	float: right;
	width: 100%;
	border: 1px solid #CCC;
	max-width: 360px;
	height: auto !important;
}

/*--- footer ---*/

#footer{
	background: #000;
	color: #FFF;
	}
	
#footer ul{
	float: left;
	margin: 28px 30px 0 3%;
	}
	
#footer ul li{
	float: left;	
	}
	
#footer ul li a{
	float: left;
	height: 30px;
	line-height: 30px;
	text-align: center;
	width: 30px;
	margin: 0 4px 0 0;
	font-size: 16px;
	-webkit-border-radius: 20px;
	-moz-border-radius: 20px;
	border-radius: 20px;
	background: #FFF;
	color: #000;
	-webkit-transition: background-color 200ms linear;
	-moz-transition: background-color 200ms linear;
	-o-transition: background-color 200ms linear;
	transition: background-color 200ms linear;
	}
	
#footer ul li a:hover{
	background-color: #ccc;
	}			
	
#footer p{
	float: left;
	height: 87px;
	line-height: 87px;		
	}		
	
#footer img{
	float: right;
	}	
		
	
/* ==========================================================================
   Media Queries
   ========================================================================== */

@media only screen 
and (min-width : 1440px){

	#menus ul li a span.dummy {margin-top: 60%;}
}

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

	#booking .image {
		//float: right;
		width: 55%;
		display: block;
	}

	#booking .text {
		text-align: left;
		float: left;
		width: 35%;
	}


}

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

	#booking .image {
		float: right;
		width: 100%;
		display: block;
		padding-bottom: 20px;
	}
	#booking .image img{
		float: none;
		width: 50%;
	}

	#booking .text {
		text-align: left;
		float: left;
		width: 50%;
	}

}

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


	#booking .image img{
		float: none;
		width: 100%;
	}

	#booking .text {
		text-align: left;
		float: left;
		width: 40%;
	}
}

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


	#booking .text {
		text-align: left;
		float: left;
		width: 80%;
	}
}

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

	#location .text{width: 45%;padding: 60px 5% 50px 5%;}
	#menus ul li a span.middle h3 strong{font-size: 26px;}
	
	#newsletter .text{width: 45%;padding: 0 5% 0 5%;}	

}
	

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

	#menus ul li a span.middle h3 strong{font-size: 32px;}
	#menus ul li{width: 50%;}
	#menus ul li a{min-height: 220px;}
	
}


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

	#header h2{padding: 130px 10% 150px 10%;}
	#header h2 br{display: none;}
	#menus ul li a span.middle h3 strong{font-size: 24px;}

}


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

	#lessons .text{width: 100%;}
	#lessons .text h3{font-size: 40px;}
	#lessons .image{width: 100%;padding: 0 0 30px 0;}
	#lessons .image img{width: 100%;max-width: 100%;}
	
	#whats-on .event{padding: 40px 5% 0 5%;}
	
}


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

	#header h2{font-size: 32px;padding: 80px 10% 90px 10%;}
	#header .line{display: none;}
	#header ul{float: left;width: 90%;font-size: 18px;font-weight: 400;margin: 0 5% 0 5%;padding: 0;border-top: 3px solid #FFF;}
	#header li{float: left;width: 100%;}
	#header li a{float: left;width: 100%;color: #FFF;margin: 0 0 0 0;padding: 10px 0;border-bottom: 1px solid #FFF;-webkit-transition: background-color 200ms linear;-moz-transition: background-color 200ms linear;-o-transition: background-color 200ms linear;transition: background-color 200ms linear;	}
	#header li a:hover{background: rgba(0, 0, 0, 0.5);}	
	#header li span{display: none;}
	
	#menus ul li{width: 100%;}
	#menus ul li a span.middle h3 strong{font-size: 28px;}


	#newsletter .text{width: 90%;margin: 0 5% 30px 5%;padding: 0 0 30px 0;border-right: none;border-bottom: 2px solid #FFF;}
	#newsletter #mc-embedded-subscribe-form{width: 100%;padding: 0 5%;box-sizing: border-box;}	

	#location #map{float: left;position: relative;top: auto;bottom: auto;right: auto;width: 100%;height: 300px;}
	#location .text{width: 90%;padding: 30px 5% 30px 5%;}

	#lessons{padding: 30px 5% 30px 5%;}
	#lessons .text h3{font-size: 32px;}
	#lessons .image{width: 100%;padding: 0 0 30px 0;}

	#footer ul{margin: 14px 30px 0 5%;}
	#footer p{width: 55%;margin: 10px 0 0 5%;height: auto;line-height: normal;}
	#footer ul li a{margin: 0 15px 0 0;}
	
}


/* ==========================================================================
   Helper classes
   ========================================================================== */

/*
 * Image replacement
 */

.ir {
    background-color: transparent;
    border: 0;
    overflow: hidden;
    /* IE 6/7 fallback */
    *text-indent: -9999px;
}

.ir:before {
    content: "";
    display: block;
    width: 0;
    height: 150%;
}

/*
 * Hide from both screenreaders and browsers: h5bp.com/u
 */

.hidden {
    display: none !important;
    visibility: hidden;
}

/*
 * Hide only visually, but have it available for screenreaders: h5bp.com/v
 */

.visuallyhidden {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

/*
 * Extends the .visuallyhidden class to allow the element to be focusable
 * when navigated to via the keyboard: h5bp.com/p
 */

.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    width: auto;
}

/*
 * Hide visually and from screenreaders, but maintain layout
 */

.invisible {
    visibility: hidden;
}

/*
 * Clearfix: contain floats
 *
 * For modern browsers
 * 1. The space content is one way to avoid an Opera bug when the
 *    `contenteditable` attribute is included anywhere else in the document.
 *    Otherwise it causes space to appear at the top and bottom of elements
 *    that receive the `clearfix` class.
 * 2. The use of `table` rather than `block` is only necessary if using
 *    `:before` to contain the top-margins of child elements.
 */

.clearfix:before,
.clearfix:after {
    content: " "; /* 1 */
    display: table; /* 2 */
}

.clearfix:after {
    clear: both;
}

/*
 * For IE 6/7 only
 * Include this rule to trigger hasLayout and contain floats.
 */

.clearfix {
    *zoom: 1;
}

/* ==========================================================================
   EXAMPLE Media Queries for Responsive Design.
   These examples override the primary ('mobile first') styles.
   Modify as content requires.
   ========================================================================== */

@media only screen and (min-width: 35em) {
    /* Style adjustments for viewports that meet the condition */
}

@media print,
       (-o-min-device-pixel-ratio: 5/4),
       (-webkit-min-device-pixel-ratio: 1.25),
       (min-resolution: 120dpi) {
    /* Style adjustments for high resolution devices */
}

/* ==========================================================================
   Print styles.
   Inlined to avoid required HTTP connection: h5bp.com/r
   ========================================================================== */

@media print {
    * {
        background: transparent !important;
        color: #000 !important; /* Black prints faster: h5bp.com/s */
        box-shadow: none !important;
        text-shadow: none !important;
    }

    a,
    a:visited {
        text-decoration: underline;
    }

    a[href]:after {
        content: " (" attr(href) ")";
    }

    abbr[title]:after {
        content: " (" attr(title) ")";
    }

    /*
     * Don't show links for images, or javascript/internal links
     */

    .ir a:after,
    a[href^="javascript:"]:after,
    a[href^="#"]:after {
        content: "";
    }

    pre,
    blockquote {
        border: 1px solid #999;
        page-break-inside: avoid;
    }

    thead {
        display: table-header-group; /* h5bp.com/t */
    }

    tr,
    img {
        page-break-inside: avoid;
    }

    img {
        max-width: 100% !important;
    }

    @page {
        margin: 0.5cm;
    }

    p,
    h2,
    h3 {
        orphans: 3;
        widows: 3;
    }

    h2,
    h3 {
        page-break-after: avoid;
    }
}


.banner{
	top: 0;
	left:0;
	right: 0;
	z-index: 2;
	position: fixed;
	text-align: center;
	color: white;
	font-size: 15px;
	padding: 10px;
	background: black;
	
}

.spacer{
	height: 40px;
	width: 100%;
	background: black;
}