@charset "utf-8";
/* CSS Document */

@media only screen and (max-width: 1700px) {

	.home-box {

		margin-left:5vw !important;

	}

}

@media only screen and (max-width: 1280px) {

	.home-box {

		margin-left:30px !important;
		max-width:calc(100% - 60px) !important;

	}

	.home-book {

		display:none;

	}

	.hero {

		height:auto !important;
		padding-top:50px !important;
		padding-bottom:50px !important;

	}

}

@media only screen and (min-width: 1051px) {

	.nav {

		display:flex;

	}

}

@media only screen and (max-width: 1050px) {
	
	.logo {

		left:50% !important;
		transform:translateX(-50%);

	}

	.logo-container {

		width:100% !important;

	}

	.menu {
		
		position:fixed;
		top:15px;
		right:15px;
		padding:5px 10px 0px 10px;
		background-color:#fff;
		border-radius:5px;
		display:block;
		z-index:1100;
		
	}

	.nav {

		display:none;
		background:#fff;
		padding:30px;
		position: absolute;
		z-index:3;
		text-align:center;
		box-shadow: 0px 10px 10px 0px rgba(0, 0, 0, 0.5);
		border-bottom:4px solid var(--colour-1);
		width:100%;
		top:110px;
		
	}

	.nav.fixed {
		position: fixed;
		top: 0px;
	}

	.nav-inner:not(:last-child) {

		padding-bottom:10px; border-bottom:1px dotted #ddd; margin-bottom:10px;

	}

	.gap-50 {

		gap:20px;

	}

	.menu-shadow {

		box-shadow: 0px 0px 20px 0px rgba(0,0,0,0.5);

	}

	.yearbook-container, .pages-container, .discount-container {

		width:100% !important;
		max-width:100% !important;

	}

}

@media only screen and (max-width: 600px) {
	
	.home-box {

		max-width:calc(100% - 20px) !important;
		margin-left:10px !important;
		margin-right:10px !important;
		padding:30px !important;

	}

	.hero {

		padding-top:30px !important;
		padding-bottom:30px !important;

	}

	.hero h1 {

		font-size:1.6em;
		
	}

	p {

		font-size:1em;

	}

}

@media only screen and (max-width: 960px) {

	.data-table:not(.vertical-table)  {
        width: 100%;
    }
    .data-table:not(.vertical-table)  thead {
        display: none;
    }
    .data-table:not(.vertical-table)  tr:nth-of-type(2n) {
        background-color: inherit;
    }
    .data-table:not(.vertical-table)  tr td:first-child {
        /*font-size: 1.3em;*/
    }
    .data-table:not(.vertical-table) tbody td {
        display: block;
        text-align: center;
		font-size:1.1em;
    }
	.data-table:not(.vertical-table) tbody tr:first-child td:first-child {
        padding-top: 15px;
		/*padding-bottom:5px;*/
    }
	
    .data-table:not(.vertical-table) tbody tr:not(:first-child) td:first-child {
        border-top: 1px dashed #ccc;
        margin-top: 0px;
        padding:15px 10px 5px 10px;
		
    }
	
	.data-table:not(.vertical-table) tbody tr:first-child td:last-child {
        padding-bottom:10px !important;
    }
	
	.data-table:not(.vertical-table) tbody tr td:not(:first-child) {
        padding:0px 15px 10px 15px;
    }
	
	.data-table:not(.vertical-table) tbody tr:first-child:not(:last-child) td:last-child {
        padding-bottom:0px;
    }

    .data-table:not(.vertical-table) tbody td:before {
        content: attr(data-th);
        display: block;
        text-align: center;
        font-weight: bold;
        color: var(--colour-1) !important;
        padding-bottom: 5px;
        font-size: 18px;
		padding-top:10px;
    }
    .vertical-table td:first-child {
        padding-top: 10px;
        padding-bottom: 5px;
    }

}

@media only screen and (max-width: 480px) {
		
	.hero-banner {
		
		text-align: center;
		
	}
	
	.large-heading {
		
		font-size: 2em;
		
	}

	.logo {
		
		margin:0 auto;
		
	}
	
	.logo-inner {
	
		text-align:center;

	}
	
	.nav-inner {
		
		padding-top:0px;
		
	}
	
	.full-width-nav-inner {
		
		padding:0px;
		
	}
	
	header {
		
		padding-top:70px;
		
	}

	.nav li {
		
		margin-right: 0px;
		padding-right: 0px;
		border-right: 0px;
		width:100%;
		padding-bottom:10px;
		border-bottom:1px dotted rgba(100,100,100,0.3);
		margin-bottom:10px;
		text-align: center;
		
	}
	
	.nav li:last-child {
	
		padding-bottom:0px;
		border-bottom:0px;

	}
	
	.socials {
		
		margin-bottom: 0px;
		text-align: center;
		margin-top:0px;
		
	}
	
	.socials li {
		
		margin-bottom:0px;
		display:inline-block !important;
		padding-bottom: 0px;
		border-bottom: 0px;
		width:auto;

	}
	
	.hide-on-desktop {
		
		display:block;
		
	}
	
	.hide-on-mobile {
		
		display:none;
		
	}
	
	.flex {
		
		display: block;
		
	}
	
	.flex-1, .flex-2, .flex-3, .flex-4, .flex-5 {
		
		width:auto;
		padding:0px;
		
	}
	
	.flex-border-bottom:not(.box):not(.card){
		
		border-bottom:1px dotted rgba(100,100,100,0.5);
		margin-bottom: 20px;
		
	}
	
	.flex-margin-right {

		margin-right:0px;

	}

	.flex-margin-left {

		margin-left:0px;

	}
	
	.flex-border-right {
	
		padding-right:0px;
		border-right:0px;
		margin-right:0px;

	}

	.flex-border-left {

		padding-left:0px;
		border-left:0px;
		margin-left:0px;

	}
	
	.box {
		
		padding:20px 20px 25px 20px !important;
		
	}
	
	.flex-margin {

		margin-left:0px;
		margin-right:0px;

	}

	.flex-padding {

		padding-left:0px;
		padding-right:0px;

	}

}