/*
=========================================================================================================================
CSS3 Media queries to gracefully degrade the Downside School 2016 website to a responsive state for mobile/tablet users.
=========================================================================================================================
*/

/*
=================================
MEDIA QUERIES
=================================
*/

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

	/* Sub menu */
	/*nav.sub-menu {
		margin-left: 0px;
	}*/
}

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

	/* Sub menu */
	nav.sub-menu ul li a {
		padding-right: 12px;
		padding-left: 12px;
	}

	.logo {
	    margin: 25px 0 0 40px;
	}

	nav.main-menu {
	    margin: 31px 0 0 0;
	}

	nav.main-menu ul li {
	    font: 1.1em 'Cinzel';
	    padding: 0 20px 32px 0;
	}

	.logo {
	    margin: 26px 0 0 40px;
	}

	.logo img {
	    max-width: 280px;
	}

}

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

	/* Home page */
	.page-template-home-page .full-screen.text {
		bottom: -13px;
		padding-left: 30px;
	}

	.home-footer {
		height: 120px;
	}

	.page-template-home-page .logo {
		margin-left: 30px;
	}

	.home-footer h1 {
		font-size: 1.8em;
	}

	/*.home-footer h1 span {
		font-size: 1.5rem;
	}*/

	.home-footer nav.main-menu {
		margin-top: 50px;
		margin-right: 0;
	}

	.home-footer nav.main-menu ul li {
		padding-right: 28px;
	}
}

/*@media screen and (max-width: 1420px) {
	
	nav.sub-menu ul li a {
		padding: 17px;	
	}
	
}*/

@media screen and (max-width: 1380px) {
	
	/*nav.sub-menu {
		margin-left: 10px;	
	}*/
	
	nav.sub-menu ul li a {
		padding: 17px 9px;
	}
	
	.contact-button a {
		padding: 17px 9px;	
	}
	
	.search-box.open {
		width: 160px;	
	}
	
	.search-field input {
		width: 120px;	
	}
	
	.search-button {
		width: 40px;	
	}
	
}

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

	/* Home page */
	.page-template-home-page .full-screen.text {
		bottom: 43px;
	}

	.home-footer {
		height: 170px;
	}

	.sliders .widget-wrap {
	    bottom:  200px;
	}

	.full-screen.images .slide {
	    height: -webkit-calc(100vh - 170px);
	    height: -moz-calc(100vh - 170px);
	    height: calc(100vh - 170px);
	}

	.page-template-home-page .logo,
	.home-footer nav.main-menu {
		float: none;
	}

	.home-footer nav.main-menu {
		margin: 30px 0 0 30px;
	}

	.home-footer nav.main-menu ul li {
		padding-right: 38px;
	}
	
	/* LINK BLOCKS */
	
	.link-blocks.five-col .item {
		width: 50%;
	}
	
	.link-blocks.five-col .item:nth-child(5n+5) {
		border-right: 2px solid #d9dbdb;
	}
	
	.link-blocks.five-col .item:nth-child(2n+2) {
		border-right: 0;
	}
	
	.red-block {
		background-position: top 50% right -100px;	
	}
	
	.no-touch .red-block:hover {
		background-position: top 50% right -100px;
	}
	
	.main-banner .half .banner-content .banner-container {
		max-width: 100%;	
	}
	
	nav.shop-menu {
		float: left;
		width: 50%;	
	}
	
	nav.shop-menu ul li {
		width: 33.333%;
		height: 50px;	
	}
	
}

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

	.home-header {
		display: none;	
	}
	
	.mobile-header {
		display: block;	
	}
	
	.sliders {
		clear: both;
	}
	
	.corner-cta {
		position: static;
		float: left;
		margin-top: 19px;	
	}
	
	header#top .header-wrap {
		display: none;	
	}
	
	.mobile-hamburger {
		display: block;	
	}

	.logo {
		margin: 25px 0 0 30px;
	}

	.logo img {
	    max-width: 330px;
	}
}

@media screen and (max-width: 1150px) {
	
	.footer-widget.contact-us .textwidget div {
		float: none;
		clear: both;
		display: block;
		margin-bottom: 10px;	
	}
	
	.footer-widget.contact-us .textwidget div p {
		padding-left: 0;	
	}
	
}

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

	.page-id-10.page-template-top-level-page .main-banner {
		background-position: left center;
	}
	
	/* LINK BLOCKS */
	
	.link-blocks.four-col .item {
		width: 50%;	
	}
	
	.link-blocks.four-col .item:nth-child(4n+4) {
		border-right: 2px solid #d9dbdb;
	}
	
	.link-blocks.four-col .item:nth-child(2n+2) {
		border-right: 0;
	}
	
}

@media screen and (min-width: 1025px) {
	
	header .topbar,
	.main-header .main-menu {
		display: block;	
	}
	
	/*.mobile-menu {
		display: none !important;	
	}*/
	
}

@media screen and (max-width: 1024px) {
	
	.sliders {
		clear: both;
	}
	
	.page-template-home-page .logo {
		margin: 0;
		padding: 30px;
		width: 100%;
		border-bottom: 2px solid #006b5b;
	}

	.page-template-home-page .full-screen.text {
		bottom: -27px;
	}
	
	.container {
		padding: 0px 30px 38px 30px;	
	}
	
	.breadcrumb .container {
		padding: 0 30px;	
	}
	
	.container.left {
		margin-left: 0;	
	}
	
	.main-content h1 {
		font-size: 3.00em;	
	}
	
	.page-template-top-level-page .main-banner,
	.page-template-top-level-page .main-slider .slide {
		height: -webkit-calc(100vh - 190px);
		height:    -moz-calc(100vh - 190px);
		height: 		calc(100vh - 190px);
	}
	
	.main-banner .half {
		width: 100%;
		min-height: 300px;
		clear: both;	
	}
	
	.main-banner .half:first-child {
		border-bottom: 2px solid #006b5b;
	}
	.red-page .main-banner .half:first-child { border-bottom: 2px solid #c20430; }
	.gold-page .main-banner .half:first-child { border-bottom: 2px solid #c2a056; }
	
	.main-banner .half .banner-content {
		padding: 50px 30px;	
	}
	
	.main-banner.half-and-half {
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: flex;
		-webkit-flex-direction: column;
		-moz-flex-direction: column;
		-ms-flex-direction: column;
		flex-direction: column;
		-webkit-flex-wrap: wrap;
		-moz-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;	
	}
	
	.main-banner .half {
		-webkit-order: 2;
		-moz-order: 2;
		-o-order: 2;
		-ms-order: 2;
		order: 2;
	}
	
	.main-banner .half.last {
		-webkit-order: 1;
		-moz-order: 1;
		-o-order: 1;
		-ms-order: 1;
		order: 1;
	}
	
	a.page-anchor {
		margin: 24px 20px 0 0;
	}
	
	.category .main h1 {
		font-size: 3em;
	}
	
	.full-screen.text,
	.page-template-top-level-page .main-banner .text {
		bottom: -27px;
		padding-left: 30px;
	}
	
	.full-screen.text .slide span,
	.page-template-top-level-page .main-banner .text span {
		font-size: 4.5em;
	}
	
	.full-screen.images .slide {
		height: calc(100vh - 346px);	
	}
	
	.page-template-top-level-page .line-div {
		margin-bottom: 50px;
	}
	
	/* LINK BLOCKS */
	
	.link-blocks.three-col .item {
		width: 50%;	
	}
	
	.link-blocks.three-col .item:nth-child(3n+3) {
		border-right: 2px solid #d9dbdb; 
	}
	
	.link-blocks.three-col .item:nth-child(2n+2),
	.link-blocks.three-col .item:nth-of-type(2n+2) {
		border-right: 0;
	}
	
	.product-cats ul li {
		min-height: 300px;	
	}
	
	.product-cats ul li .item-image {
		height: 300px;
	}
	
	.product-list ul li {
		width: 48%;
		margin-right: 4%;	
	}
	
	/* PAGE CAROUSELS */
	
	.page-carousel.desktop {
		display: none;	
	}
	
	.page-carousel-mobile {
		display: block;	
	}
	
	.page-carousel-mobile .carousel-text ul {
		margin-top: 0;	
	}
	
	.page-carousel-mobile .carousel-text ul.first {
		margin-left: 0;	
	}
	
	/* SHOP */
	nav.shop-menu {
		width: 100%;
		max-width: 100%;	
	}
	
	nav.shop-menu ul li {
		border-right: 1px solid transparent;
		height: 55px;
		width: 25%;	
	}
	
	nav.shop-menu ul li:nth-child(4n+4) {
		border-right: 0;	
	}
	
	.checkout-buttons {
    	float: left;
    	width: 100%;
		border-bottom: 1px solid #333132;
	}
	
	.checkout-buttons a {
		width: 50%;
		height: 55px;
		padding: 20px 0;
		font-size: 1em;	
	}
	
	.checkout-buttons a.cart-button {
		text-align: center;
		border-right: 1px solid #333132;
	}
	
	.checkout-buttons a:last-child {
		border: none;	
	}
	
	.checkout-buttons a.cart-button:before {
		float: none;
		font-size: 1em;
		top: 0;
		margin: 0 14px 0 0;	
	}
	
	.shop-intro {
		margin: 0;
		max-width: 100%;
		padding: 50px 30px;
		border-bottom: 2px solid #006b5b;
	}
	
	div.wpcf7 form p,
	.woocommerce-checkout form p,
	.page-template-default.woocommerce-checkout form p {
		margin-right: 0;	
	}
	
	.two-fifths,
	.three-fifths {
		width: 100%;
		padding-right: 0;	
	}
	
	.main-content .shop-intro p:last-child {	
		margin-bottom: 0;
	}
	
	/* PRODUCTS */
	
	.product-list ul li .product-sku,
	.product-list ul li .price {
		float: none;
		width: 100%;
		margin-bottom: 12px;	
	}
	
	.product-list ul li .price {
		margin-bottom: 20px;	
	}
	
	.product-list ul li a.view-product {
		float: none;	
	}
	
	.product-list ul li h3 {
		margin-bottom: 12px;	
	}
	
	/* FOOTER */
	
	footer.main .sign-off,
	footer.main .woocommerce-payments {
		padding: 28px ;
	}
	
	.home-footer {
		position: static;
		height: auto;
	}
	
	.home-footer nav.main-menu {
		width: 100%;
		float: none;
		margin: 0;	
	}
	
	.home-footer a.logo {
		float: none;	
	}
	
	.home-footer nav.main-menu ul li {
		width: 50%;
		padding: 0px;
		border-bottom: 1px solid #e8e8e8;
		border-right: 1px solid #e8e8e8;
	}
	
	.home-footer nav.main-menu ul li:nth-child(2n+2) {
		border-right: none;
	}
	
	.home-footer nav.main-menu ul li a {
		display: block;
		width: 100%;
		padding: 30px;	
	}
	
	footer.main .footer-container {
		padding: 40px 0 20px 0;	
	}
	
	.events-whats-on {
		padding: 30px 0;
	}

	.sliders .widget-wrap {
	    bottom: 80px;
	}
	
}

@media screen and (max-width: 850px) {
	
	footer.main .one-quarter,
	.events-whats-on .event-preview {
		width: 50%;
		margin-bottom: 20px;	
	}
	
	footer.main .one-quarter:nth-child(2n+2),
	.events-whats-on .event-preview:nth-child(2n+2),
	.events-whats-on .event-preview.event-2 {
		border-right: none;
	}
	
	.events-whats-on .event-preview {
		margin-bottom: 40px;
	}
	
	footer.main .footer-container {
		border-bottom: 2px solid #006b5b;	
	}
	.red-page footer.main .footer-container { border-bottom: 2px solid #c20430; }
	.gold-page footer.main .footer-container { border-bottom: 2px solid #c2a056; }
	
	footer.main .sign-off {
		padding: 20px 25px 28px;	
	}
	
}

@media screen and (min-width: 769px) {
	
	nav.shop-menu {
		display: block !important;	
	}
	
}

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

	.page-template-top-level-page .main-banner {
		height: auto;
	}
	
	.main-banner {
		min-height: 330px;	
	}
	
	a.page-anchor {
		display: none;
	}
	
	.main-content h1 {
		margin-top: 0;	
	}

	.page-template-top-level-page .main-slider .slide {
		height: 330px;
	}
	
	.page-template-top-level-page .main-content h1 {
		margin-top: 30px;	
	}
	
	.page-carousel.testimonial {
		background-image: none;
		padding: 50px 30px 30px 30px;
	}
	
	.page-carousel.testimonial .slide {
		width: 100%;	
	}
	
	.page-carousel.testimonial .owl-nav {
		position: static;
		top: auto;
		right: auto;
		float: right;
		clear: both;
		margin: 20px 0 0 0;	
	}
	
	.page-carousel-mobile .carousel-text ul li {
		margin-bottom: 16px;	
	}
	
	.main-content .table-wrap {
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		border-bottom: 1px solid #f0f0f0;	
	}
	
	.main-content .table-wrap table {
		width: 620px;
		margin: 0 0 20px 0;	
	}
	
	.touch .main-content .table-wrap:before {
		content: "Swipe across the table below for more info";
		margin: 20px 0;
		display: block;
		color: #c20430;
		font-size: 0.85em;
		line-height: 1.375em;
	}
	
	.main-content .woocommerce .table-wrap,
	.single-product .main-content .table-wrap {
		overflow-y: visible;
		border-bottom: 0;	
	}
	
	.main-content .woocommerce .table-wrap table,
	.single-product .main-content .table-wrap table {
		width: 100%;
	}
	
	.touch .main-content .woocommerce .table-wrap:before,
	.touch .single-product .main-content .table-wrap:before {
		content: none;
		display: none;
	}
	
	/* SHOP */
	
	nav.shop-menu {
		display: none;	
	}
	
	nav.shop-menu ul li {
		width: 50%;	
	}
	
	.shop-header .expand-button {
		display: block;	
	}
	
	/* CART */
	.woocommerce table.cart td.actions input.button {
		clear: both;
		display: block;
		float: right;	
	}
	
	.woocommerce table.cart td.actions .coupon {
		margin-bottom: 10px;	
	}

	.widget-wrap {
	    bottom: 70px;
	}

		
}

@media screen and (max-width: 680px) {
	
	.page-template-default .main-content p {
		margin-right: 0px;
	}	
	
	.link-blocks.two-col .item {
		min-height: 400px;	
	}
	
	.link-blocks .item .item-image {
		height: 300px;	
	}
	
	.link-blocks .item .item-text {
		min-height: 100px;
		padding: 0 30px;	
	}
	
	.staff-profiles.two-col .item {
		width: 48%;
		margin-right: 4%;	
	}
	
	.further-reading h4 {
		margin-bottom: 30px;	
	}
	
	.one-third,
	.two-thirds,
	.three-quarters,
	.one-quarter,
	.two-fifths,
	.three-fifths {
		width: 100%;
		display: block;	
		padding-right: 0;
	}
	
	.news-sidebar {
		padding-bottom: 30px;	
	}
	
	.two-fifths .line-div,
	.one-third .line-div,
	.page-template-basic-shop-template .one-quarter .line-div {
		margin-bottom: 50px;	
	}
	
	/* Single product */
	.product-info .product-sku {
		margin-top: 30px;
	}
	
	.product-info .images {
		max-width: none;
	}
	
	.product-info table.variations select {
		width: 100%;
		margin-bottom: 6px;
	}
	
	.product-info a.reset_variations {
		margin-left: 0;
	}
	
	.product-info .woocommerce-message {
		margin-top: 24px;
	}
	
	/* CART */
	.woocommerce table.cart .product-thumbnail, 
	.woocommerce table.cart .product-price {
		left: -999em;
		position: absolute;
	}
	
	.woocommerce table.cart .cart_item .product-thumbnail a,
	.woocommerce table.cart .cart_item .product-thumbnail a img {
		display: none;	
	}
	
	.woocommerce table.cart .cart_item .product-remove a {
		width: 16px;
		height: 20px;
	}
	
	.woocommerce table.cart td, 
	.woocommerce table.cart th,
	.woocommerce table.shop_table td,
	.woocommerce table.shop_table th {
		padding: .53em;
		font-size: 0.875em;
	}
	
	.woocommerce table.cart .cart_item .product-quantity input {
		width: 50px;	
	}
	
	.woocommerce .shipping-calculator-form select, 
	.woocommerce .shipping-calculator-form input[type="text"] {
		max-width: 255px;
		width: 100%;
	}
	
	/* FOOTER */
	
	footer.main .one-quarter,
	.events-whats-on .event-preview {
		border-right: 0;
		width: 100%;
		display: block;
		min-height: 90px;
	}
	
	.events-whats-on .event-preview {
		min-height: none;
	}
	
	footer.main .widget.latest-news {
		display: none;	
	}

	footer.main .sign-off,
	footer.main .woocommerce-payments {
		width: 100%;
		float: left;
	}

	footer.main .woocommerce-payments {
		padding: 28px 28px 0 28px;
	}

	footer.main .sign-off p {
		text-align: left;
		margin-bottom: 10px;
	}
	
}

@media screen and (max-width: 650px) {
	
	.pagination .col {
		width: 50%;	
	}
	
	.pagination a {
		max-width: 100%;
		width: 100%;
		font-size: 0.875em;	
	}
	
	.pagination .back {
		display: none;
	}
	.pagination .mobile-back {
		display: block;
		width: 100%;
	}
	
	.pagination .mobile-back a {
		text-align: center;	
	}
	
	.pagination .prev a {
    	padding: 17px 5px 17px 60px;
	}
	
	.pagination .next a {
    	padding: 17px 60px 17px 5px;
	}
	
}


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

	.widget-wrap {
		width: 100%;
	    height: unset;
	    border-radius: 0;
	    background-color: rgb(194, 4, 48);
	    position: static;
	    right: unset;
	    bottom: unset;
	    -webkit-transform: none;
	    -moz-transform: none;
	    -o-transform: none;
	    transform: none;
	}

	.widget-wrap p {
	    margin-bottom: 10px;
	    line-height: 1.4em;
	}

	.widget-wrap p:last-of-type {
	    margin-bottom: 0;
	}

	.widget-wrap .banner-widget {
	    width: unset;
	    height: unset;
	    max-height: unset;
	    top: unset;
	    left: unset;
	}

	.banner-widget .textwidget {
	    position: static;
	    top: unset;
	    -webkit-transform: none;
	    -moz-transform: none;
	    -o-transform: none;
	    transform: none;
	    width: 100%;
	    padding: 20px 0;
	}

	.banner-widget .textwidget br {
	    display: none;
	}
	
	.main-content h1,
	.main-banner .half .banner-content h1 {
		font-size: 2.00em;	
	}
	
	.page-template-top-level-page h1 {
		margin-bottom: 30px;
	}
	
	.main-content p.intro-paragraph,
	.main-banner .half .banner-content p {
		font-size: 1.250em;	
	}
	
	.full-screen.text, 
	.page-template-top-level-page .main-banner .text {
		bottom: -15px;	
	}
	
	.full-screen.text .slide span, 
	.page-template-top-level-page .main-banner .text span {
		font-size: 2.500em;
	}
	
	.full-screen.images .slide {
		background-size: contain;
		height: 200px;
    	max-height: 200px;
	}
	
	.full-screen.text {
		display: none;	
	}
	
	.page-template-top-level-page .line-div {
		margin-bottom: 30px;
	}
	
	.home-footer {
		border-bottom: none;	
	}
	
	.home-footer nav.main-menu ul li {
		width: 100%;	
	}
	
	/* LINK BLOCKS */
	
	.product-cats ul li,
	.link-blocks.two-col .item,
	.link-blocks.three-col .item,
	.link-blocks.four-col .item,
	.link-blocks.five-col .item,
	.page-template-our-future-page .link-blocks .future-item.item-1,
	.page-template-our-future-page .link-blocks .future-item.item-2 {
		width: 100%;
		clear: both;
		min-height: 300px;
		border-right: none;	
	}
	
	.link-blocks .item .item-image,
	.link-blocks .item.red-block {
		height: 300px;	
	}
	
	.link-blocks .item.red-block {
		background-image: none;	
	}
	
	.link-blocks .item.red-block a {
		padding-left: 0;
		text-align: center;	
	}
	
	.link-blocks.four-col .item.red-block {
		height: 200px;	
	}
	
	.link-blocks.three-col .item:nth-child(3n+3) {
		border-right: none;	
	}
	
	.search .search-results .item,
	.search .search-results .item:nth-child(2n+2) {
		border-right: 2px solid #d9dbdb;
		border-left: 2px solid #d9dbdb;		
	}
	
	.product-cats ul li.red-block,
	.link-blocks.categories .red-block {
		display: none;	
	}
	
	/* CART */
	
	.woocommerce table.cart td.actions .coupon {
		width: 100%;
		float: none;
		margin-bottom: 0;
	}
	
	.woocommerce table.cart td.actions input.button,
	.woocommerce table.cart td.actions input[type="text"] {
		width: 100%;
		float: none;
		padding: 10px;
		height: auto;
		margin-bottom: 20px;	
	}
	
	.woocommerce table.cart td.actions input[type="text"] {
		padding: 12px;	
	}
	
	.woocommerce-checkout form#worldpay_payment_form input[type="submit"] {
		display: block;
		clear: both;
		float: none;
		margin-bottom: 20px;	
	}
	
	.woocommerce-checkout form#worldpay_payment_form a.button.cancel {
		clear: both;
		width: auto;
    	display: inline-block;
	}
	
	.woocommerce .addresses .col-1,
	.woocommerce .addresses .col-2 {
		width: 100%;
		float: none;
		margin: 0 0 30px 0;	
	}
	
	.woocommerce-cart .main-content .table-wrap,
	.woocommerce-account .main-content .table-wrap,
	.woocommerce-checkout .main-content .table-wrap {
		overflow: auto;	
	}
	
	.woocommerce-account .main-content .table-wrap.my_account_orders {
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		border-bottom: 1px solid #f0f0f0;	
	}
	
	.woocommerce-account .main-content .table-wrap .my_account_orders {
		width: 620px;
		margin: 0 0 20px 0;	
	}
	
	.touch .woocommerce-account .main-content .table-wrap.my_account_orders:before {
		content: "Swipe across the table below for more info";
		margin: 20px 0;
		display: block;
		color: #c20430;
		font-size: 0.85em;
		line-height: 1.375em;
	}
	
}

@media screen and (max-width: 480px) {
	
	.main-banner,
	.main-banner .half.last {
		background-size: contain;
		height: 200px;
	    max-height: 200px;
	    min-height: 200px;
	}

	.page-template-top-level-page .main-slider .slide {
		background-size: contain;
		height: 200px;
	    max-height: 200px;
	}
	
	.mobile-search-box .mobile-search input {
		width: 85%;	
	}
	
	.mobile-search-box .mobile-search input.mobile-submit {
		width: 15%;	
	}
	
	.staff-profiles.two-col .item {
		width: 100%;
		margin-right: 0;	
	}
	
	.page-carousel-mobile .carousel-text ul {
		width: 100%;
		margin: 0;	
	}
	
	/* SHOP */
	.product-list ul li,
	nav.shop-menu ul li {
		width: 100%;	
	}
	
	.product-list ul li {
		margin-bottom: 50px;	
	}
	
	/* Single product */
	.product-info form .quantity input {
		float: none;
	}
	
	.product-info form .single_add_to_cart_button {
		float: none;
		margin-top: 16px;
		margin-left: 0;
	}

	.logo {
	    margin: 30px 0 0 30px;
	}

	.logo img {
		max-width: 240px;
	}

	div.cookie-notice {
	    top: unset;
	    bottom: 10px;
	}
	
}

@media screen and (max-width: 380px) {
		
	a.button,
	.woocommerce form input[type="submit"],
	.woocommerce-account .main-content form input[type="submit"],
	.woocommerce-checkout input[type="submit"], 
	div.wpcf7 form input[type="submit"],
	.woocommerce-cart .wc-proceed-to-checkout,
	.woocommerce-cart .wc-proceed-to-checkout a,
	.woocommerce-checkout form#worldpay_payment_form a.button.cancel {
		float: none;
		clear: both;	
		width: 100%;
		max-width: 100%;	
	}
	
	footer.main .sign-off p {
		text-align: left;
	}
	
	footer.main .sign-off p a {
		display: block;	
	}
		
}