

/* GENERAL SETUP */
* {
    box-sizing: border-box;
}


.row:after {
    content: "";
    clear: both;
    display: block;
}


[class*="col-"] {
    float: left;
    padding: 1em;
}


/* GENERAL ELEMENTS */
body {
	font-family: 'Oxygen', sans-serif;
	font-weight: 300;
	font-size: .8em;
	color: #011423;
	margin: 0;
}


h1 {
	font-family: 'Montserrat', sans-serif;
	font-weight: 400;
	font-size: 3.25em;
	color: #0d6fb8;
	margin: 0 .2em 0 .5em;
	display: inline;
	vertical-align: middle;
	background: -webkit-linear-gradient(-195deg, #004475, #063456);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	
}

h2 {
	font-family: 'Montserrat', sans-serif;
	font-weight: 400;
	font-size: 4em;
	color: #FFFFFF;
}

h3 {
	font-weight: 700;
	font-size: 2.75em;
}

h4 {
	font-weight: 300;
	font-size: 1em;
}

h5 {
	font-weight: 700;
	font-size: 1.5em;
}

h6 {
	font-weight: 700;
	font-size: 1.2em;
	margin-top: 0.2em;
	margin-bottom: -0.3em;
}

ol li {
	font-weight: 300;
	font-size: 2em;
	
}

ol li p {
	font-size: .75em;
	
}

p {
	font-size: 1.5em;
	
}

a {
	text-decoration: none;
	color: #0078de;
}

sup {
	font-size: .6em;
}

.subhead {
	background: #0d6fb8;
	background: -webkit-linear-gradient(-15deg, #0b61a3, #0d6fb8);
	background: -o-linear-gradient(-15deg, #0b61a3, #0d6fb8);
	background: -moz-linear-gradient(-15deg, #0b61a3, #0d6fb8);
	background: linear-gradient(-15deg, #0b61a3, #0d6fb8);
	padding: .5em 1em;
}

.invisible-helper {
	height: 5em;
	visibility: hidden;	
}

.struck {
	text-decoration: line-through;
}

.path-text {
	font-size: 2.3em;
	font-weight: 600;
}

/* SPECIAL ELEMENTS */


/* TOP */
header {
	padding-left: 1em;
	padding-right: 0;
	padding-top: 0;
	display: flex;
	flex-direction: row;
	align-items: center;
	position: fixed;
	background-color: rgba(256,256,256,1);
	z-index: 100;
	top: 0;
	left: 0;
	right: 0;
	height: 5em;
}

#logo {
	width: 3em;
	height: 3em;
	float: left;

}

#menu-button {
	padding: 1em;
	float: right;
	cursor: pointer;
	margin-left: auto;
	margin-right: 1em;
	-webkit-user-select: none;  /* Chrome all / Safari all */
	-moz-user-select: none;     /* Firefox all */
	-ms-user-select: none;      /* IE 10+ */
	user-select: none;          /* Likely future */
	z-index: 110;
}

#menu-button:active, #menu-button:hover {
	opacity: 0.7;	
}

#menu-button-image {
	width: 4em;
	height: auto;
	-webkit-user-select: none;  /* Chrome all / Safari all */
	-moz-user-select: none;     /* Firefox all */
	-ms-user-select: none;      /* IE 10+ */
	user-select: none;          /* Likely future */
}


#menu-close {
	padding: 1em;
	position: absolute;
	top: 0;
	right: 1em;
	top: 1em;
	-webkit-user-select: none;  /* Chrome all / Safari all */
	-moz-user-select: none;     /* Firefox all */
	-ms-user-select: none;      /* IE 10+ */
	user-select: none;          /* Likely future */
	z-index: 210;
	cursor: pointer;
}

#menu-close:active, #menu-close:hover {
	opacity: 0.7;	
}

#menu-close-image {
	width: 3em;
	height: auto;
	-webkit-user-select: none;  /* Chrome all / Safari all */
	-moz-user-select: none;     /* Firefox all */
	-ms-user-select: none;      /* IE 10+ */
	user-select: none;          /* Likely future */
}


/* Big Nav */

#big-nav {
	display: none;
	margin-left: auto;
	float: right;
	align-self: stretch;
}

#big-nav a {
	font-weight: 400;
	font-size: 1.5em;
	color: #063456;
	background-color: rgba(210, 210, 210, 0);
	transition: background-color .2s;
	text-decoration: none;
	padding: 1em;
	border-left: solid #9e9e9e .1em;
}

#big-nav a:active, #big-nav a:hover {
	background-color: rgba(210, 210, 210, 0.5);
}

/* Mobile Nav */

#mobile-nav {
	display: flex;
	flex-direction: column;
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background-color: #0d6fb8;
	text-align: center;
	padding: 0em 2em;
	z-index: 200;
	transform: translate(-100%,0);
	
}

#mobile-nav a {
	font-weight: 400;
	font-size: 4em;
	color: rgba(255, 255, 255, 1);
	text-decoration: none;
	margin: .4em auto;
}

hr {
	width: 7em;
	color: rgba(255, 255, 255, 1);
}

#mobile-nav a:first-of-type {
	margin-top: 1.5em;	
}

#mobile-nav a:active, #mobile-nav a:hover {
	color: rgba(255, 255, 255, .7);
}


/* Splash */
#splash-div {
	position: relative;
}

#m-splash {
	width: 100%;
}

#big-splash {
	display: none;
	width: 100%;
}

#book-now-holder {
	display: flex;
	position: absolute;
	right: 0;
	left: 0;
	bottom: 10em;
}

#book-now-a {
	margin-left: auto;
	margin-right: auto;
	text-decoration: none;
}

#book-now {
	padding: .2em .4em;
	background-color: rgba(255, 255, 255, 0.8);
	border: .05em solid #063456;
	border-radius: .3em;
	transition: background-color .2s;
	color: #063456;
	font-size: 3em;
	font-weight: 400;
}

#book-now:hover {
	background-color: rgba(255, 255, 255, 0.9);
}


/* About */
#about {
	margin-top: -5.2em;
}

#about-subhead {
	margin-top: -.2em;
}

#headshot-nicholas {
	max-width: 100%;
	float: right;
	margin-bottom: 2em;
}

/* LSAT Score Link (and other standard links) */

a.standard:link, a.standard:active, a.standard:visited  {
	color: #0d6fb7;
}

/* Approach */
.approach-pic {
	max-width: 100%;
	float: right;
	margin-bottom: 2em;
	clear: right;	
	border: solid .1em #9e9e9e;
}

.resource-link {
	margin-left: 1.5em;
	font-size: 1.2em;
}

.resource-link::before {
	content: "○ ";	
}

/* Resources */

.r-flexbox {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: stretch;
}

.r-item {
	margin: 2em 1.2em 2em 1.2em;
	background-color: #EEEEEE;
	width: 16.5em;
	float: left;
	display: flex;
	padding: .8em;
	flex-direction: column;
	align-items: center;
	justify-content: space-between;
	border-radius: .1em
}

.r-title {
	color: #011423;
	font-size: 1.9em;
	font-weight: 700;
	margin-bottom: .7em;
	text-align: center;
}

.r-pic-link {
	background-color: #FFFFFF;
	width: 90%;
}

.r-pic {
	width:100%;
}

/* Reviews */
.review-headshot {
	max-width: 100%;
}

.review-text {
	font-style: italic;
}

.review-person {
	text-align: right;
}

.review-name {
	font-weight: 500;
}

#google-review {
	display: flex;
    align-items: center;
	justify-content: center;
	margin-top: 3em;
	margin-bottom: 1em;
}

.lightbold {
	font-weight: 500;
}

#google-stars {
	height:130px;
	margin-left: 25px;
}

/* Review Slider */
#slider-container {
	width: 100%;
	height: 25em;
	margin-top: 4em;
	position: relative;
	border-top: solid .2em #063456;
	border-bottom: solid .2em #063456;
	overflow: hidden;
}

#slider-mover {
	display: flex;
	position: absolute;
	height: 25em;
	left: 0em;
	transition: left 1s;	
}

.slide {
	display: flex;
	align-items: center;

}

.slide-quote {
	font-style: italic;
	font-size: 1.5em;
}

.slide-source {
	float: right;
	font-size: 1.5em;
}

.arrow-box {
	position: absolute;
	top: 0;
	bottom: 0;
	display: flex;
	align-items: center;
	
}

.arrow {
	font-size: 3em;
	color: #9e9e9e;
	cursor: pointer;
	opacity: 0.6;
	transition: opacity .3s;
}

.arrow:hover {
	opacity: 1;
	
}


#arrow-back {
	left: .5em;	
}

#arrow-forward {
	right: .5em;	
}

#dot-holder {
	position: absolute;
	bottom: 0;
	width: 100%;
	text-align: center;	
}

.dot {
	font-size: 2.5em;
	cursor: pointer;
	color: #011423;	
}


/* Review Submit Button */
#review-submit-row {
	display: none;
}

#review-submit-button {
	float: right;
	background: #9e9e9e;
	border-radius: .4em;
	padding: .3em .8em;
}

#review-submit-button a {
	font-family: 'Montserrat', sans-serif;
	font-weight: 400;
	font-size: 1.375em;
	color: #ffffff;
	text-decoration: none;
	
}

/* Contact */

input[type=text], input[type=email], textarea {
	width: 100%;
	padding: .5em;
	margin: .5em 0;
	font-family: 'Oxygen', sans-serif;
	font-weight: 300;
	font-size: 2em;
}

textarea {
	height: 13em;
}

#recaptcha-outline {
	float: left;
	margin-bottom: .5em;
}


#submit-input {
	float: right;
	background: #0d6fb8;
	border: none;
	border-radius: .3em;
	padding: .3em .8em;
	font-family: 'Montserrat', sans-serif;
	font-weight: 400;
	font-size: 3em;
	color: #ffffff;
	cursor: pointer;
}

#send-copy {
	float: left;
	clear: left;
}
#send-copy-text {
	float: left;
}

.small-form-text {
	font-size: 1.4em;	
}

#validation-message {
	font-size: 1.2em;
	float: left;
	clear: both;
}

#map {
	width:100%;
	height: 32em;
	border: none;
	margin-top: 3em;
}

/* Submit Contact Confirmation Page */

a.return:link, a.return:active, a.return:visited  {
	color: #0d6fb7;
}

/* Submit Review */

#permission {
	font-size: 1.2em;
	margin-bottom: 1em;
}

/* Articles */
.call-to-action{
	font-size: 1.5em;
	text-decoration: underline;
}

/* Resources */

.resource-pic {
	vertical-align: top;	
}

.resource-text {
	font-size: 1.5em;
	margin-left: 2em;
	vertical-align: top;
	padding: .3em .5em;
}

.resource-title {
	font-weight: bold;
}

.resource-info {
	font-style: italic;
}

/* Book */

#category-container {
	display: flex;
	width: 100%;
	flex-direction: column;
}

.category {
	display: flex;
	flex-direction: column;
	position: relative;
}

.length-container {
	display: none;
	flex-direction: column;
	overflow: hidden;
}

.length-container a, .category a {
	font-size: 2em;
	margin: 0.4em;
	cursor: pointer;
	color: white;
	background: #0d6fb8;
	background: -webkit-linear-gradient(-15deg, #0b61a3, #0d6fb8);
	background: -o-linear-gradient(-15deg, #0b61a3, #0d6fb8);
	background: -moz-linear-gradient(-15deg, #0b61a3, #0d6fb8);
	background: linear-gradient(-15deg, #0b61a3, #0d6fb8);
	padding: 1em;
}

.category a {
	color: white;
	background: #0d6fb8;
	background: -webkit-linear-gradient(-15deg, #0b61a3, #0d6fb8);
	background: -o-linear-gradient(-15deg, #0b61a3, #0d6fb8);
	background: -moz-linear-gradient(-15deg, #0b61a3, #0d6fb8);
	background: linear-gradient(-15deg, #0b61a3, #0d6fb8);
}

.category a:hover {
	filter: brightness(125%);
}

.length-container a {
	color: #0d6fb8;
	background: White;
	border: 1px solid #0d6fb8;
}

.length-container a:hover{
	filter: brightness(95%);
}

#book-spacer {
	height: 50vh;
}

/* Footer */
footer {
	background: #0d6fb8;
	background: -webkit-linear-gradient(-15deg, #0b61a3, #0d6fb8);
	background: -o-linear-gradient(-15deg, #0b61a3, #0d6fb8);
	background: -moz-linear-gradient(-15deg, #0b61a3, #0d6fb8);
	background: linear-gradient(-15deg, #0b61a3, #0d6fb8);
	color: #ffffff;
	font-size: 1em;
	text-align: right;
	padding: .5em 1em;
	margin-top: 3em;
}

footer div a {
	text-decoration: none;
	color: #ffffff;
}


/* Responsiveness */

/* For mobile phones: */
[class*="col-"] {
    width: 100%;
}

@media only screen and (orientation: landscape) {
	#m-splash {
		display: none;		
	}
	
	#big-splash {
		display: inline;
	}
	
	#core-principles {
		width:66.66%;		
	}
	
}

@media only screen and (min-width: 768px) {
    /* For desktop: */
    .col-1 {width: 8.33%;}
    .col-2 {width: 16.66%;}
    .col-3 {width: 25%;}
    .col-4 {width: 33.33%;}
    .col-5 {width: 41.66%;}
    .col-6 {width: 50%;}
    .col-7 {width: 58.33%;}
    .col-8 {width: 66.66%;}
    .col-9 {width: 75%;}
    .col-10 {width: 83.33%;}
    .col-11 {width: 91.66%;}
    .col-12 {width: 100%;}
	
		
	#headshot-nicholas {width: 33.33%; margin-left: 2em;}
	
	.approach-pic {width: 33.33%; margin-left: 2em;}
	
	[class*="col-"] {padding: 2em;}
	
	.r-item {width: 25em;}
	
	.subhead {padding: .5em 2em;}
		
	.review-row {
	display: flex;
	align-items: center;
	}
		
	.slide-quote {
		font-size: 2em;
	}
	
	.slide-source {
		font-size: 2em;
	}
	
	input[type=text], input[type=email], textarea {
		font-size: 1.5em;
	}
	
	.small-form-text {
		font-size: 1.2em;	
	}
	
	#submit-input {
			font-size: 1.875em;
	}
}

@media only screen and (min-width: 1050px) {
	#big-nav {
		display: flex;
	}
	
	#menu-button {
		display: none;
	}
	
	#mobile-nav {
		transform: translate(-100%,0);
	}
	
	#category-container {
		flex-direction: row;
		max-width: 1050px;
		margin: auto;
		position: relative;
	}
	
	.book-p {
		margin: auto;
		padding-left: 0.4em;
		padding-right: 0.4em;
		max-width: 1050px;
	}
	
	.length-container a, .category a {
		font-size: 1.6em;
		margin: 0.2em 0.4em;
	}
	
	.length-container {
		position: absolute;
		top: 6em;
		right: 0;
		left: 0;
	}

}

	
	
	
