@charset "UTF-8";

/* RESET */

* {
	padding:0;
	margin:0;
	outline:none;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	font-variant-ligatures: none;
}

* > :last-child { 
	margin-bottom:0;
}

*, html {

    scroll-behavior: smooth !important;
}

img {
	width:100%;
	height:auto;
	display:block;
	vertical-align: middle;
}

.clearfix::after {
	content:"";
	clear:both;
	display:table;
}

a, abbr, acronym, address, applet, article, aside, audio, b, blockquote, big, body, center, canvas, caption, cite, code, command, datalist, dd, del, details, dfn, dl, div, dt, 
em, embed, fieldset, figcaption, figure, font, footer, form, h1, h2, h3, h4, h5, h6, header, hgroup, html, i, iframe, img, ins, kbd, keygen, label, legend, li, meter, nav,
object, ol, output, p, pre, progress, q, s, samp, section, small, span, source, strike, strong, sub, sup, table, tbody, tfoot, thead, th, tr, td, video, tt, u, ul, var, a img {
    background:transparent;
	border:0 none;
	outline:none;
	vertical-align:baseline;
	padding:0;
	margin:0;    
}


/* GENERAL */

html {
	
	background:url("../images/background-pattern.jpg") no-repeat top center;
	scroll-behavior: smooth;
}

html, body { 
      scroll-behavior: smooth
    }

body {

	text-rendering:optimizeLegibility;
	position:relative;
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	box-sizing:border-box;
}

h1 {
	font-family:"Outfit", sans-serif;
	font-optical-sizing:auto;
	font-weight:500;
	font-style:normal;
	font-size:120px;
	line-height:130px;
	letter-spacing:0;
	color:#53555a;
	margin:0 0 30px 0;
}

h2 {
	font-family:"Outfit", sans-serif;
	font-optical-sizing:auto;
	font-weight:500;
	font-style:normal;
	font-size:50px;
	line-height:50px;
	letter-spacing:0;
	color:#53555a;
	margin:0 0 40px;
}

h3 {
	font-family:"Outfit", sans-serif;
	font-optical-sizing:auto;
	font-weight:600;
	font-style:normal;
	font-size:40px;
	line-height:45px;
	letter-spacing:0;
	color:#53555a;
	margin:0 0 20px;
}

h4 {
	font-family:"Outfit", sans-serif;
	font-optical-sizing:auto;
	font-weight:600;
	font-style:normal;
	font-size:15px;
	line-height:26px;
	letter-spacing:0.05em;
	display:inline-block;
	color:#f37568;
	text-transform:uppercase;
	margin:0 0 15px 0;
}

p {
	font-family:"Outfit", sans-serif;
	font-optical-sizing:auto;
	font-weight:400;
	font-style:normal;
	font-size:19px;
	line-height:28px;
	letter-spacing:0;
	color:#7e8088;
	margin:0 0 40px;
}

a {
	text-decoration:none;
	color:inherit;
}

blockquote {
	font-family:"Outfit", sans-serif;
	font-optical-sizing:auto;
	font-weight:600;
	font-style:normal;
	font-size:28px;
	line-height:32px;
	letter-spacing:0;
	color:#53555a;
	position:relative;
	margin:0 0 50px 0;
}

.blockquote-content span {
	font-family:"Outfit", sans-serif;
	font-optical-sizing:auto;
	font-weight:500;
	font-style:normal;
	width:70px;
	height:70px;
	font-size:75px;
	border-radius:50%;
	background:#505fab;
	color:#f37568;
	display:flex;
	align-items:center;
	justify-content:center;
	position:absolute;
	top:-35px;
	left:50%;
	margin-left:-35px;
	padding-top:30px;
}

.byline {
	font-family:"Outfit", sans-serif;
	font-optical-sizing:auto;
	font-weight:500;
	font-style:normal;
	font-size:24px;
	line-height:30px;
	letter-spacing:0;
	color:#7e8088;
	text-align:left;
	display:inline-block;
	padding-left:0;
	padding-right:15px;
	position:relative;
	float:right;
}

/*
.byline:before {
	content:"";
	width:70px;
	height:70px;
	background:url("../images/quote.png") no-repeat 0 0 / 70px 70px;
	display:block;
	position:absolute;
	top:-5px;
	left:0;
}*/

.button {
	font-family:"Outfit", sans-serif;
	font-optical-sizing:auto;
	font-weight:600;
	font-style:normal;
	font-size:16px;
	line-height:27px;
	letter-spacing:0.03em;
	padding:17px 27px;
	display:inline-block;
	background:#f37568;
	border:3px solid #f37568;
	color:#fff;
	text-transform:uppercase;
	border-radius:10px;
	transition:all 0.3s ease;
}

.button:hover {
	color:#f37568;
	background:none;
	border:3px solid #f37568;
}

.button-white {
	font-family:"Outfit", sans-serif;
	font-optical-sizing:auto;
	font-weight:600;
	font-style:normal;
	font-size:16px;
	line-height:27px;
	letter-spacing:0.03em;
	padding:17px 27px;
	display:inline-block;
	background:transparent;
	border:3px solid #505fab;
	color:#fff;
	text-transform:uppercase;
	border-radius:10px;
	transition:all 0.3s ease;
}

.button-white:hover {
	color:#fff;
	background:#505fab;
	border:3px solid #505fab;
}

.link {
	font-family:"Outfit", sans-serif;
	font-optical-sizing:auto;
	font-weight:700;
	font-style:normal;
	font-size:16px;
	line-height:20px;
	text-transform:uppercase;
	letter-spacing:0.03em;
	color:#f37568;
}

.link:after {
	content:"";
	width:13px;
	height:13px;
	background:url("../images/link-arrow.svg") no-repeat center center;
	display:inline-block;
	margin-left:15px;
	transition:all 0.3s ease;
}

hr {
	width:100%;
	height:3px;
	background:#e7e9f5;
	margin:35px 0;
	border:0;
}

.list {
	list-style:none;
	margin-top:-10px;
}

.list li {
	font-family:"Outfit", sans-serif;
	font-optical-sizing:auto;
	font-weight:400;
	font-style:normal;
	font-size:19px;
	line-height:28px;
	letter-spacing:0;
	color:#7e8088;
	position:relative;
	padding:0 0 0 30px;
	margin:0 0 10px 0;
}

.list li:last-child {
	border-bottom:0;
	margin-bottom:0;
	padding-bottom:0;
}

.list li:before {
	content:"+";
	width:20px;
	height:20px;
	font-family: "peridot-pe-variable",sans-serif;
	font-variation-settings: 'wght' 400, 'wdth' 100, 'ital' 0;
	font-size:20px;
	line-height:28px;
	color:#505fab;
	display:inline-block;
	position:absolute;
	top:0px;
	left:0;
}

.photo {
	position:relative;
}

.photo img {
	object-fit: cover;
	width: 100%;
	height: 100%;
}

.container {
	width:1550px;
	margin:0 auto;
	padding:100px 0 100px 110px;
	position:relative;
}

.no-padding-bottom {
	padding-bottom:0;
}

.center {
	text-align:center;
}

.flex {
	display:flex;
	flex-wrap:wrap;
}

.two-columns {
	display:flex;
	flex-wrap:wrap;
}

.two-columns .col {
	width:50%;
	padding:0 60px;
	margin:0 0 50px 0;
}

.two-columns .col:nth-child(odd) {
	padding-left:0;
}

.two-columns .col:nth-child(even) {
	padding-right:0;
}

.three-columns {
	display:flex;
	flex-wrap:wrap;
}

.four-columns {
	display:flex;
	flex-wrap:wrap;
}


/* ANIMATIONS */

.split {
  /*opacity: 0;*/
  will-change: transform;
}

.split * {
  will-change: transform;
}

h1.split * {
	height:145px;
	margin-top:-25px;
}

h2.split * {
	height:55px;
	margin-top:-5px;
}

#about-us h2 * {
	height:55px;
	margin-top:-5px;
}

#how-were-different h3 * {
	height:50px;
}


/* NAVIGATION */

.logo {
	width:260px;
	position:absolute;
	top:0;
	left:40px;
}

nav {
	width:100%;
	height:130px;
	display:flex;
	align-items:center;
	position:relative;
	z-index:999;
}

nav .container {
	padding:0 40px;
}

nav ul {
	width:100%;
	height:100%;
	display:flex;
	align-items:center;
	justify-content:right;
	text-align:right;
	list-style:none;
}

nav ul li {
	display:inline-block;
	margin:0;
}

nav ul li:after {
	content:"+";
	font-family:"Outfit", sans-serif;
	font-optical-sizing:auto;
	font-weight:600;
	font-style:normal;
	font-size:16px;
	line-height:20px;
	color:#505fab;
}

nav ul li:nth-last-child(2):after {
	display:none;
}

nav ul li a {
	font-family:"Outfit", sans-serif;
	font-optical-sizing:auto;
	font-weight:500;
	font-style:normal;
	font-size:16px;
	line-height:20px;
	text-transform:uppercase;
	padding:20px 30px;
	transition:all 0.3s ease;
}

nav ul li a:hover {
	color:#f37568;
}

nav ul li.nav-button {
	padding:0;
	margin-left:20px;
}

nav ul li.nav-button:after {
	display:none;
}

nav ul li.nav-button a {
	font-family:"Outfit", sans-serif;
	font-optical-sizing:auto;
	font-weight:600;
	font-style:normal;
	font-size:16px;
	line-height:20px;
	letter-spacing:0.03em;
	padding:17px 27px;
	display:inline-block;
	border:3px solid #f37568;
	color:#f37568;
	border-radius:8px;
	transition:all 0.3s ease;
}

nav ul li.nav-button a:hover {
	background:#f37568;
	color:#fff;
}


/* HEADER */

header .container {
	height:800px;
	display:flex;
	align-items:center;
	flex-wrap:wrap;
    flex-direction:row;
	padding-top:0;
	padding-bottom:0;
}

header .content {
	margin:30px 0 0 0;
}

header h1 {
	position:relative;
	z-index:1;
}

header .photo {
	width:860px;
	height:850px;
	position:absolute;
	right:0;
	top:0;
	overflow:hidden;
	border-radius:15px;
}

header img {
	width:100%;
}

header .photo .caption {
	position:absolute;
	bottom:0;
	color:#fff;
	padding:40px;
	border-radius:20px;
	border-bottom-left-radius:0;
	border-bottom-right-radius:0;
}

header .button {
	opacity:0;
}

/* ABOUT */

#about-us .container {
	padding-top:100px;
	padding-bottom:100px;
}

#about-us .two-columns .col:nth-child(1) {
	width:-webkit-calc(100% - 480px);
	width:-moz-calc(100% - 480px);
	width:calc(100% - 480px);
	padding:0 160px 0 0;
}

#about-us .two-columns .col:nth-child(2) {
	width:480px;
	padding:0;
}

#about-us .two-columns .col:nth-child(2) .content {
	background:#fff;
	border-radius:10px;
	padding:50px 40px;
	position:relative;
	top:-20px;
}


/* OUR PROCESS / ACCORDION */

#home-accordion .container {
	padding-top:0;
	padding-left:0;
	padding-bottom:0;
}

#home-accordion .col-md:last-child {
	padding-top: 50px;
	padding-bottom: 50px;
}

#home-accordion .col-md:first-child {
	padding-top: 50px;
	padding-bottom: 50px;
	transition: all 0.3s ease;
}

#home-accordion .col-md:first-child .container {
	min-height: 750px;
}

#home-accordion .two-columns {
	background:#505fab;
	border-radius:15px;
}

#home-accordion .two-columns .col {
	padding:0;
	margin:0;
}

#home-accordion .two-columns .col:nth-child(1) {
	width:600px;
	position:relative;
	overflow:hidden;
	border-radius:15px;
	border-bottom-right-radius:0;
	border-top-right-radius:0;
}

#home-accordion .two-columns .col:nth-child(1) img {
	position:absolute;
	top:50%;
	left:50%;
	transform:translate(-50%, -50%);
	object-fit:cover;
	object-position:top center;
	width:101%;
	height:101%;
}

#home-accordion .two-columns .col:nth-child(2) {
	width:-webkit-calc(100% - 600px);
	width:-moz-calc(100% - 600px);
	width:calc(100% - 600px);

}

#home-accordion .photo-underclassmen,
#home-accordion .photo-athletics,
#home-accordion .photo-band,
#home-accordion .photo-dance {
	display: none;
}

#home-accordion ul {
	list-style: none;
}

#home-accordion ul li {
	border-bottom:3px solid #737fbc;
	position:relative;
	padding:60px;
}

#home-accordion ul li:last-child {
	border:0;
}

#home-accordion ul li h3 {
	color:#fff;
	cursor:pointer;
	transition:all 0.2s ease;
	position:relative;
	padding:0 70px 0 75px;
	margin:0;
}

#home-accordion ul li img {
	width:50px;
	position:absolute;
	top:57px;
	left:60px;
}

#home-accordion ul li h3:before {
	content: "+";
	font-size:45px;
	line-height:45px;
	font-weight:300;
	color: #f37568;
	width:50px;
	height:50px;
	border:3px solid #737fbc;
	border-radius:50%;
	display:flex;
	align-items:center;
	justify-content:center;
	position: absolute;
	top:0;
	right: 0;
	transition: all 0.2s ease;
}

#home-accordion ul li.active h3:before {
	content: "–";

}

#home-accordion ul li p {
	color:#fff;
}

#home-accordion ul li article {
	display:none;
	padding:30px 100px 0 75px;
}



/*
#home-accordion ul li article .btn {
	margin: 0;
}


#home-accordion ul li article a.btn.btn-outline:hover {
	border-color: #fff;
}

#home-accordion ul li.seniors h2:hover,
#home-accordion ul li.seniors h2:hover:before,
#home-accordion ul li.seniors.active h2:before,
#home-accordion ul li.seniors.active h2 {
	color: #ac441d;
}

#home-accordion ul li.seniors a.btn.btn-outline {
	border-color: #ac441d;
}

#home-accordion ul li.underclassmen h2:hover,
#home-accordion ul li.underclassmen h2:hover:before,
#home-accordion ul li.underclassmen.active h2:before,
#home-accordion ul li.underclassmen.active h2 {
	color: #ffb71a;
}

#home-accordion ul li.underclassmen a.btn.btn-outline {
	border-color: #ffb71a;
}

#home-accordion ul li.athletics h2:hover,
#home-accordion ul li.athletics h2:hover:before,
#home-accordion ul li.athletics.active h2:before,
#home-accordion ul li.athletics.active h2 {
	color: #a6ec8a;
}

#home-accordion ul li.athletics a.btn.btn-outline {
	border-color: #a6ec8a;
}

#home-accordion ul li.band h2:hover,
#home-accordion ul li.band h2:hover:before,
#home-accordion ul li.band.active h2:before,
#home-accordion ul li.band.active h2 {
	color: #cfcfcd;
}

#home-accordion ul li.band a.btn.btn-outline {
	border-color: #cfcfcd;
}

#home-accordion ul li.dance h2:hover,
#home-accordion ul li.dance h2:hover:before,
#home-accordion ul li.dance.active h2:before,
#home-accordion ul li.dance.active h2 {
	color: #b6b7dc;
}

#home-accordion ul li.dance a.btn.btn-outline {
	border-color: #b6b7dc;
}*/


/* HOW WE'RE DIFFERENT */

#how-were-different .container {
	padding-top:120px;
	padding-bottom:80px;
}

#how-were-different .two-columns .col img {
	width:50px;
	margin-bottom:10px;
	display:block;
}

#how-were-different h3 {
	margin-bottom:20px;
}

#how-were-different .two-columns .col:nth-child(1) {
	width:-webkit-calc(100% - 480px);
	width:-moz-calc(100% - 480px);
	width:calc(100% - 480px);
	padding:0 70px 0 0;
}

#how-were-different .two-columns .col:nth-child(2) {
	width:480px;
	padding:0;
}

#how-were-different .content {
	padding-right:80px;
}

#how-were-different .two-columns .col:nth-child(2) .blockquote-content {
	background:#fff;
	border-radius:10px;
	padding:70px 50px 120px 50px;
}


/* CONTACT US */


#contact-us .container {
	padding-top:0;
	padding-left:0;
	padding-bottom:0;
}

#contact-us .two-columns {
	background:#f37568;
	border-radius:15px;
}

#contact-us .two-columns .col {
	padding:0;
	margin:0;
}

#contact-us .two-columns .col:nth-child(1) {
	width:-webkit-calc(100% - 550px);
	width:-moz-calc(100% - 550px);
	width:calc(100% - 550px);
	padding:80px 100px 80px 80px;
}

#contact-us h3 {
	font-size:50px;
	line-height:55px;
	margin:0 0 30px 0;
}

#contact-us h3,
#contact-us p {
	color:#fff;
}

#contact-us h4 {
	color:#fff;
}

#contact-us .two-columns .col:nth-child(2) {
	width:550px;
	position:relative;
	overflow:hidden;
	border-radius:15px;
	border-bottom-left-radius:0;
	border-top-left-radius:0;
}

#contact-us .two-columns .col:nth-child(2) img {
	position:absolute;
	top:50%;
	left:50%;
	transform:translate(-50%, -50%);
	object-fit:cover;
	object-position:top center;
	width:101%;
	height:101%;
}



/*-- Fancybox --*/

.popup {
	background:#fff;
	width:1250px;
	padding:45px 5% 60px !important;
	border-top:solid 7px #ae132a;
	border-bottom:solid 7px #001641;
	display:none;
}

.popup .close {
	text-indent:-999999px;
	background:url("../images/icon-close.svg") center center no-repeat;
	background-size:40px;
	border:0;
	width:60px !important;
	height:60px !important;
    position:absolute;
    top:5px;
	right:5px;
	cursor:pointer;
}

.fancybox-content {
	border-radius:5px !important;
	overflow:hidden !important;
}

.fancybox-button--close {
	background:url("../images/icon-close-white.svg") center center no-repeat !important;
	background-size:40px !important;
	border:0 !important;
	width:65px !important;
	height:65px !important;
    position:absolute !important;
    top:0 !important;
	right:0 !important;
	cursor:pointer !important;
}

.fancybox-button--zoom,
.fancybox-button--thumbs {
	display:none !important;
}


/*-- Footer --*/

footer {
	background:#fff;
	margin-top:-80px;
}

footer .container {
	padding:140px 80px 60px 80px;
}

footer .two-columns {
	display:flex;
	flex-wrap:wrap;
}

footer .two-columns .col {
	margin:0;
}

footer .col:nth-child(1) {
	width:50px;
	padding:0;
}

footer .col:nth-child(1) img {
	width:50px;
	margin-top:-15px;
}

footer .col:nth-child(2) {
	width:-webkit-calc(100% - 50px);
	width:-moz-calc(100% - 50px);
	width:calc(100% - 50px);
	padding:0 0 0 30px;
	margin:0;
}

footer p {
	margin:0;
}

footer h3 {
	margin:0 0 10px 0;
}

footer p {
	display:flex;
	align-items:center;
	position:relative;
}

footer .divider {
	width:2px;
	height:20px;
	background:#fff;
	display:inline-block;
	margin:0 20px;
}

footer a {
	position:relative;
	display:inline-block;
	padding-left:25px;
}

footer .email:before {
    content: "";
    background: url(../images/email.svg) 0 0 no-repeat;
    background-size: 15px;
    width: 15px;
    height: 15px;
    position: absolute;
    top: 7px;
    left: 0;
}


footer .phone:before {
    content: "";
    background: url(../images/phone.svg) 0 0 no-repeat;
    background-size: 15px;
    width: 15px;
    height: 15px;
    position: absolute;
    top:7px;
    left: 0;
}


/* FONTS */

@font-face {
    font-family: 'Druk Bold';
    src: url('../fonts/druk-bold-webfont.woff2') format('woff2'),
         url('../fonts/druk-bold-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Druk Heavy';
    src: url('../fonts/druk-heavy-webfont.woff2') format('woff2'),
         url('../fonts/druk-heavy-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Druk Super';
    src: url('../fonts/druk-super-webfont.woff2') format('woff2'),
         url('../fonts/druk-super-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

