/*-------------
 	GENERAL
-------------*/

body {
	font-size:16px;
	font-family: 'Titillium Web', sans-serif;
	font-weight: 400;
	line-height: 1.45;
	margin:0;
	color: #333;
}
/*
p { margin-bottom: 1.3em; display:inline-block;}
*/
h1, h2, h3, h4 {
	margin:inherit;
	font-family: 'Amaranth', sans-serif;
	font-weight: 700;
	line-height: 1.25em;
}

h1 {
	margin: 0;
	font-size: 2em;
	line-height:1.25em;
}

h2 {font-size: 1.625em;
	line-height:1.15em;}

h3 {font-size: 1.375em;
	line-height:1.15em}

h4 {font-size: 1.125em;}



*{
	padding: 0;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;	
}

html{
	font: normal 16px sans-serif;
	color: #555;
}

.latest-news ul, nav{
	list-style: none;
}

a{
	text-decoration: none;
	color: #2779B0;
	cursor: pointer;
}

a:hover, a:focus{
	text-decoration:underline;
}
img {
	max-width:100%;
	height:auto;
}

/*-------------
 	HEADER
-------------*/

header{	
	position:fixed;
	top: 0;
	left: 0;
	display: block;
	width:100%;
	background-color: rgba(77,77,77,0.95);
	padding:1.7em 0;
	border-bottom:solid 5px #000;
	z-index: 11111;
}
.container{
	padding:0;
	margin:0 auto;
	position:relative;
}
.logo {
	float:left;
	width:18%;
}
.logo h1 {
    float: left;
    margin-bottom: 0;
    font-size: 16px;
    padding: 0.5em 0;
}
.logo h1 a {
	background-image: url(../images/lmps-logo.png);
	background-size:80px;
    background-repeat: no-repeat;
    height: 80px;
    text-indent: -10000%;
    white-space: nowrap;
    width: 80px;
	position:absolute;
	top: -1.25em;
	left:5%;
	z-index:1111;
}

/*-------------
 	NAVIGATION (MEGA MENU)
-------------*/

#menu {
    position: inherit;
    float: left;
	color: #fff;
	background-repeat: no-repeat;
	background-position: 0.5em center;
	border-radius: 4px;
    background-image: url(../images/menu.png);
	padding: 0.5em 1.5em 0.5em 3.25em;
	text-align: center;
	background-color:#ce0000;
}
#menu:hover, #menu:focus, #menu:active  {
	background-color:#860000;
	text-decoration:none;
}


/*-------------
 	NAVIGATION (Horizontal)
-------------*/
/* nav{
	float:left;
	width:62%;
}
nav ul, nav ul li { 
	float:left;
	margin:0;
}

nav ul li a {
	float:left;
	padding: 0.25em 0.75em;
	color:#fff;
}
nav ul li a:hover, nav ul li a:focus {
	color:#ce0000;
	font-weight:bold;
	text-decoration:none;
} 
 */


/*-------------
 	SEARCH
-------------*/
#search {
	display:none;
    float: left;
    width: 100%;
	margin-right: 5%;
	margin-top:15%;
}
input#s {
	float:left;
	width:80%;
	padding:0.333em;
	min-height:40px;
}
input#btnsearch {
	float:left;
	width:20%;
	background-color:#ce0000;
	color:#fff;
	min-height:40px;
	font-weight:bold;
	border:none;
	cursor:pointer;
}
input#btnsearch:hover, input#btnsearch:focus {
	background-color:#860000;
}

/*-------------
 	NEWSFLASH
-------------*/
.newsflash {
	position: fixed;
	top:95px;
    width: 100%;
    background-color: #E4BD00;
    font-weight: 700;
    text-align: center;
    color: #000;
    padding: 0.333em;
    z-index: 1;
}
/*-------------
 	FEATURED AREA
-------------*/

.featured-area {
	position:relative;
	float:left;
	width:100%;
}
.content-container {
	width:70%;
	float:left;
	margin:0;
}
.content-container .full {
    width: 100%;
}

.blurb {
    position: absolute;
    bottom: 5%;
    left: 0;
    width: 100%;
    background-color: rgba(0,0,0,0.8);
}

.blurb .content-container {
	padding:2em 5%;
	margin:0 auto;
	position:relative;
	min-height:0;
	width:auto;
}
.blurb .content-container h2, .blurb .content-container p {
	color:#fff;
}

.featured-image {
    float: left;
    width: 100%;
    min-height: 430px;
}

/* Call to action */

.cta-btn {
	background-color:#ce0000;
	color:#fff;
	padding:0.666em;
	border-radius:4px;
	font-weight:700;
}
.cta-btn:hover, .cta-btn:focus  {
	background-color:#860000;
	text-decoration:none;
}
.cta-btn:after {
	content:"\00A0\00BB"
}

a.more-entries {
	float:left;
    padding: 0.5em 1em;
    border: solid 2px #ce0000;
    font-weight: 700;
    color: #ce0000;
	-webkit-transition: all 0.3s;
    transition: all 0.3s;
}
a.more-entries:hover, a.more-entries:focus {
    background-color:#ce0000;
    color: #ffffff;
	text-decoration:none;
}

.trio-feature {
    float: left;
    width: 100%;
    padding: 1em 0;
}

/*-------------
 	KEY AREAS
-------------*/

.key-areas{
	float:left;
	width:100%;
	padding:1.7em 1em;
	background-color:#e4e4e4;
}

/* Upcoming events */

.upcoming-events{
	float: left;
	width: 100%;
}
.upcoming-events ul {
    float: left;
	width: 100%;
    list-style-type: none;
}
.upcoming-events ul li {
	float: left;
	width: 100%;
	clear: both;
	border-bottom: solid 1px #ccc;
}
.upcoming-events ul li:last-of-type {
	border-bottom: none;
}
.upcoming-events ul li a {
	float: left;
	width: 100%;
	position: relative;
	padding: 0.5em 0.25em 0.5em 2.25em;
	background-repeat: no-repeat;
}
.upcoming-events ul li a:hover, .upcoming-events ul li a:focus {
	background-color:#ce0000;
	color:#fff;
	text-decoration:none;
}
.upcoming-events ul li a:before {
    content: "";
	position:absolute;
    left: 5px;
    top: 25%;
	background-image: url(../images/calendar.png);
	background-repeat: no-repeat;
	background-size: 20px;
	width: 20px;
	height: 20px;
}
.upcoming-events ul li a:hover:before {
	background-image: url(../images/calendar-hover.png);
}
.upcoming-events ul li a h3:after {
    content: "\00A0\00BB";
	color:#ce0000;
	font-weight:bold;
	font-size:1.125em;
	margin:0 5px 0 2px;
}
.upcoming-events ul li a:hover h3:after {
	color:#fff;
}

/* Latest news*/

.latest-news, .latest-news ul {
	float:left;
	width:100%;
}
.latest-news {
	margin-bottom:1em;
}
.latest-news ul li {
	float:left;
	clear:both;
	width:100%;
	border-bottom:solid 1px #ccc;
}
.latest-news ul li:last-of-type {
	border-bottom:none;
}
.latest-news ul li a{
	float:left;
	width:100%;
	position:relative;
	padding:0.5em 0.25em 0.5em 2.75em;
	background-repeat:no-repeat;
}
.latest-news ul li a:hover, .latest-news ul li a:focus {
	background-color:#ce0000;
	color:#fff;
	text-decoration:none;
}
.latest-news ul li a:before {
    content: "";
	position:absolute;
    left: 5px;
    top: 25%;
	background-image: url(../images/news.png);
	background-repeat:no-repeat;
	background-size:20px;
	width:20px;
	height:20px;
}
.latest-news ul li a:hover:before {
	background-image: url(../images/news-hover.png);
}
.latest-news ul li a h3:after {
    content: "\00A0\00BB";
	color:#ce0000;
	font-weight:bold;
	font-size:1.125em;
	margin:0 5px 0 2px;
}
.latest-news ul li a:hover h3:after {
	color:#fff;
}

/* Term dates */

.parallel{
	float:left;
	position:relative;
	width:100%;
	margin-bottom:1em;
}
.parallel a {
	float:left;
	background-size:cover;
	width:100%;
}
.parallel a img {
	max-width:100%;
}
.parallel a h2 {
	position:absolute;
	color:#fff;
	text-align:center;
	background-color: rgba(0,0,0,0.8);
	top:60%;
	left:0;
	width:100%;
}
.parallel a:hover h2, 
.parallel a:focus h2  {
	background-color:#ce0000;
}
/*.term-dates a {
	background-image: url(../images/term-dates.jpg);
	background-position:50%;
}
.after-school a {
	background-image: url(../images/after-school.jpg);
	background-position:50%;
}
.uniform a {
	background-image: url(../images/school-uniform.jpg);
	background-position:50%;
}*/

/*-------------
 	FOOTER
-------------*/

footer{
    text-align: center;
    width: 100%;
    float: left;
    color: #fff;
    background-color: #2c2c2c;
    padding: 1em;
}

footer ul{
	float:left;
	margin:0;
	font-size: 32px;
}

footer ul li{
	margin: 0 8px;	
}

footer ul li:first-child{
	margin-left: 0;	
}

footer ul li:last-child{
	margin-right: 0;	
}

footer p{
	text-transform: uppercase;
	font-size: 14px;
	color: rgba(255,255,255,0.6);
	margin-bottom: 10px;
}

footer p a{
	color: #fff;
}
footer .pwip {
	color:#2196F3;
}

/*--------------------
 	CONTACT DETAILS
---------------------*/

.contact-details{
	float:left;
	width:100%;
}
.phone, .email, .address {
	float:left;
	width:100%;
	background-repeat:no-repeat;
	background-position:3% 50%;
	padding:0.333em 0.666em;
}
.phone:hover, .phone:focus,
.email:hover, .email:focus,
.address:hover, .address:focus {
	background-color:#ce0000;
	text-decoration:none;
}

.contact-details a{
	color:#fff;
}
.contact-details a h2{
	font-size:1.5em;
}
.contact-details a p{
	margin:0;
}

/*-------------
OTHER PAGES
-------------*/

.content-area {
	float:left;
	position:relative;
	padding-top:5.938em;
	width:100%;
}
.bg {
	background-image: url(../images/image01.jpg);
	background-repeat:no-repeat;
	background-position: 50% 0;
}
.bg-news {
	background-image: url(../images/news-bg.png);
	background-repeat:no-repeat;
	background-position: 50% 0;
}
.bg-test {
	background-image: url(../images/test.jpg);
	background-repeat:no-repeat;
	background-position: 50% 50%;
}

.full-page, .half-page {
	float:left;
    width: 100%;
	padding:1.7em;
	background-color:#ffffff;
}
.full-page ul, .half-page ul {
	padding-left:1.7em;
}
.half-page h2 {
    margin:0;
}

.items {
	float:left;
	width:100%;
	padding-top:1.7em;
}
.item {
	float:left;
	width: 100%;
    margin-bottom: 1em;
}
.item:last-of-type {
	margin-right:0;
}


small.meta.date {
    background-color: #ce0000;
    color: #fff;
	padding: 0.5em;
	z-index:1;
	position:relative;
}
small.meta.date:after {
	width: 60px;
    position: absolute;
	height:100%;
    content: "";
    background: #ce0000;
    top: 0;
    right: -22px;
    z-index: -1;
	transform: skew(-45deg,0);
}

/*-------------
TABLES
-------------*/

.content-container table {
	width: 100%;
	border: 0;
	border-spacing: 0;
}

.content-container table thead tr {
	background-color: #e8f4fa;
}

.content-container table tr:nth-child(even) {
	background-color: #f4f4f4;
}
 
.content-container table tr:hover {
	background-color: #e7e7e7;
}
th,td {
	border: 1px solid #ddd;
	border-left: none;
	border-right: none;
	padding: 0.5em;
}

th {
	font-weight: bold;
	text-align: left;
	border-bottom: 2px solid #ddd;
	border-top: none;
}

/*-------------
ASIDE
-------------*/

aside.related-posts {
    float: left;
    width: 100%;
}


/*-------------
Gallery
-------------*/
.gallery-area {
	float:left;
	width:100%;
	padding:1.7em 0;
}
.gallery-area .image {
    float: left;
	width: 100%;
	margin-bottom:3%;
}
.gallery-area .image img {
	width:100%;
	height:auto;
}

.gallery-area .image:hover, .gallery-area .image:focus {
    -webkit-box-shadow: 2px 2px 20px 0px rgba(0,0,0,0.75);
	-moz-box-shadow: 2px 2px 20px 0px rgba(0,0,0,0.75);
	box-shadow: 2px 2px 20px 0px rgba(0,0,0,0.75);
}

/*-------------
CONTACT US PAGE
-------------*/

.contact-wrap {
	float:left;
    width: 100%;
    margin: 10px 0;
    -webkit-box-shadow: 4px 4px 20px 0 rgba(102,102,102,1);
    -moz-box-shadow: 4px 4px 20px 0 rgba(102,102,102,1);
    box-shadow: 4px 4px 20px 0 rgba(102,102,102,1);
}
.contact-content {
    padding: 0.5em 1.7em;
}
.contact-content h2 {
    margin:0;
}

/*-------------
	FAQ
-------------*/

.hide-reveal {
	cursor:pointer;
	position:relative;
}
.hide-reveal h2.parent-container:first-of-type {
	margin-top:1em;
}
.hide-reveal div {
	padding:0 0.5em;
}
.hide-reveal h2.parent-container {
    border: solid 1px #2779B0;
    padding: 0.333em 0.5em;
    margin-bottom: 0.5em;
	position:relative;
}
.hide-reveal h2:after {
    content: "\003e";
    color: #2779B0;
    font-size: 40px;
    right: 3%;
    position: absolute;
	top: 10%;
	-webkit-transition: all 0.3s;
    transition: all 0.3s;
}
.hide-reveal h2.down:after {
transform: rotate(90deg);
}

/*-------------
	STAFF
-------------*/

.staff-member {
    float: left;
    width: 100%;
    height: auto;
    display: block;
    position: relative;
    margin-top: 1em;
}
.staff-member:nth-child(odd) {
    margin-right: 0;
}
.staff-member img {
    width: 100%;
	height:auto;
}

.staff-member h2 {
    position: absolute;
    bottom: -24px;
    background-color: #860000;
    width: 100%;
    padding: 0.25em 0.333em;
    color: #fff;
	font-size:1.85em
}

/*-------------
 	TABLET
-------------*/

@media (min-width:700px){

h1 {
	margin: 0;
	font-size: 2.5em;
}
	
h2 {font-size: 2em;
	line-height:1.25em;
	margin:0;}
	
h3 {font-size: 1.5em;
}
	
.logo {
	width:30%;
}

.logo h1 a {
	background-size:148px;
	height: 148px;
	width: 148px;
	top: -1.5em;
	left:10%;
}

#search {
	display:block;
    float: left;
    width: 44%;
	margin-left: 5%;
	margin-right:0;
	margin-top:0;
}
input#s {
	width:75%;
}
input#btnsearch {
	width:25%;
}

.container{
	padding:0 10%;
}
.featured-image {
	background-image: url(../images/featured-3.jpg);
    background-size: cover;
	background-position: center;
	min-height: 524px;
}
.blurb {
	bottom: 10%;
	left: 10%;
	width: 60%;
}	
.latest-news{
	width:47.5%;
	margin-right:5%;
}
.upcoming-events{
	width:47.5%;
	margin-right:0%;
}
.parallel{
	width:33%;
	transition-duration: 0.333s;
	-webkit-clip-path: polygon(25% 0%, 100% 0%, 75% 100%, 0% 100%);
	clip-path: polygon(25% 0%, 100% 0%, 75% 100%, 0% 100%);
	margin-bottom:0;
}
.parallel a {
	min-height:280px;
}

.parallel a img {
	max-width:none;
}
.parallel:hover, .parallel:focus{
	transition-duration: 0.6s;
	-webkit-clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
	clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
}

header{	
	height:95px;
	position:fixed;
	background-color: rgba(77,77,77,9.5);
	padding-bottom:0;
}
.phone, .email, .address {
	padding:1.15em;
	padding-left:64px;
}
.phone {
	width:25%;
	background-image: url(../images/phone.png);
}
.email {
	width:38%;
	background-image: url(../images/email.png);
}
.address {
	width:35%;
	background-image: url(../images/address.png);
}
.full-page {
    width: 90%;
    margin: 5%;
}
.half-page {
    width: 60%;
}
.content-container {
	margin-right: 5%;
}
aside.related-posts {
    width: 25%;
}
.items {
    display: flex;
    flex-flow: row wrap;
}
.item {
    flex: 0 0 50%;
	border-radius: 4px;
    padding: 1em;
    box-shadow: 0 10px 20px 0 rgba(0,0,0,.11), 0 5px 15px 0 rgba(0,0,0,.08);
}
.item:hover, .item:focus, .item:active {
    box-shadow: 0 10px 20px 0 rgba(0,0,0,0.50), 0 5px 15px 0 rgba(0,0,0,0.08);
}
.gallery-area .image {
	width: 48.5%;
	margin-right: 3%;
}
.gallery-area .image:nth-child(2n) {
    margin-right: 0;
}

.contact-wrap {
    width: 60%;
    margin: 40px 0 0;
    -webkit-box-shadow: 4px 4px 20px 0 rgba(102,102,102,1);
    -moz-box-shadow: 4px 4px 20px 0 rgba(102,102,102,1);
    box-shadow: 4px 4px 20px 0 rgba(102,102,102,1);
}
.contact-content {
    padding: 0.5em 1.7em 0.5em 8.5em;
}
.contact-content h2 {
	font-size:2.2em;
}
.contact-phone {
	background-image: url(../images/tel-link.png);
	background-repeat:no-repeat;
	background-position:left center;
}
.contact-email {
	background-image: url(../images/email-link.png);
	background-repeat:no-repeat;
	background-position:left center;
}
.contact-location {
	background-image: url(../images/location-link.png);
	background-repeat:no-repeat;
	background-position:left center;
}
	.staff-member {
    width: 48.5%;
    margin-right: 3%;
}

}

@media (min-width:840px) {
    .item {
        flex: 0 0 30%;
        margin-right: 3%;
    }
    .item:nth-child(3n) {
        margin: 0;
    }
}
    /*-------------
 	DESKTOP
-------------*/

    @media (min-width:1280px) {

        h1 {
            margin: 0;
            font-size: 3em;
        }

        h2 {
            font-size: 2.25em;
        }

        h3 {
            font-size: 1.75em;
        }

        .logo {
            width: 18%;
        }

        #search {
            width: 60%;
        }

        .featured-image {
            min-height: 700px;
        }

        .blurb {
            bottom: 15%;
            width: 50%;
        }

        .gallery-area .image {
            width: 31.333%;
        }

            .gallery-area .image:nth-child(2n) {
                margin-right: 3%;
            }

            .gallery-area .image:nth-child(3n) {
                margin-right: 0;
            }
    }

    @media (min-width:1440px) {
    }


    /* ACCESSIBILITY */

    .accessibility_nfd, .accessibility_nfd a, .accessibility_nfd a:hover, .accessibility_nfd a:visited {
        left: -999px;
        position: absolute;
        z-index: 1001;
    }

    .nfd_top {
        top: 0;
    }

    .nfd_bottom {
        float: left;
        padding-top: 8px;
        position: relative;
        text-align: center;
        width: 100%;
    }

    .accessibility_nfd a:focus, .accessibility_nfd a:active {
        background-color: #2c2c2c;
        border: 1px solid #ffffff;
        border-radius: 6px;
        box-shadow: 2px 2px 5px #5f5f5f;
        color: #ffffff;
        min-width: 150px;
        outline: medium none;
        padding: 6px;
        text-align: center;
    }

    .nfd_top a:focus, .nfd_top a:active {
        left: 1150px;
        position: absolute;
        top: 8px;
    }

    .nfd_bottom a:focus, .nfd_bottom a:active {
        left: 1000px;
        position: relative;
    }

    /*.screen-reader-text, .accessibility_nfd{
	position: absolute !important;
	top: -9999px !important;
	left: -9999px !important;
}
*/

    .hidden {
        left: -9999px !important;
        position: absolute !important;
        top: -9999px !important;
    }

    .visually-hidden {
        display: none;
    }
