@charset "utf-8";
/* CSS Document *

/*-------------------------------------------------------------------------------------*/
/*GENERAL -----------------------------------------------------------------------------*/
/*-------------------------------------------------------------------------------------*/

* {
	margin: 0;
}

html, body {
	padding:0px;
	margin:0px;
	height:100%;
}
body {
	font-family: 'Lato', sans-serif;
	font-size: 15px;
	color:#222222;
	background: #ffffff;
	line-height: 24px;
}

body.popup {
	background-color:white; 
	background-image:none;
}

a {text-decoration:none;}
a:hover {text-decoration:underline;}
a:active {text-decoration:none; background:none;}

img {max-width:100%;}

.wrapper {
	min-height: 100%;
	height: auto !important;
	height: 100%;
	margin: 0 auto -65px;
}

.push {
	height: 65px;
}

/*-------------------------------------------------------------------------------------*/
/*HEADER ------------------------------------------------------------------------------*/
/*-------------------------------------------------------------------------------------*/

.header {
	position:relative;
	z-index:501;
}

.header .header-top {
	height:151px;
}

.header .logo {
	display:block;
	position:absolute;
	top:123px;
	left:0;
	z-index:501;
}

.slideshow, #slideshow {
	width:100%!important;
	height:374px!important;
	overflow:hidden;
}

#slideshow {
	position: relative;
	z-index: 2;
}

.slideshow .slideshowWrapper {
	width:100%;
	height:374px;
}

.slideshowWrapper::after {
	border-top-width: 30vw;
	border-top: 5vw solid transparent;
	border-left: 100vw solid #fff;
	height: 0;
	width: 0;
	left: 0;
	right: 0;
	bottom: 0px;
	position: absolute;
	z-index: 3;
	content: '';
}

.slideshowWrapper img {
	min-height: 100%;
    min-width: 100%;
    width: auto;
    height: auto;
    max-width: none;
    max-height: none;
    display: block;
    top: 50%!important;
    left: 50%!important;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
	position:relative;
}

.header-bottom {
	width:100%;
	overflow:hidden;
	height: 410px;
	position:relative;
}

.triangle {
    position: absolute;
    bottom: 0;
    right: -222px;
    width: 356px;
    height: 87px;
    z-index: 501;
	transition: all 0.5s linear;
}

.triangle .triangle-body {
	right:0;
	top:0;
	height:87px;
	width:222px;
	background:#e51e21;
	position:absolute;
	transition: all 0.5s linear;
	font-size:16px;
	line-height:18px;
	padding:7px 0 0 20px;
	color:#ffffff;
}

.triangle .triangle-head {
	position:absolute;
	z-index:501;
	left:0;
	top:0;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 43.5px 135px 43.5px 0;
	border-color: transparent #e51e21 transparent transparent;	
	text-align:center;
	line-height:87px;
	cursor:pointer;
	transition: all 0.5s linear;
}

.triangle:hover {right:0;}

.triangle:hover .triangle-head {
	border-color: transparent #000000 transparent transparent;	
}

.triangle-head::after {
	content: "\f0e0";
	font-family: FontAwesome;
	position: absolute;
	width:100%;
	height:100%;
	pointer-events:none;
	font-size:26px;
	left:80px;
	line-height:0;
	top:0;
	color:#fff;
}

/*-------------------------------------------------------------------------------------*/
/*MENU --------------------------------------------------------------------------------*/
/*-------------------------------------------------------------------------------------*/

#nav-bar {
	height:69px!important;
}

.navbar-header {
	width:100%;
	text-align:right;
}

.mainMenu {
	width:auto;
	height:69px;
	margin:0; 
	z-index:999;
	display:inline-block;
	position:relative;
}

ul.cssMenu {
	cursor:default; 
	text-align:left;
	padding: 0 0 0 0;
	list-style:none;
	list-style-type: none; 
	width:100%;
	margin: 0;
}

ul.cssMenu li {
	list-style-type: none;      
	margin: 0 0 0 0;
	padding:0 20px;
	text-align:left;                 
	position: relative;        
	color: #3b3b3b; 
	display: inline;
	float: left;
	cursor:pointer;
	height:69px;
	width:auto;
	font-size:18px;
	font-weight:700;
	z-index:999;
	line-height: 69px;
}

ul.cssMenu li a { 
	display: block; 
	margin: 0; 
	padding: 0;
	color: #3b3b3b; 
	text-decoration: none;
	position:relative;
}

.noTouch ul.cssMenu li:hover, .noTouch ul.cssMenu li.pressed, ul.cssMenu li.selected { 
	color: #fff; 
	text-decoration:none;
	background:#e51e20;
}

.noTouch ul.cssMenu li:hover > a, ul.cssMenu li.pressed > a, ul.cssMenu li.selected > a {
	text-decoration:none;
	color:#fff;
}

ul.cssMenu li.noLink > a, ul.cssMenu li.noLink, ul.cssMenu li.noLink > a {
	cursor:default;
}

/* SUBMENU */
ul.cssMenu li ul {         
	position: absolute;         
	top: 69px;                    
	left: -999em ;              					
	z-index:999; 				
	width:200px;
	padding:0;
	margin: 0; 
}

ul.cssMenu li ul li { 
	height:auto;
	width:200px;
	min-height:26px;
	text-align:left;
	line-height:26px;
	margin:0;
	padding: 0 20px;
	text-transform:none;
	background:#e51e20;
}

ul.cssMenu li ul li a { 
	color:#ffffff;
	display:block;
	line-height:26px;
	text-decoration:none;
	padding: 7px 0;
}

ul.cssMenu li ul li > a {
	word-wrap:break-word;
} 

.noTouch ul.cssMenu li.hasKids:hover li a, ul.cssMenu li.hasKids.pressed li a {
	color:#fff;
}

.noTouch ul.cssMenu li.hasKids:hover li:hover, ul.cssMenu li.hasKids.pressed li.pressed {
	background:#000000;
}

.noTouch ul.cssMenu li:hover li:hover > a, ul.cssMenu li.pressed li.pressed > a {
	color:#fff;
}

.noTouch ul.cssMenu li:hover > ul, ul.cssMenu li.pressed > ul {
	left: 0px;
}

.noTouch ul.cssMenu li:hover > ul li:hover > ul, ul.cssMenu li.pressed > ul li.pressed > ul {
	display:block; 
	left:200px;
}

ul.cssMenu li ul li ul {         
	display: none;               
	position:absolute;          
	top: 0px;            
	z-index:999;
}

.navbar-collapse {max-height:none; padding:0;}

@media (max-width: 1199px) {
	ul.cssMenu li {padding: 0 18px;}
}

@media (max-width: 991px) {
	ul.cssMenu li {padding:0 10px; font-size:15px;}
	ul.cssMenu li ul li {padding:0 10px;}
}

/*-------------------------------------------------------------------------------------*/
/*MENU MOBILE -------------------------------------------------------------------------*/
/*-------------------------------------------------------------------------------------*/

@media (max-width: 767px) {
	#nav-bar {height:auto!important;}
	.mainMenu {height:auto;}
	.header .navbar-header {padding:0 15px; height: 50px; max-width:none; position: absolute; width: 100%; top: 0; left: 0; margin-left:0;}
	
	.navbar-toggle {
		width: 40px;
		height: 40px;
		margin: 0;
		z-index: 99999;
		padding: 0 7px 0 7px;
		position: absolute;
		right: 15px;
		top: 15px;
		border-radius:0;
		text-align:center;
		background: #e51e20;
	}
	
	.navbar-toggle::after {
		content:"\f00d";
		font-family: FontAwesome;
		position: absolute;
		top: 0;
		left: 0;
		pointer-events: none;
		font-size: 18px;
		color: #ffffff;
		width: 100%;
		line-height:40px;
	}
	
	.navbar-toggle.collapsed::after {
		content:none;
	}
	
	.navbar-toggle.collapsed {
		background: #e51e20;
	}
	
	.navbar-toggle .icon-bar {
		display:none;
	}
	
	.navbar-toggle.collapsed .icon-bar {
		background:#ffffff;
		display:block;
		height:3px;
		width:100%;
	}
	
	.mainMenu {margin:0; display:block;}
	
	.navbar-collapse {
		padding:0;
		margin-left: -16px;
    	margin-right: -16px;
		margin-top: 54px;
		z-index:999;
		position:relative;
	}
	
	.navbar-collapse.in {overflow-y:inherit!important;}
	
	ul.cssMenu li {
		float:none;
		text-align:left;
		padding:0;
		border-bottom:1px solid #fff;
		display:block;
		line-height:30px;
		min-height:50px;
		height:auto;
		position:relative;
		background:#e51e20;
	}
	
	ul.cssMenu li.hasKids > a::after,	ul.cssMenu li.hasKids ul li.hasKids > a::after  {
		content: "\f105";
		font-family: FontAwesome;
		position: absolute;
		top: 9px;
		right: 15px;
		pointer-events: none;
		font-size: 20px;
		width: 20px;
		color: #ffffff;
		left: inherit;
	}
	
	ul.cssMenu li.hasKids.pressed > a::after {
		content: "\f107"!important;
	}
	
	ul.cssMenu li a {
		color:#ffffff;
		padding:10px 15px;
	}
	
	.noTouch ul.cssMenu li:hover > ul, ul.cssMenu li.pressed > ul {
	    right: 0;
		position: relative;
		width: 100%;
		top:0;
	}
	
	.noTouch ul.cssMenu li.hasKids:hover a, ul.cssMenu li.hasKids.pressed a {
		color:#ffffff;
	}
	
	ul.cssMenu li ul li {
		border-bottom:1px solid #fff;
		padding:0;
		width:100%;
		background:#000;
	}
	
	.noTouch ul.cssMenu li:hover > ul li:hover > ul, ul.cssMenu li.pressed > ul li.pressed > ul {
		left:0;
	}
	
	.noTouch ul.cssMenu li ul li:hover, ul.cssMenu li ul li.pressed {
	}
	
	ul.cssMenu li ul li:first-child {border-top: 1px solid #fff;}
	ul.cssMenu li ul li:last-child {border-bottom: none;}
	
	ul.cssMenu li ul li a {padding:10px 25px;}
	
	ul.cssMenu li ul li ul li  {
		border-bottom:1px solid #fff;
		padding:0;
	}
	
	ul.cssMenu li ul li ul li a {padding:10px 35px;}
}



/*-------------------------------------------------------------------------------------*/
/*CONTENT -----------------------------------------------------------------------------*/
/*-------------------------------------------------------------------------------------*/

.content {
	position:relative;
}

.content .content-column {
	padding-top:30px;
	padding-bottom:40px;
}

.content .intro {
	background:#f1f1f1;
	margin-top:-200px;
	padding-top:200px;
	padding-bottom:30px;
}

.content .contentWrapper {
	margin:0;
	padding:0;
}

.content .content-container {
	margin-bottom:30px;
}

.content .quick-menu-container {
	margin-top:50px;
}

.content .quick-menu {
	color:#5a5a5a;
	font-weight:900;
	font-size:18px;
	text-align:right;
	padding-right:40px;
	display:block;
	line-height:50px;
	position:relative;
}

.content .quick-menu:hover {
	color:#e51e20;
	text-decoration:none;
}

.content .quick-menu::after  {
    font-family: FontAwesome;
    position: absolute;
    pointer-events: none;
    font-size: 26px;
    right: 0;
    top: 0;
    color: #e51e20;
	font-weight:400;
}

.content .quick-menu.newsletter::after {content: "\f15c";}
.content .quick-menu.parents::after {content: "\f007";}
.content .quick-menu.times::after {content: "\f017";}

.content .future {
	width:100%;
	height:385px;
	background:url(/images/background.jpg) center center no-repeat;
	background-size:cover;
	position:relative;
	overflow:hidden;
	color:#fff;
	font-weight:900;
	font-size:42px;
	text-align:center;
	line-height:385px;
}

.content .future::before {
	border-bottom-width: 30vw;
    border-bottom: 5vw solid transparent;
    border-left: 100vw solid #fff;
    height: 0;
    width: 0;
    left: 0;
    right: 0;
    top: 0px;
    position: absolute;
    z-index: 3;
    content: '';
}

.content .future::after {
	border-top-width: 30vw;
    border-top: 5vw solid transparent;
    border-left: 100vw solid #fff;
    height: 0;
    width: 0;
    left: 0;
    right: 0;
    bottom: 0px;
    position: absolute;
    z-index: 3;
    content: '';
}

/*-------------------------------------------------------------------------------------*/
/*CALENDAR ----------------------------------------------------------------------------*/
/*-------------------------------------------------------------------------------------*/
.calendarOS {
	margin-top:70px;
	margin-bottom:50px;
}

.calendarOS .calendarOSHeader, .calendarOS .calendarOverview {
	display:none;
}

.calendarOS .calendarOSContent {
	margin-left:-15px;
	margin-right:-15px;
}

.calendarOS .calendarOSContent::after {
	content:'';
	clear:both;
	display:table;
}

.calendarOS .calendarItem {
	padding-left:15px;
	padding-right:15px;
	float:left;
	width:25%;
	position:relative;
	margin-bottom:30px;
	height:70px;
}

.calendarOS .calendarItemTitle {
	color:#5a5a5a;	
	font-size:18px;
	font-weight:900;
	float:left;
	text-align:right;
	padding: 0 15px 0 0;
	width:calc(100% - 119px);
	max-height:70px;
	overflow:hidden;
	word-break: break-word;
}

.calendarOS .calendarItemDate {
	position:absolute;
    bottom: 0;
    right: 15px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 35px 0 35px 119px;
    border-color: transparent transparent transparent #e51e21;
    text-align: center;
    cursor: pointer;
	color:#fff;
}

.calendarOS .calendarItemDate .dateDay {
	position:absolute;
	left: -111px;
	top:-23px;
	font-size:40px;
	font-weight:900;
	display:block;
}

.calendarOS .calendarItemDate .dateMonth {
	position:absolute;
	left: -111px;
	top:3px;
	font-size:24px;
	font-weight:900;
	display:block;
	text-transform:uppercase;
}


/*-------------------------------------------------------------------------------------*/
/*FOOTER ------------------------------------------------------------------------------*/
/*-------------------------------------------------------------------------------------*/

.footer {
	color:#ffffff;
	line-height:65px;
	font-size:17px;
	background: #000000;
	text-align:center;
}

.footer a {
	color:#fff;
	text-decoration:none;
}

.footer a:hover {
	text-decoration:underline;
}

/*-------------------------------------------------------------------------------------*/
/*MEDIA QUERIES -----------------------------------------------------------------------*/
/*-------------------------------------------------------------------------------------*/

@media (max-width: 1199px) {
	.calendarOS .calendarItemTitle {font-size:16px;}
}

@media (max-width: 1024px) {
	.triangle:hover {right:-222px;}	
	.triangle.clicked {right:0;}	
}

@media (max-width: 991px) {
	.calendarOS .calendarItem {width:50%;}
}

@media (max-width: 767px) {
	.header .logo {top:29px;}
	.calendarOS .calendarItem {width:100%;}
	.slideshow, #slideshow, .slideshow .slideshowWrapper {height:250px!important;}
	.header-bottom {height:287px;}
	.content .content-container {margin-top:20px;}
	.content .future {font-size:30px; line-height:40px; padding:85px 0; height:250px;}
}