/*
 * Studio Lift 2013
*/

/*
 * Colour reference
 * Blue dark: rgb(6,53,122) #06357A
 * Blue bright: rgb(0,150,214) #0096D6
 * Blue light: rgb(204,234,247) #CCEAF7
 * Blue light sub nav: rgb(217,239,249) #D9EFF9
 * Green dark: rgb(0,146,69) #009244
 * Green light: rgb(204,233,218) #CCE9DA
*/

/*
 * Quick Reset
*/
html, body, ul, ol, li, figure { padding:0; margin:0; }

/*
 * HTML 5
*/
article, aside, details, figcaption, figure, footer, header, hgroup, nav, section { display: block; }

/*
 * HTML
*/
html { font-size:100%; overflow-y:scroll; -webkit-text-size-adjust:100%; -ms-text-size-adjust:100%; font-size:62.5%; }

/*
 * Type
*/
body, input, button, textarea { font-family:'PT Sans', Arial, Sans-Serif; line-height:1.45em; font-size:16px; color:rgb(120,120,120); }
body { min-width:950px; }

/*
 * Headings
*/
h1, h2, h3, h4, h5, h6 { margin:0 0 10px; color:#009244; }
h1 { font-size:32px; line-height:1.1em; margin:0 0 15px; }
h2 { font-size:22px; line-height:1.2em; margin:0 0 7px; }
h3 { font-size:16px; line-height:1.2em; margin:0; }
h4 { font-size:16px; line-height:1.2em; margin:0; }
h5 { font-size:15px; line-height:1.2em; margin:0; }
h6 { font-size:14px; line-height:1.2em; margin:0; }

/*
 * Paragraphs
*/
p { margin:0 0 15px; }

/*
 * Links
*/
a { color:#0096D6; text-decoration:none; }
a:hover { color:#06357A; }

/*
 * Blockquotes
*/
blockquote { padding:0 0 0 1em; font-style:italic; border-left:2px dashed #ccc; color:#333; }

/*
 * Images
*/
img { max-width:100%; margin:0; line-height:1; border:none; }

/*
 * iFrames
*/
iframe { max-width:100%; }

/*
 * Horizontal rules
*/
hr { margin:20px 0; }

/*
 * Lists
*/
li { list-style:none; }

/*
 * Micro Clearfix
*/
.cf:before, .cf:after, .wp-caption:before, .wp-caption:after { content:""; display:table; }
.cf:after, .wp-caption:after { clear:both; }
.cf, .wp-caption { zoom:1; }

/*
 * Forms
*/
.field { margin:0 0 1em; }
textarea { overflow:auto; vertical-align:top; }

/*
 * Messages
 * TODO: Look at message naming.
*/
.msg { padding:1em 1em .4em; border:1px solid #ddd; margin:0 0 1em; }

/*
 * General Gradients
*/
.grd-blue-dark {
  background:#385d95;
  background:-moz-linear-gradient(top, #385d95 0%, #0d3b7e 98%);
  background:-webkit-linear-gradient(top, #385d95 0%,#0d3b7e 98%);
  background:-o-linear-gradient(top, #385d95 0%,#0d3b7e 98%);
  background:-ms-linear-gradient(top, #385d95 0%,#0d3b7e 98%);
  background:linear-gradient(to bottom, #385d95 0%,#0d3b7e 98%);
  filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#385d95', endColorstr='#0d3b7e',GradientType=0 );
}

/*
 * Main section gradient
 * No IE because of the 80% change
*/
.sec-main {
  background:#f9f7f3;
  background:-moz-linear-gradient(top, #f9f7f3 0%, #f9f7f3 80%, #ededed 100%);
  background:-webkit-linear-gradient(top, #f9f7f3 0%,#f9f7f3 80%,#ededed 100%);
  background:-o-linear-gradient(top, #f9f7f3 0%,#f9f7f3 80%,#ededed 100%);
  background:-ms-linear-gradient(top, #f9f7f3 0%,#f9f7f3 80%,#ededed 100%);
  background:linear-gradient(to bottom, #f9f7f3 0%,#f9f7f3 80%,#ededed 100%);
}

/*
 * Box shadow
*/
.box-shadow, .lightbox-overlay-content, .events-lightbox-overlay-content { box-shadow:0 3px 10px rgba(0,0,0,0.3); border-radius:7px; }

/*
 * General feedback colors
*/
.s-error { background:#ffc8c8; color:#f00; border-color:#ff9696; }
.s-warning { background:#ffe1c8; color:#ff6400; border-color:#ffc896; }
.s-correct { background:#dceace; color:#5d8237; border-color:#a9cc86; }

/*
 * Horizontal sections
*/
.sec-header { background-repeat:repeat-x; position:relative; }
.sec-main { padding:30px 0; }
.sec-footer { /* Takes colour from body */ border-top:1px solid #ccc; padding:20px 0 50px; }

/*
 * Header background images
*/
.header-bg-0 { background:url(img/header_bg_1.jpg) repeat-x center -40px; }
.header-bg-1 { background:url(img/header_bg_2.jpg) repeat-x center 0; }
.header-bg-2 { background:url(img/header_bg_3.jpg) repeat-x center -5px; }

.header-title-bar { margin:0 0 130px; height:50px; }
.header-title-bar h1, .header-title-bar h2 { color:rgb(6,53,122); }
.header-title-bar .wrap { padding-top:11px; }
.header-title-bar-bg { background:#fff; opacity:0.8; filter:alpha(opacity=80); height:50px; position:absolute; width:100%; top:0; left:0; }

/*
 * Inner wrap
*/
.wrap { width:890px; margin:0 auto; position:relative; padding:0 30px; }

/*
 * Main title and sub title
*/
.site-logo { float:left; margin:0 20px 0 0; position:relative; top:-7px; }
.site-title { font-family:'Times New Roman'; text-transform:uppercase; font-size:26px; display:inline; margin-right:15px; font-weight:normal; letter-spacing:1px; }
.site-description { font-size:15px; font-weight:normal; display:inline; font-style:italic; }

/*
 * Box containing contact link
*/
.top-links { position:absolute; top:-5px; right:15px; }
.top-links a { background:rgb(6,53,122); color:#fff; border-radius:5px; padding:7px 10px 5px; display:block }
.top-links a:hover { background:#F9F7F3; color:#06357A; }

/*
 * Nav
*/
.js .nav { display:block; }
.nav { text-align:center; clear:both; font-size:18px; }
.nav ul { display:inline-block; border-radius:5px 5px 0 0; }
.nav li { display:inline-block; margin:0 8px; }
.nav .first { margin-left:0; }
.nav .last { margin-right:0; }
.nav a { display:inline-block; padding:8px 24px; color:#fff; }
.nav a:hover { border-radius:5px 5px 0 0; background:#F9F7F3; color:#06357A; }
.nav .on { border-radius:5px 5px 0 0; background:#F9F7F3; color:#06357A; font-weight:bold; }

/*
 * Nav IE Fixes
*/
.ie6 .nav ul,
.ie6 .nav li,
.ie6 .nav a,
.ie7 .nav ul,
.ie7 .nav li,
.ie7 .nav a { display:inline; }

/*
 * Hide mobile menu link
*/
.mobile-nav { display:none; }

/*
 * 3 Column layout
*/
.lay-3cols .leftcol { float:left; width:19.1%; margin-right:4.5%; }
.lay-3cols .maincol { float:left; width:52.8%; }
.lay-3cols .rightcol { float:right; width:19.1%; }

/*
 * Titles
*/
.home-title-block h1 { color:#06357A; }
.page-title-block { margin:0 23% 0 23.5%; }
.page-title-block h1 { font-size:32px; }

/*
 * Inverted border radius
*/
.inverted-radius { position:absolute; width:7px; height:7px; }
.inverted-radius-7px-tl { background:url(img/inverted-radius-7px.png) no-repeat 0 0; top:0; left:0; }
.inverted-radius-7px-tr { background:url(img/inverted-radius-7px.png) no-repeat -7px 0; top:0; right:0; }
.inverted-radius-7px-br { background:url(img/inverted-radius-7px.png) no-repeat -7px -7px; bottom:0; right:0; }
.inverted-radius-7px-bl { background:url(img/inverted-radius-7px.png) no-repeat 0 -7px; bottom:0; left:0; }

.ie6 .inverted-radius,
.ie7 .inverted-radius,
.ie8 .inverted-radius { display:none; }

/*
 * Carousel
*/
.no-js .carousel-wrap { display:none; }
.carousel-wrap { background:#fff url(img/loading.gif) no-repeat center; position:relative; width:77.5%; float:left; border-radius:7px; box-shadow:3px 2px 7px rgba(0,0,0,0.2); }
.carousel-left-col { width:68%; float:left; }
.carousel-right-col { width:32%; position:absolute; height:100%; top:0; right:0; }
.carousel-slides { height:0; padding:0 0 56%; position:relative; overflow:hidden; width:100%; }
.carousel-slide { position:absolute; top:0; left:0; background:#eee; width:100%; height:100%; }
.carousel-slide img { width:100%; height:100%; display:block; position:absolute; }
.carousel-nav { position:absolute; bottom:0; right:0; background:rgb(0,150,214); width:100%; border-radius:0 0 7px 0; }
.carousel-nav-inner { padding:15px 10px 10px 20px; float:left; height:9px; }
.carousel-nav-item { background:url(img/carousel_nav.png); width:9px; height:9px; display:block; float:left; margin:0 3px 0 0; text-indent:-9999px; }
.carousel-nav-item.on { background-position:-9px 0; }
.carousel-prev { display:none; }
.carousel-next { display:none; }
.carousel-panels {  }
.carousel-panel { padding:10px 20px; }
.carousel-panel h3 { font-size:24px; color:#0096D6; margin-bottom:10px; }
.carousel-wrap .inverted-radius-7px-tr { display:none; }

.ie7 .carousel-slides { width:auto; }

/*
 * Carousel
*/
.no-js .carousel-b-wrap { display:none; }
.carousel-b-wrap { background:#fff url(img/loading.gif) no-repeat center; position:relative; border-radius:7px; }
.carousel-b-slides { height:0; padding:0 0 56%; position:relative; overflow:hidden; }
.carousel-b-slide { position:absolute; top:0; left:0; right:0; bottom:0; background:#eee; width:100%; height:100%; }
.carousel-b-slide img { width:100%; height:100%; display:block; position:absolute; }
.carousel-b-nav { position:absolute; bottom:0; right:0; width:100%; }
.carousel-b-nav-inner { padding:15px 10px 10px 20px; float:left; height:9px; }
.carousel-b-nav-item { background:url(img/carousel_nav.png); width:9px; height:9px; display:block; float:left; margin:0 3px 0 0; text-indent:-9999px; }
.carousel-b-nav-item.on { background-position:-9px 0; }
.carousel-b-prev { display:none; }
.carousel-b-next { display:none; }

/*
 * Home widget
*/
.home-widgets { float:right; width:19.1%; border-bottom:1px solid #fff; border-top:1px solid #ccc; }
.home-widget { border-bottom:1px solid #ccc; border-top:1px solid #fff; padding:5px; position:relative; }
.home-widget * { margin:0; }
.home-widget-title { font-size:22px; }

/*
 * Home blocks
*/
.home-blocks { margin:25px -10px 0; }
.home-block { width:33%; float:left; }
.home-block-inner { margin:0 10px; }

/*
 * Home text blocks
*/
.home-text-block { background:#fff; border-radius:7px; }
.home-text-block-image img { border-radius:7px 7px 0 0; width:100%; height:auto; }
.home-text-block-info { padding:5px 15px; position:relative; }
.home-text-block-info h2 { color:#06357A; }
.home-text-block-excerpt {  }

/*
 * Home listing block
*/
.home-listing-block { border-radius:7px; }
.home-listing-block-title { padding:7px 10px; border-radius:7px; position:relative; }
.home-listing-block-title * { margin:0; }
.home-listing-block-title h2 { font-size:18px; }
.home-listing-block-title a { color:#fff; }
.home-listing-block-body { padding:10px 15px; }
.home-listing-block-item { margin:10px 0 15px; }

/*
 * Home News block colours
*/
.home-news .home-listing-block { background:#CCEAF7; margin:0 5px 0 15px; }
.home-news .home-listing-block-title { background:#0096D6; padding-left:65px; }
.home-news .home-listing-block-title .title-icon { top:-12px; left:-13px; }
.home-news .home-listing-block-body h3 a { color:#0096D6; }
.home-news .home-listing-block-body h3 a:hover { color:#06357A; }
.home-news .home-listing-block-body a { color:#06357A; }
.home-news .home-listing-block-body a:hover { color:#0096D6; }

/*
 * Home Events block colours
*/
.home-events .home-listing-block { background:#CCE9DA; }
.home-events .home-block-inner { margin-right:0; }
.home-events .home-listing-block-title { background:#009244; padding-left:45px; }
.home-events .home-listing-block-title .title-icon { top:-12px; left:-13px; }
.home-events .home-listing-block-body h3 a { color:#009244; }
.home-events .home-listing-block-body a { color:#999; }
.home-events .home-listing-block-body a:hover { color:#06357A; }
.home-events .home-listing-block-more a { color:#009244; }

/*
 * Home year group list
*/
.home-year-groups { margin: 25px 0; text-align: center; }
.home-year-group-heading { display: inline-block; font-size: 21px; margin: 0; }
.home-year-group-list { display: inline-block; font-size: 21px; font-weight: bold; }
.home-year-group-list li { display: inline-block; }
.home-year-group-list .dot { color: #0096D6; margin: 0 7px; }

/*
 * Year intro block
*/
.year-intro { margin:0 0 20px; box-shadow:0 4px 8px rgba(0,0,0,0.3); }
.year-intro-static-image img { display:block; margin:0; border-radius:7px 7px 0 0; height:auto; width:100%; }
.year-intro-info { background:#fff; padding:15px; border-radius:0 0 7px 7px; }
.year-intro.no-car .year-intro-info { border-radius:7px; } /* Top rounded corners when there is no carousel */

/*
 * Year blocks
*/
.year-blocks { margin:0 -15px; }
.year-block { width:49.99%; float:left; }
.year-block-inner { margin:0 15px; border-top:1px solid #ccc; padding:15px 0 0; }
.year-block-inner.no-border { border-top: none; padding-top: 0; }
.year-block-full { border-top:1px solid #ccc; padding:15px 0 0; }
.year-block-title { position:relative; padding-left:50px; min-height:40px; margin:0 0 10px; }
.year-block-title h2 { color:#06357A; }
.year-block-title .title-icon { top:-10px; left:-5px; }

/*
 * Year sidebar
*/
.year-facts { margin:0 0 20px; }
.year-facts-header { background:#009244; padding:7px 15px 2px; border-radius:7px 7px 0 0; }
.year-facts-header h3 { font-size:18px; font-weight:normal; color:#eee; }
.year-facts-body { background:#fff; padding:10px 15px 1px; border-radius:0 0 7px 7px; }
.year-facts-body p { margin:0 0 4px; }

/*
 * Year groups
*/
.year-groups { border-top:1px solid #ccc; padding-top:15px; }
.year-group { margin:15px 0; }
.year-group-thumb { float:left; max-width:45%; margin:3px 15px 0 0; }
.year-group-thumb img { height:auto!important; }

/*
 * Learning link
*/
.learning-links li { margin:10px 0; }

/*
 * Events calendar
*/
.events-cal { border-collapse:collapse; background:#fff; border-radius:0; margin:10px 0 20px; width:100%; }
.events-cal-day-num { margin:5px; }
.events-cal-day-name { border:1px solid #ddd; padding:5px; }
.events-cal-day { border:1px solid #ddd; width:14.285714286%; height:110px; padding:5px 0; vertical-align:top; font-size:13px; }
.events-cal-today { background:#f5f5f5; }
.events-cal-item { background:#f9f9f9; border-top:1px solid #eee; border-bottom:1px solid #eee; overflow:hidden; display:block; padding:3px 5px; color:#06357A; }
.events-cal-item { margin:0 0 3px; line-height:1.2em; }
.events-cal-item:hover, .multi-hover { background:#06357A; color:#fff; }

.events-cal-nav-title { text-align:center; }
.events-cal-nav { position:relative; height:30px; }
.events-cal-nav-prev { position:absolute; left:0; bottom:0; }
.events-cal-nav-current { width:200px; display:block; text-align:center; position:absolute; left:50%; bottom:0; margin-left:-100px; }
.events-cal-nav-next { position:absolute; right:0; bottom:0; }

.js .events-cal-lower { display:none; }
.events-cal-school-year-link { display:block; text-align:right; margin:0 0 20px; font-size:14px; }

/*
 * Event list
*/
.event-list-item h3 { color:#06357A; margin:0 0 10px; }

/*
 * Sidebar lined-widget
*/
.sidebar-lined-widget { border-top: 1px solid #ddd; margin: 0 0 30px; }

/*
 * Sidebar latest news
*/
.side-latest-news { border-top:1px solid #ddd; }
.side-latest-news-header { border-top:1px solid #fff; padding:8px 0 0 50px; position:relative; min-height:32px; }
.side-latest-news-header h3 { font-size:22px; color:#06357A; }
.side-latest-news-header .title-icon { top:0; left:-6px; width:50px; }
.side-latest-news-body {  }
.side-latest-news-item { margin:8px 0; }
.side-latest-news-body i, .side-latest-news-body i a { color:#06357A; }

/*
 * Sidebar documents
*/
.sidebar-documents-header { padding-top: 10px; }
.sidebar-documents-header .title-icon { top: 8px; }

/*
 * Sub nav
*/
.subnav li { list-style-type:none; }
.subnav a { display:block; }
.snl-0 { padding:5px 10px; color:#06357A; font-weight:bold; }
.snl-1 { padding:5px 10px; border-bottom:1px solid #ccc; border-top:1px solid #ccc; position:relative; margin-bottom:-1px; }
.snl-1:hover { background:#eee; }
.snl-1.on { font-weight:bold; background:#06357A; color:#fff; }
.snl-2 { background:#D9EFF9; color:#06357A; padding:3px 10px; }
.snl-2:hover { color:#0096D6; }
.snl-2.on { font-weight:bold; background:#fff; padding:3px 10px 0; }
.snl-3 { background:#fff; color:#06357A; font-size:14px; padding:0 10px; }
.snl-3:hover { color:#0096D6; }
.snl-3.on { font-weight:bold; }

/*
 * Content formatting
*/
.content-box { padding:15px; background:#fff; margin:0 0 20px; }
.content {  }
.content a { color:#06357A; text-decoration:underline; }
.content a:hover { color:#0096D6; }
.content p,
.content ul,
.content ol,
.content table,
.content form { margin:0 0 15px; }

/*
 * Content headings
*/
.content h1,
.content h2 { margin:25px 0 7px; }
.content h3,
.content h4,
.content h5,
.content h6 { margin:0 0 7px; }

/*
 * Content headings
*/
.content h1 a,
.content h2 a,
.content h3 a,
.content h4 a,
.content h5 a,
.content h6 a { color:#009244; text-decoration:none; }

/*
 * Content lists
*/
.content ul,
.content ol { margin-left:15px; }
.content ul ul,
.content ol ol { margin-bottom:0; }
.content ul li { list-style:disc; }
.content ol li { list-style:decimal; }

/*
 * Images in content and wordpress images
*/
.content img { max-width:100%; display:block; margin:0 0 15px; height:auto!important; width:auto!important; }
.content .alignleft { float:left; }
.wp-caption { padding:5px; background:#fff; border:1px solid #eee; margin:0 0 15px; max-width:96%; }
.wp-caption img { margin:0 0 5px; }
.wp-caption p { margin:0; }
.wp-caption.aligncenter { margin:0 auto 15px; }

/*
 * Comments
*/
.comments { margin:40px 0 0; }
.comments h2, .comments h3, .comments h4 { color:#06357A; }
.comments label { display:block; }
.comments input[type="text"] { padding:5px; width:96%; max-width:200px; }
.comments textarea { padding:5px; width:96%; }
.comments .reply { position:absolute; top:5px; right:0; font-size:12px; }
.form-allowed-tags { display:none; }
.commentlist { border-top:1px solid #ccc; border-bottom:1px solid #fff; margin:20px 0; }
.comment-body { border-top:1px solid #fff; border-bottom:1px solid #ccc; padding:5px 0 20px; position:relative; }
.comment-author img { display:none; }
.comment-meta { font-style:italic; margin:0 0 5px; }
.comment-author a, .comment-meta a, .comments .reply a { color:#777; }
.comment-author a:hover, .comment-meta a:hover, .comments .reply a:hover { color:#0096D6; }

/*
 * Plain lists
*/
.list-plain ul { margin-left:0; }
.list-plain li { list-style:none; }

/*
 * Titles with icons
*/
.title-icon { position:absolute; }

/*
 * Main title
*/
.content .main-title { margin:0 0 25px; }

/*
 * Footer logos
*/
.footer-logos { float:left; }
.footer-logos img { margin-right:20px; }
.footer-logos a { color:#787878; }
.footer-logos a:hover { color:#0096D6; }
.footer-copy { display:block; font-size:12px; line-height:1.2em; margin-top:5px; }

/*
 * Footer lists
*/
.footer-lists { float:right; width:60%; font-size:14px; }
.footer-list { float:left; width:33%; }
.footer-list-a a { color:#06357A; }
.footer-list-a a:hover { color:#0096D6; }
.footer-list-b a { color:#999; }
.footer-list-b a:hover { color:#0096D6; }
.footer-list-c a { color:#0096D6; }
.footer-list-c a:hover { color:#06357A; }

/*
 * Content gallery view
*/
.gallery {  }
.gallery-row { margin:10px 0; }
.gallery-item { width:33%; float:left; text-align:center; }
.gallery-img img { margin:0; display:inline; }
.gallery-caption { font-size:13px; }

/*
 * Lightbox
*/
.lightbox-overlay { position:fixed; top:0; left:0; width:100%; height:100%; text-align:center; }
.lightbox-overlay-bg { position:fixed; top:0; left:0; width:100%; height:100%; text-align:center; background-color:rgb(239,233,220); opacity:0.7; filter:alpha(opacity=70); }
.lightbox-overlay-content { position:absolute; background-color:#fff; top:50%; left:50%; }
.lightbox-overlay-img { position:absolute; }
.lightbox-overlay-img img { max-width:100%; max-height:100%; }
.lightbox-overlay-caption { position:absolute; bottom:15px; left:0; width:100%; height:23px; }
.lightbox-overlay-nav { display:none; }
.lightbox-overlay-close { position:absolute; top:5px; right:10px; font-size:20px }
.lightbox-overlay-prev { position:absolute; top:50%; left:10px; font-size:20px; }
.lightbox-overlay-next { position:absolute; top:50%; right:10px; font-size:20px; }

/*
 * Lightbox
*/
.events-lightbox-overlay { position:fixed; top:0; left:0; width:100%; height:100%; }
.events-lightbox-overlay-bg { position:fixed; top:0; left:0; width:100%; height:100%; text-align:center; background-color:rgb(239,233,220); opacity:0.7; filter:alpha(opacity=70); }
.events-lightbox-overlay-content { position:absolute; background-color:#fff; top:50%; left:50%; }
.events-lightbox-overlay-nav { display:none; }
.events-lightbox-overlay-close { position:absolute; top:5px; right:10px; font-size:20px; }
.events-lightbox-overlay-prev { position:absolute; top:50%; left:10px; font-size:20px; }
.events-lightbox-overlay-next { position:absolute; top:50%; right:10px; font-size:20px; }

/*
 * Media items and tags
*/
.media-item { margin:5px 0; }
.media-tags { font-size:14px; margin-bottom:5px!important; }
.media-tags li { display:inline; }
.media-tags a { text-decoration:none; }

/*
 * Category summary
*/
.cat-summary { position:relative; }

/*
 * Edit post link
*/
.post-edit-link { font-style:italic; font-size:12px; color:#999!important; }
.car .post-edit-link,
.home-widgets .post-edit-link,
.home-text-block .post-edit-link,
.cat-summary .post-edit-link { position:absolute; top:0; right:0; }

/*
 * Time and author details
*/
.post-meta { font-size:12px; margin:10px 0 0; }
.post-meta-author { color:#999; }

/*
 * Resources
*/
.resources { margin-left:5px!important; }
.resource { margin:0; display:block; }

/*! fancyBox v2.1.4 fancyapps.com | fancyapps.com/fancybox/#license */
.fancybox-wrap,
.fancybox-skin,
.fancybox-outer,
.fancybox-inner,
.fancybox-image,
.fancybox-wrap iframe,
.fancybox-wrap object,
.fancybox-nav,
.fancybox-nav span,
.fancybox-tmp
{
  padding: 0;
  margin: 0;
  border: 0;
  outline: none;
  vertical-align: top;
}

.fancybox-wrap {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 8020;
}

.fancybox-skin {
  position: relative;
  background: #f9f9f9;
  color: #444;
  text-shadow: none;
  -webkit-border-radius: 4px;
     -moz-border-radius: 4px;
          border-radius: 4px;
}

.fancybox-opened {
  z-index: 8030;
}

.fancybox-opened .fancybox-skin {
  -webkit-box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
     -moz-box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
          box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
}

.fancybox-outer, .fancybox-inner {
  position: relative;
}

.fancybox-inner {
  overflow: hidden;
}

.fancybox-type-iframe .fancybox-inner {
  -webkit-overflow-scrolling: touch;
}

.fancybox-error {
  color: #444;
  font: 14px/20px "Helvetica Neue",Helvetica,Arial,sans-serif;
  margin: 0;
  padding: 15px;
  white-space: nowrap;
}

.fancybox-image, .fancybox-iframe {
  display: block;
  width: 100%;
  height: 100%;
}

.fancybox-image {
  max-width: 100%;
  max-height: 100%;
}

#fancybox-loading, .fancybox-close, .fancybox-prev span, .fancybox-next span {
  background-image: url('img/fancybox_sprite.png');
}

#fancybox-loading {
  position: fixed;
  top: 50%;
  left: 50%;
  margin-top: -22px;
  margin-left: -22px;
  background-position: 0 -108px;
  opacity: 0.8;
  cursor: pointer;
  z-index: 8060;
}

#fancybox-loading div {
  width: 44px;
  height: 44px;
  background: url('img/loading.gif') center center no-repeat;
}

.fancybox-close {
  position: absolute;
  top: -18px;
  right: -18px;
  width: 36px;
  height: 36px;
  cursor: pointer;
  z-index: 8040;
}

.fancybox-nav {
  position: absolute;
  top: 0;
  width: 40%;
  height: 100%;
  cursor: pointer;
  text-decoration: none;
  background: transparent url('img/blank.gif'); /* helps IE */
  -webkit-tap-highlight-color: rgba(0,0,0,0);
  z-index: 8040;
}

.fancybox-prev {
  left: 0;
}

.fancybox-next {
  right: 0;
}

.fancybox-nav span {
  position: absolute;
  top: 50%;
  width: 36px;
  height: 34px;
  margin-top: -18px;
  cursor: pointer;
  z-index: 8040;
  visibility: hidden;
}

.fancybox-prev span {
  left: 10px;
  background-position: 0 -36px;
}

.fancybox-next span {
  right: 10px;
  background-position: 0 -72px;
}

.fancybox-nav:hover span {
  visibility: visible;
}

.fancybox-tmp {
  position: absolute;
  top: -99999px;
  left: -99999px;
  visibility: hidden;
  max-width: 99999px;
  max-height: 99999px;
  overflow: visible !important;
}

/* Overlay helper */

.fancybox-lock {
  overflow: hidden;
}

.fancybox-overlay {
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  display: none;
  z-index: 8010;
  background: url('img/fancybox_overlay.png');
}

.fancybox-overlay-fixed {
  position: fixed;
  bottom: 0;
  right: 0;
}

.fancybox-lock .fancybox-overlay {
  overflow: auto;
  overflow-y: scroll;
}

/* Title helper */

.fancybox-title {
  visibility: hidden;
  font: normal 13px/20px "Helvetica Neue",Helvetica,Arial,sans-serif;
  position: relative;
  text-shadow: none;
  z-index: 8050;
}

.fancybox-opened .fancybox-title {
  visibility: visible;
}

.fancybox-title-float-wrap {
  position: absolute;
  bottom: 0;
  right: 50%;
  margin-bottom: -35px;
  z-index: 8050;
  text-align: center;
}

.fancybox-title-float-wrap .child {
  display: inline-block;
  margin-right: -100%;
  padding: 2px 20px;
  background: transparent; /* Fallback for web browsers that doesn't support RGBa */
  background: rgba(0, 0, 0, 0.8);
  -webkit-border-radius: 15px;
     -moz-border-radius: 15px;
          border-radius: 15px;
  text-shadow: 0 1px 2px #222;
  color: #FFF;
  font-weight: bold;
  line-height: 24px;
  white-space: nowrap;
}

.fancybox-title-outside-wrap {
  position: relative;
  margin-top: 10px;
  color: #fff;
}

.fancybox-title-inside-wrap {
  padding-top: 10px;
}

.fancybox-title-over-wrap {
  position: absolute;
  bottom: 0;
  left: 0;
  color: #fff;
  padding: 10px;
  background: #000;
  background: rgba(0, 0, 0, .8);
}

@media screen and (max-width:640px) {
  body { min-width:0; }

  .wrap { width:auto; padding:0 15px; }

  /*
   * Header section
  */
  .sec-header { background:none; }
  .sec-header > .wrap { padding:0; }

  .header-title-bar { margin:10px 5px 15px; height:auto; }

  .site-logo { display:none; }
  .site-description { display:block; }

  h1 { font-size:22px; }
  h2 { font-size:20px; }
  h3 { font-size:18px; }
  h4 { font-size:16px; }
  h5 { font-size:15px; }
  h6 { font-size:14px; }

  /*
   * Title blocks
  */
  .home-title-block { width:80%; }
  .page-title-block { margin:0; }

  .events-cal { display:none; }
  .events-cal-school-year-link { text-align:center; width:180px; margin:20px auto 0; }
  .js .events-cal-lower { display:block; }

  /*
   * Nav
  */
  .js .nav { display:none; }
  .js .nav.open { display:block; }
  .nav ul { display:block; border-radius:0; background:#0096D6; padding:5px 15px; }
  .nav li { display:block; margin:0; }
  .nav a { display:block; float:left; background:none; width:50%; text-align:left; padding:6px 0; }
  .nav a:hover { background:none; }
  .nav .on { display:none; }

  /*
   * Mobile menu link
  */
  .mobile-nav { display:block; padding:10px 15px 0; font-size:18px; }
  .mobile-nav-on { background:#F9F7F3; color:#06357A; font-weight:bold; display:block; float:left; border-radius:5px 5px 0 0; padding:5px 20px; margin-right:10px; }
  .mobile-nav-more { display:block; float:left; padding:5px 20px; color:#fff; border-radius:5px 5px 0 0; }
  .mobile-nav-more:hover { color:#fff; }
  .mobile-nav-more.on { background:#0096D6; }

  /*
   * Carousel
  */
  .carousel-wrap { width:auto; float:none; }
  .carousel-left-col { width:auto; float:none; }
  .carousel-right-col { width:auto; position:static; height:auto; }
  .carousel-nav { position:static; width:auto; border-radius:0 0 7px 7px; }
  .carousel-nav-inner { float:none; }
  .carousel-prev { display:none; }
  .carousel-next { display:none; }
  .carousel-wrap .inverted-radius-7px-tr { display:block; }
  .carousel-wrap .inverted-radius-7px-bl { display:none; }

  /*
   * Home widgets
  */
  .home-widgets { width:auto; float:none; margin:20px 0; }

  /*
   * Home blocks
  */
  .home-blocks { margin:0 0 10px; }
  .home-block { width:auto; float:none; }
  .home-block .home-block-inner { margin:15px 0; }

  /*
   * Home year group list
  */
  .home-year-groups { text-align: left; margin: 10px 0; }
  .home-year-group-heading { display: block; margin: 0 0 10px; }
  .home-year-group-list { display: block; line-height: 1.5em; }

  /*
   * 3 Column layout
  */
  .lay-3cols .leftcol { float:none; width:auto; margin:0 0 10px; }
  .lay-3cols .maincol { float:none; width:auto; margin:0 0 10px; }
  .lay-3cols .rightcol { float:none; width:auto; margin:0 0 10px; }

  .layout-cols { display:box; display:-moz-box; display:-webkit-box; box-orient:vertical; -moz-box-orient:vertical; -webkit-box-orient:vertical; }
  .lay-3cols .leftcol  { box-ordinal-group:3; -moz-box-ordinal-group:3; -webkit-box-ordinal-group:3; }
  .lay-3cols .maincol  { box-ordinal-group:1; -moz-box-ordinal-group:1; -webkit-box-ordinal-group:1; }
  .lay-3cols .rightcol { box-ordinal-group:2; -moz-box-ordinal-group:2; -webkit-box-ordinal-group:2; }

  /*
   * Year blocks
  */
  .year-blocks { margin:0 0 10px; }
  .year-block { width:auto; float:none; }
  .year-block-inner { margin:0 0 10px; }

  /*
   * Content gallery view
  */
  .gallery-img img { max-width:80%; }
  .gallery-caption { font-size:12px; }

  /*
   * Footer section
  */
  .sec-footer .wrap { padding:0 20px; }

  /*
   * Footer logos
  */
  .footer-logos { float:none; clear:both; margin:20px 0 0; }

  /*
   * Footer lists
  */
  .footer-lists { float:none; width:auto; }
  .footer-list { width:49%; margin-bottom:10px; }
}

/*
  Main Nav Menu
*/

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

  .header-title-bar {
    padding-right: 87px;
  }

  .menu-toggle {
    display: block;
    position: absolute;
    top: 24px;
    right: 24px;
    width: 48px;
    height: 48px;
    border-radius: 5px;
    cursor: pointer;
    background:#385d95;
    transition: ease 0.5s all;
  }

  .menu-toggle span {
    position: absolute;
    width: 24px;
    height: 2px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: #fff;
    transition: ease 0.5s all;
  }

  .menu-toggle span:before,
  .menu-toggle span:after {
    content: '';
    position: absolute;
    width: 24px;
    height: 2px;
    left: 50%;
    transform: translateX(-50%);
    background: #fff;
    transition: ease 0.5s all;
  }

  .menu-toggle span:before {
    top: -8px;
  }

  .menu-toggle span:after {
    top: 8px;
  }

  .menu-toggle--active {
    background: #009243;
  }

  .menu-toggle--active span {
    background: transparent;
  }

  .menu-toggle--active span:before,
  .menu-toggle--active span:after {
    top: 50%;
  }

  .menu-toggle--active span:before {
    transform: translate(-50%, -50%) rotate(45deg);
  }

  .menu-toggle--active span:after {
    transform: translate(-50%, -50%) rotate(-45deg);
  }

  .main_menu {
    z-index: 1;
    position: fixed;
    top: 24px;
    left: calc(-100% + 24px);
    width: 240px;
    max-width: calc(100% - 108px);
    background:#385d95;
    border-radius: 5px;
    box-shadow:0 3px 10px rgba(0,0,0,0.3);
    height: calc(100vh - 48px);
    overflow: auto;
    transition: 0.5s ease left;
  }

  .main_menu--active {
    left: 24px;
  }

  .main_menu .menu {
    margin: 0;
    padding: 24px;
  }

  .main_menu .menu > .menu-item {
    margin-bottom: 12px;
  }

  .main_menu .menu > .menu-item:last-child {
    margin-bottom: 0;
  }

  .main_menu a:hover,
  .main_menu a:focus {
    opacity: 0.65;
  }

  .main_menu .menu > .menu-item > a {
    font-size: 20px; 
    color: #fff;
  }

  .main_menu > .menu > .menu-item > .sub-menu {
    margin-top: 12px;
    margin-bottom: 12px;
  }

  .main_menu .sub-menu .menu-item {
    margin-bottom: 6px;
  }

  .main_menu .sub-menu .menu-item > a {
    font-size: 15px; 
    color: #fff;
  }

}

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

  .menu-toggle {
    display: none;
  }

  .main_menu {
    display: flex;
    justify-content: center;
    align-items: center;
  }
  
  .main_menu .menu {
    margin: 0;
    display: flex;
    gap: 0.5rem;
    background:#385d95;
    border-radius:5px 5px 0 0;
  }
  
  .main_menu .menu > .menu-item > a {
    display: block;
    font-size: 18px; 
    padding: 8px 24px; 
    color: #fff;
    border-radius:5px 5px 0 0;
  }
  
  .main_menu .menu > .current-menu-ancestor > a,
  .main_menu .menu > .current-menu-parent > a,
  .main_menu .menu > .current_page_parent > a,
  .main_menu .menu > .current_page_ancestor > a,
  .main_menu .menu > .current-page-ancestor > a,
  .main_menu .menu > .current-menu-item > a {
    background: #F9F7F3; 
    color: #06357A; 
  }
  
  .main_menu .menu > .menu-item:hover > a,
  .main_menu .menu > .menu-item:focus > a {
    transition: 0.25s ease all;
    background: #06357A;
    color: #fff;
  }
  
  .main_menu .menu > .menu-item > .sub-menu {
    visibility: hidden;
    position: absolute;
    z-index: 2;
    background: #06357A;
    padding: 12px 0;
    opacity: 0;
    transition: 0.25s ease all;
  }
  
  .main_menu .menu-item > .sub-menu a {
    display: block;
    color: #fff;
    padding: 12px 24px;
  }
  
  .main_menu .menu-item > .sub-menu a:hover {
    background: #0b2c5a;
    color: #fff;
  }
  
  .main_menu .menu > .menu-item:hover > .sub-menu {
    display: block;
    visibility: visible;
    opacity: 1;
    top: 100%;
  }

}