/* Removes the default header & footer */
#site-header{
	display: none;
}
#site-footer{
	display: none;
}

#site-content {
	margin-top: -32px;
}

body.single .wp-post-image {
    display: none;
}

/* Replacing default elements */
button {
	padding: 0;
	background-color: transparent;
	text-decoration: none!important;
} 

a {
	font-weight: 600;
	text-decoration: none!important;
	cursor: pointer!important ;
}
.entry-header {
	display: none;
}

/* Constant classes to add*/
.remove-margin {
	margin: 0!important;
}

.remove {
	display: none;
}

.featured-media {
	display:none;
}

@media (max-width: 1024px) {
	.hide-tablet {
		display: none;
	}
}

@media (max-width: 768px) {
	.hide-mobile {
		display: none;
	}
}


/* ======================================================================
 * MAIN PAGE 
======================================================================
*/

/* ===================================
 * NAVIGATION CSS
 * language button
===================================*/

.en-to-ch, .ch-to-en, 
.constant-en-button,
.constant-ch-button{
	position: relative;
	display: flex;
	justify-content: space-between;
	padding: 1.5px;
	border: 2px solid white;
	border-radius: 2px;
}

.en-to-ch::before, 
.ch-to-en::before,
.constant-en-button::before,
.constant-ch-button::before{
	content: '';
	position: absolute;
	background-color: #EE7A31;
	border: 1px solid white;
	top: -2.5%;
	left: -1%;
	height: 105%;
	width: 50%;
	z-index: -1;
	transition: 0.2s ease-in-out;
}
.ch-to-en::before,
.constant-ch-button::before{
	left: 51%;
}
.en-to-ch:hover::before {
	left: 51%;
	transition: 0.2s ease-in-out;
}
.ch-to-en:hover::before {
	left: -1%;
	transition: 0.2s ease-in-out;
}


.lang-eng {
	color: white;
	padding: 8px;
}
.lang-ch {
	color: white;
	padding: 8px;
	margin-left: 10px;
}
@media (max-width: 500px) {
	.en-to-ch, .ch-to-en, .constant-en-button, .constant-ch-button {
		width: 110%;
	}
	.lang-eng, .lang-ch {
		font-size: 55%
	}
}

/* ===================================
 * NAVIGATION CSS
 * navbar
===================================*/
.nav-container {
	position: sticky;
	top:0;
	height: 90px;
	margin-top: -90px;
	z-index: 98;
	background: transparent;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-bottom: 0.5rem;
	transition: 0.5s ease-in;
}
.bg-scrolled {
	background-color: rgba(0,0,0,0.6);
	transition: 0.5s ease-out;
	height: 90px;
	margin-top: -90px;
}

.nav-image-wrapper {
	width: 165px;
	margin-left: 5vh;
	padding: 3rem;
	padding-left: 0;
}

.nav-link-group {
	padding: 0.5rem;
	margin-right: 20px;
	display: grid;
	grid-auto-flow: column;
	gap: 15px;
	align-items: center;
}

.nav-link {
	color: white;
	text-transform: uppercase;
	margin-right: 1rem;
	font-size: 1.6rem;
}
.nav-link:hover {
	transform: scale(1.06);
}

.acuity-button, .acuity-button2, .acuity-button-p {
	border: 2px solid white;
	border-radius: 2px;
	font-family: "montserrat", sans-serif;
	text-transform: uppercase; 
	color: white;
	font-weight: bold;
	padding: 10px 16px;
	transition: 0.5s ease-in;
  position: relative;
	text-decoration: none;
	font-size: 1.6rem;
	margin-right: 0.5rem;
	box-shadow:0 0;
	background-color:#EE7A31;
}
.acuity-button2 {
	padding: 20px 30px;
	font-size: 2rem;
}
.acuity-button-p {
	width: 100%;
	padding: 25px;
	font-size: 2rem;
}
.acuity-button::before, .acuity-button2::before, .acuity-button-p::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	width: 100%;
	background-color: white;
	z-index: -1;
	transition: 0.5s ease-out;
  transform-origin: 0 0;
}
.acuity-button-p::before {
	border: 3px solid;
}

.acuity-button:hover, .acuity-button2:hover, .acuity-button-p:hover {
	color: #EE7A31!important;
	cursor: pointer!important;
	border: 2px solid #EE7A31;
}
.button-down::before{
	transform: scaleY(0);
}
.button-down:hover::before {
	transform: scaleY(1);
}

/* Only sidebar in mobile screen sizes*/ 
@media (max-width: 768px) {
	.navbutton, .acuity-button, .button-down, .nav-link {
		display: none;
	}
}

/* 
===================================
 * NAVIGATION CSS
 * sidebar
===================================
*/

.sidebar-icon {
	margin-left: 1.5rem;
	width: 35px;
	cursor: pointer;
}

.sidebarContainer {
	background: #222;
	height: 100%;
	width: 40%;
	top: 0;
	z-index: 100;
	position: fixed;
	right: -40%;
	transition: 0.5s ease-in-out;
}

.sidebarTransparent {
	background: linear-gradient(90deg, rgba(129,104,217,0.30) 0%, rgba(129,104,217,0.70) 45%, rgba(129,104,217,1) 100%);
	width: 100%;
	height: 100%;
	top:0;
	z-index: 99;
	position: fixed;
	opacity: 0;
	transition: 0.5s ease-in-out;
	pointer-events: none;
}

.sidebar-main-anim {
	right: 0;
}

.sidebar-trans-anim {
	opacity: 1;
	pointer-events: auto;
}

@media (max-width: 768px) {
	.sidebarContainer {
		width: 100%;
		right: -100%;
	}
	.sidebar-main-anim {
		right: 0;
	}
	.sidebarTransparent {
	}
}

.closeIcon {
	width: 50px;
}

.closeIconWrapper {
	margin: 2rem;
	position: absolute;
	right: 0;
	transition: 0.2s ease-in;
}
.closeIconWrapper:hover {
	transform: scale(1.1);
	transition: 0.15s ease-out;
}

.sidebar-wrapper {
	display: flex;
	align-items: center;
	height: 100%;
}

.sidebar-menu {
	position: absolute;
	bottom: 200px;
	display: grid;
	grid-template-columns: 1fr;
	grid-template-rows: repeat(5, 10vh);
	gap: 10px;
	margin-bottom: 1px;
}

.sidebar-link {
	text-decoration: none;
	list-style: none;
	font-size: 5vh;
	line-height: 12rem;
	color: white;
}
.sidebar-link:hover {
	color: rgba(129,104,217,1);
}

/* sidebar bottom buttons */
.sidebar-button-container {
	position: absolute;
	bottom: 1%;
	width: 90%;
	left: 5%;
	display: grid;
	grid-template-columns: 1fr;
	grid-template-rows: repeat(2, 90px);
	z-index: 0;
}

.sidebar-button {
	position: relative;
	background: white;
	border: 3px solid white;
	border-radius: 5px;
	font-family: "montserrat", sans-serif;
	font-size: 2.5rem;
	text-transform: uppercase; 
	color: black!important;
	padding: 12px 20px;
	transition: 0.4s ease-in-out;
	text-decoration: none;
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 1;
	height: 80%;
	box-shadow: 0 0;
}
.sidebar-button:hover {
	color: white!important;
}
.sidebar-button::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	width: 100%;
	background-color: rgba(129,104,217,1);
	transition: 0.5s ease-in-out;
  transform-origin: 0 0;
	z-index: -1;
}

.sidebar-button-anim::before {
	transform-origin: right;
	transform: scaleX(0);
}

.sidebar-button-anim:hover::before {
	transform-origin: right;
	transform: scaleX(1);
}

/* 
===================================
 * ELEMENT CSS
 * Get Started Buttons
===================================
*/

.button-gs, .button-gs1 {
	border-radius: 2px;
	transition: 0.4s ease-in-out;
  position: relative;
	background-color: #F89539;
	color: white!important;
}

@media (max-width: 768px) {
	.button-gs, .button-gs1 {
		width: 80%!important;
	}

	.button-gs1-container {
		margin: auto!important;
	}
}
 
.button-gs1 {
	color: black;
	box-shadow: 0px 1px 2px rgba(0,0,0,0.1), 
            0px 2px 4px rgba(0,0,0,0.1), 
            0px 4px 8px rgba(0,0,0,0.1), 
            0px 8px 16px rgba(0,0,0,0.1);
	z-index: 0;
}

.button-gs1:hover {
	color: #F89539!important;
	transition: 0.4s ease-in-out;
	cursor: pointer!important;
}

.button-gs::before, .button-gs1::before {
	content: '';
	position: absolute;
	top: -5%;
	height: 110%;
	left: -2%;
	width: 104%;
	background-color: white;
	border-radius: 2px;
	z-index: -1;
	transition: transform 0.5s;
  transform-origin: 0 0;
	transition-timing-function: ease-in-out;
	
}

.button-gs1::before {
	height: 100%;
	width: 100%;
	left: 0%;
	top: 0%;
	background-color: white;
}

.button-gs-anim-horz::before {
	transform: scaleX(0);
}
.button-gs-anim-horz:hover::before {
	transform: scaleX(1);
}

.button-gs-anim-vert::before {
	transform: scaleY(0);
}
.button-gs-anim-vert:hover::before {
	transform: scaleY(1);
}

.div-button {
	cursor: pointer!important;
}

/* 
===================================
 * PAGES CSS
 * hero
===================================
*/

.hero {
	max-height: 1028px!important;
}

.hero-video {
	height: 100vh;
	max-height: 1028px!important;
	position: relative;
}

@media (max-width: 768px) {
.hero-video::before {
	content: '';
	position: absolute;
	height: 100%;
	width: 100%;
	z-index: 1;
	left: 0%;
	background-color: black;
	}
}

.hero-content {
	width: 45vw!important;
}

.hero-header {
	width: 45vw!important;
	margin-left: 0!important;
	margin-right: 0!important;
}
@media (max-width: 768px) {
	.hero-header {
		font-size: 40px!important;
		margin-left: 0!important;
		width: 80vw!important;
	}
}

.hero-text {
	margin-left: 0!important;
	padding: 0!important;
}

/* 
===================================
 * PAGES CSS
 * ratings
===================================
*/

.ratings-container {
	position: relative;
	height: 450px;
}

.ratings-group-l, .ratings-group-r {
	position: absolute;
	animation-name: infinite-left;
	animation-duration: 30s;
	animation-iteration-count: infinite;
	animation-timing-function: linear;
	top: 75px;
	display: flex;
}

.ratings-group-l {
	margin: 0!important;
	left: 0;
}
.ratings-group-r {
	margin: 0!important;
	right: -4650px;
}
@media (max-width: 768px) {
	.ratings-group-r {
		right: -3250px;
	}
}
@keyframes infinite-left {
	0% {
		transform: translateX(0);
	}
	100% {
		transform: translateX(-4650px);
	}
}
@media (max-width: 768px) {
	@keyframes infinite-left {
		0% {
			transform: translateX(0);
		}
		100% {
			transform: translateX(-3250px);
		}
	}
}

.ratings {
	margin-left: 100px!important;
	min-width: 550px!important;
	min-height: 325px!important;
	align-self: center;
	justify-self: center;
	box-shadow: 0 5px 10px 0 rgba(50,0,50,0.25);
	transition: 0.2s ease-in;
}
.ratings:hover {
	transform: translateY(-5px);
	box-shadow: 0 10px 15px 0 rgba(50,0,50,0.25);
	transition: 0.15s ease-out;
}
@media (max-width: 768px) {
	.ratings {
		min-width: 350px!important;
	}
}

.rating-pfp {
	margin-top: 15px!important;
	margin-bottom:5px!important;
	width: 45px;
	position: relative;
	display: flex;
	justify-content: center;
}

/* 
===================================
 * PAGES CSS
 * differences
===================================
*/

.diff-container {
	z-index: 0;
	position: relative;
	padding-left: 100px!important;
	padding-right: 100px!important;
}
@media(max-width: 1440px) {
	.diff-container {
		padding: 30px!important;
	}
} 

.diff-group {
	position: relative;
	border: 1px solid;
	border-radius: 10px;
	box-shadow: 0 5px 10px 0 rgba(0,0,0,0.4);
	transition: 0.2s ease-in;
}
.diff-group:hover {
	transform: translateY(-5px);
	box-shadow: 0 10px 15px 0 rgba(0,0,0,0.4);
	transition: 0.15s ease-out;

}

.diff-desc {
	margin-left: 6vw!important;
	max-width: 70vw!important;
}

.diff-header1, .diff-header2, .diff-header3 {
	position: relative;
	padding: 40px;
	padding-left: 50px;
	padding-right:50px;

	margin: 0!important;
	border-radius:10px;
	z-index: -1;
}

@media (max-width: 768px) {
	.diff-header1, .diff-header2, .diff-header3 {
		font-size: 30px!important;
	}
}

.diff-header1 {
	background-color: #C3B1E1;
	color: ;
}
.diff-header2 {
	background-color: #BCDAF7;
}
.diff-header3 {
	background-color: #FEA4A4;
}


.diff-header1::before, .diff-header2::before, .diff-header3::before{
	content: '';
	position:absolute;
	height: 5%;
	width: 100%;
	left: 0;
	bottom: 0;
	background-color: #C3B1E1;
	z-index: 100;
}

.diff-header1::before {
		background-color: #C3B1E1;
}
.diff-header2::before {
		background-color: #BCDAF7;
}
.diff-header3::before {
		background-color: #FEA4A4;
}

.diff-text {
	padding: 40px;
}

.diff-num {
	position: absolute;
	top: -6rem;
	left: -1.5rem;
	filter: drop-shadow(2px 3px 2.5px rgba(0,0,0, 0.3));
}
@media (max-width: 768px) {
	.diff-num {
		top: -5rem;
		left: -1rem;
	}
}


/* 
===================================
 * PAGES CSS
 * programs
===================================
*/ 

.p-toggle {
	position: relative;
	border-radius: 100%;
	width: 120px;
	border: 0.25vw solid white;
	overflow: hidden;
	transition: transform .3s cubic-bezier(.5,2.5,.7,.7),box-shadow .3s cubic-bezier(.5,2.5,.7,.7),-webkit-transform .3s cubic-bezier(.5,2.5,.7,.7),-webkit-box-shadow .3s cubic-bezier(.5,2.5,.7,.7);
	margin: 1vw;
	box-shadow: 0 2.5px 0 0 rgba(200,200,200),0 5px 5px 0 rgba(50,0,50,1);
	margin-bottom: 30px;
}
.p-toggle:hover {
	transform: translateY(-5px);
	box-shadow: 0 7.5px 0 0 rgb(200,200,200),0 10px 5px 0 rgba(50,0,50,1);
}

.toggle-group { /*the triangle*/
	position: relative;
}
.toggle-group::before {
	content: '';
	position: absolute;
	height: 0;
	width: 0;
	border-left: 30px solid transparent;
	border-right: 30px solid transparent;
	border-top: 15px solid white;
	bottom: -55px;
	z-index: 4;
}
.toggle-group::after {
	content: '';
	position: absolute;
	height: 5px;
	width: 100vw;
	background-color: white;
	bottom: -45px;
	z-index: 3
}

.pbutton-container {
	margin-left: 2.5rem!important;
	margin-right: 2.5rem!important;
	margin-top: 0!important;
	max-width: 200px!important;
	position: relative;
}

.pbutton-header {
	position: absolute;
	width: 500px;
	text-align: center;
	bottom: -50px;
}

@media (max-width: 768px) {
	.pbutton-container {
		margin-left: 0!important;
		margin-right: 0!important;
	}
	.pbutton-header {
		display: none;
	}
	.p-toggle {
		margin-bottom: 1vw!important;
	}
}

.pbutton-active {
	width: 150px;
	border: 0.5vw solid white;
	box-shadow: 0 8px 0 0 rgba(200,200,200),0 10px 5px 0 rgba(50,0,50,1);
	transition: transform .3s cubic-bezier(.5,2.5,.7,.7),box-shadow .3s cubic-bezier(.5,2.5,.7,.7),-webkit-transform .3s cubic-bezier(.5,2.5,.7,.7),-webkit-box-shadow .3s cubic-bezier(.5,2.5,.7,.7);
}
.pbutton-active:hover {
	transform: translateY(-7px);
	box-shadow: 0 15px 0 0 rgba(200,200,200),0 17px 5px 0 rgba(50,0,50,1);
}

@media (max-width: 768px) {
	.p-toggle:hover {
		transform: translateY(-2.5px);
		box-shadow: 0 5px 0 0 rgb(200,200,200),0 7.5px 5px 0 rgba(50,0,50,1);
	}
	.pbutton-active {
		box-shadow: 0 5px 0 0 rgba(200,200,200),0 8px 5px 0 rgba(50,0,50,1);
	}
	.pbutton-active:hover {
		transform: translateY(-3px);
		box-shadow: 0 8px 0 0 rgba(200,200,200),0 12.5px 5px 0 rgba(50,0,50,1);
	}
}

.robotics-program, .coding-program, .eng-program, .game-program, .program-space-filler {
	margin-top: 0;
	position: absolute;
	left: 0;
	transform-origin: top center;
	transition: 0.1s ease-out;
	opacity: 0;
}

.robotics-program::before, .coding-program::before, .eng-program::before, .game-program::before {
	content: '';
	position: absolute;
	height: 15px;
	width: 100%;
	background-color: white;
	top: -10px;
	z-index: 2;
	box-shadow: 0 10px 15px 0 rgba(0,0,0,0.5);
}
.robotics-program::after, .coding-program::after, .eng-program::after, .game-program::after {
	content: '';
	position: absolute;
	width: 100%;
	min-height:15px;
	background-color: white;
	z-index: 1;
	bottom: 0;
	box-shadow: 0 -10px 20px 0 rgba(0,0,0,0.5);
}


.p-active {
	opacity: 1;
	animation: program-reveal 0.5s ease-out;
	z-index: 2;
}

.program-space-filler {
	position: relative;
	opacity:0;
	height: auto;
}

@keyframes program-reveal {
	0% {
		opacity: 0;
	}
	60% {
		opacity: 0.6;
	}
	100% {
		opacity: 1;
	}
}


.program-text {
	background-color: rgba(50,50,50, 0.5);
	backdrop-filter: blur(6px);
	border: 3px solid rgba(255,255,255,1);
	padding: 30px;
	border-radius: 10px;
	width: 67.5%;
}
@media(max-width: 768px) {
	.program-text {
		width: 100%;
	}
}

.program-skills {
	position: relative;
	margin-top: 0!important;
}
 
.program-skills-column {
	position: relative;
	padding: 20px;
}

.program-skills-column::before {
	content: '';
	position: absolute;
	background-color: rgba(50,50,50, 0.5);
	backdrop-filter: blur(6px);
	box-shadow: 0 3px 6px 0 rgba(0,0,0,0.25);
		border: 3px solid rgba(255,255,255,1);
	z-index: -1;
	height: 80%;
	width: 100%;
	top: 60px;
	border-radius: 10px;
}

.program-skills-img {
	position: relative;
	margin-top: 0!important;
	margin-bottom: 20px!important;
	width: 80px;
	border-radius: 50%;
	padding: 15px;
	border: 3px solid rgba(255,255,255,1);
	box-shadow: 0 1px 5px 0 rgba(0,0,0,0.25);

}
.program-skills-img::before {
	content: '';
	position: absolute;
	width: 100%;
	height: 100%;
	background-color: rgba(50,50,50, 0.5);
	backdrop-filter: blur(10px);
	
	top: 0;
	left: 0;
	z-index: -1;
	border-radius: 100%;
}


.program-button {
	color: white!important;
	background-color: #d83f87;
	position: relative;
	z-index: 0;
	transition: 0.5s ease-in;	
		box-shadow: 0px 1px 2px rgba(0,0,0,0.1), 
            0px 2px 4px rgba(0,0,0,0.1), 
            0px 4px 8px rgba(0,0,0,0.1), 
            0px 8px 16px rgba(0,0,0,0.1);
}
.program-button::before {
	content: '';
	position: absolute;
	width: 100%;
	height: 100%;
	background-color: white;
	z-index: -1;
	transition: 0.5s ease-out;
	transform-origin: 0 0;
	border-radius: 2px;
}
.program-button:hover {
	color: #d83f87!important;
	
}

.program-button-anim::before {
	transform: scaleY(0);
}

.program-button-anim:hover::before {
	transform: scaleY(1);
}

/* 
===================================
 * PAGES CSS
 * testimonials
===================================
*/
.testimonial-container {
	margin-top: 0!important;
}
.testimonial-container-inner {
	height: 800px;

}

.testimonial-arrows {
	position: absolute;
	z-index: 1;
	left: 0;
	top: 246px;
}

.testimonial-left-wrapper, .testimonial-right-wrapper {
	position: relative;
	width: 200px!important;
	height: 200px!important;
	border-radius: 40px;
	transition: 0.2s ease-in;
}
.testimonial-left-wrapper {
	right: 220px;
}
.testimonial-right-wrapper {
	left: 220px;
}
.testimonial-left-wrapper:hover, .testimonial-right-wrapper:hover{
	transition: 0.15s ease-out;
	cursor: pointer;
}

@media (max-width: 768px) {
	.testimonial-left-wrapper {
		right: 0;
		left: -100px;
	}
	.testimonial-right-wrapper {
		left: 100px;
	}
}

.testimonial-text {
	padding-left: 25px;
	padding-right: 25px;
	position: relative;
}

.test1, .test2, .test3, .test4, .test5, .test6, .test7, .test8, .test9 {
	position: absolute;
	inset: 0;
	height: 550px; 
	top: 10%;
	opacity: 0!important;
	width: 400px!important;
	margin-bottom: 4rem!important;
	transition: 0.25s ease-out;
	border: 4px solid white;
	border-radius: 50px;
}

@media (max-width: 500px) {
	.test1, .test2, .test3, .test4, .test5, .test6, .test7, .test8, .test9 {
		height: 65vh;
		margin: 0 auto;
	}
	
}

@media (max-width: 380px) {
	.test1, .test2, .test3, .test4, .test5, .test6, .test7, .test8, .test9 {
		height: 70vh;
		margin: 0 auto;
	}
}


.test-img1,.test-img2,
.test-img3,.test-img4,
.test-img5,.test-img6,
.test-img7,.test-img8,
.test-img9 {
	position: relative;
	border-radius: 30px;
	overflow: hidden;
	width: 90%;
	box-shadow: 0 3px 8px 0 rgba(0,0,0,0.75);
}


.active {
	opacity: 1!important;
	padding-top: 20px;
	background-color: rgba(50,50,50,0.6);
	backdrop-filter: blur(8px);
	z-index: 1;
}


.left-active {
	opacity: 0.5!important;
	top: 150px;
	right: 650px;
	width: 200px!important;
	height: 200px!important;
	padding-top: 10px;
	font-size: 0;
	border-radius: 40px;
	transition: 0.25s ease-out;
	z-index: -1;
	background-color: rgba(50,50,50,0.6);
	backdrop-filter: blur(8px);
}

.right-active {
	opacity: 0.5!important;
	top: 150px;
	left: 650px;
	width: 200px!important;
	height: 200px!important;
	padding-top: 10px;
	font-size: 0;
	border-radius: 40px;
	transition: 0.25s ease-out;
	z-index: -1;
	background-color: rgba(50,50,50,0.6);
	backdrop-filter: blur(8px);
}
@media (max-width: 1024px) {
	.right-active {
		left: 50vw;
	}
	.left-active {
		right: 50vw;
	}
}
@media (max-width: 500px) {
	.active {
		width: 100%!important;
	}
	.left-active {
		top: 100px;
		right: 0;
		left: -60vw;
	}
	.right-active {
		top: 100px;
	}
	.testimonial-container-inner {
		display: flex;
		flex-direction: column;
		align-items: center;		
	}
}


/* 
==================================
 * PAGES CSS
 * success
==================================
*/

.success-header {
	width: 100vw!important;
}

.success-text {
	width: 30rem!important;
	margin: auto;
	
}

.success-group {
	justify-content: center;
	display: flex;
}

.success-icon {
	filter: drop-shadow(2px 3px 1px rgba(0,0,0,0.4));
}

@media (max-width: 768px) {
	.success-header-middle {
		font-size: 60px!important;
	}
	
	.success-header {
		margin: auto!important;
	}
}

@media (max-width: 390px) {
	.success-text {
		width: 20rem!important;
		margin: auto!important;
	}
}

/* 
==================================
 * PAGES CSS
 * skills
==================================
*/

.skills-icon {
	filter: drop-shadow(1px 2px 1px rgba(0,0,0,0.4));
}

.skills-text {
	font-size: 80%;
}

.center {
	display: block;
	margin-left: auto;
	margin-left: auto;
	width: 50%;
}

/*
============================================================
 * REUSABLE HEROES
============================================================
*/


.vid-container {
	position: relative;
	height: 55.5vw!important;
}

.vid {
	position: absolute;
}

.vid-cover-text {
	position: absolute;
	height: 100%;
	width: 100%;
	top: 50%;
	transform: translateY(-50%);
	padding-top: 25%!important;
	padding-bottom: 25%!important;

}

@media(max-width: 768px) {
	.vid-header {
		font-size: 5rem!important;
	}
	.vid-cover-text {
		padding-top: 25%!important;
	}
	.vid-container {
		height: 55vw!important;
	}
}

@media(max-width: 400px) {
	.vid-header {
		display: none;
	}
	.vid-container {
		height: 54vw!important;
	}
}


/*
====================================================================
 * PROGRAMS PAGE
====================================================================
*/

/*
==================================
 * PAGES CSS
 * text
==================================
 */

.program-page-text {
	max-width: 80vw!important;
}

.program-page-headers-bg {
	min-height: 0;
	height: 250px;
}

/* ==================================
 * PAGES CSS
 * cards
==================================
*/

.card-container {
	position: relative;
	transition: 0.2s ease-in;
}
.card-container:hover {
	transform: translateY(-5px);
	transition: 0.15s ease-out;
}


.card-bg {
	min-height: 250px;
	border-radius: 40px;
	margin-bottom: 250px!important;
	box-shadow: 0 5px 10px 0 rgba(0,0,0,0.5);
}

.card-text {
	position: absolute;
	border-radius: 30px;
	padding-top: 0!important;
	padding-left: 30px!important;
	padding-right: 30px!important;
	padding-bottom: 25px!important;
	height: 135px; 
	top: 225px;
	width: 90%;
	left: 0;
	right: 0;
	border: 1px solid rgba(0,0,0,0.3);
	z-index: 1;
	overflow: clip;
	transition: 0.2s ease-in;
	transform-origin:0 0;
	box-shadow: 0 5px 10px 0 rgba(0,0,0,0.5);
}

.card-heading {
	margin-bottom: 15px!important;
	margin-top: 25px!important;
}

.card-divider {
	margin:3rem 0!important;
	margin-top: 4rem!important
}

.card-tag3, .card-tag2, .card-tag1 {
	display: inline;
	padding: 5px;
	padding-left: 10px;
	padding-right: 10px;
	background-color: rgba(200,230,255, 0.6);
	border-radius: 100px;
}

.card-text:hover {
	height: 15em;
	transition: 0.15s ease-out;
}
.card-bg:hover +
.card-text {
	height: 15em;
}

.card-demo-button {
	display: flex;
}

@media (max-width: 500px) {
	.card-text {
		width: 130%;
		left: -13%;
	}
	.card-text:hover {
		height: 20em;
	}
	.card-bg:hover +
.card-text {
	height: 20em;
}
}


/*
====================================================================
 * CONTACT PAGE
====================================================================
*/

.contact-bg {
	height: 160vh;
}

.contact-container {
	backdrop-filter:blur(5px);
	border-radius: 10px;
	border: 2.5px solid rgba(0,0,0,0.5);
}

.contact-bite {
	position: absolute;
	top: 35%;
	width: 300px;
	animation: 3s ease-in-out 1s infinite pulse;
	
}

@keyframes pulse {
	0% {
		transform: scale(1);
	}
	50% {
		transform: scale(1.1);
	}
}
@media(max-width: 1050px) {
	.contact-bg {
		height: auto;
	}
	.contact-bite {
		display: none;
	}
}

.contact-button {
	position: relative;
}
@media(max-width: 1050px) {
	.contact-button {
			width: 100%!important;

	}
}

.contact-map {
	height: 500px!important;
	max-width: 800px!important;
}
/*
====================================================================
 * ABOUT PAGE
====================================================================
*/

.about-text-group, .about-text-group-r {
	position: relative;
	background-color: rgba(239,239,244,1);
	border: 2px solid rgba(230,230,234,1);
	box-shadow: 2px 5px 10px 0 rgba(0,0,0,0.4);
	max-width: 70rem!important;
	left: 70%;
	right: auto;
	padding-top: 2rem!important;
transform: translateX(-50%);
	z-index: 1;
}
.about-text-group-r {
	left: 30%;
	transform: translateX(50%);
}

.about-image,.about-image-r {
	position: relative;
	border: 3px solid rgba(230,230,230,1);
	box-shadow: 2px 5px 10px 0 rgba(0,0,0,0.4);
	z-index: 0;
	top: 20%;
	width: 500px;
}
.about-image-r {
		left: -55rem;
		box-shadow: 2px 5px 10px 0 rgba(0,0,0,0.4);
	
}

@media (max-width: 768px) {
	.about-text-group,.about-text-group-r {
		padding-right: 2em!important;
		padding-left: 2em!important;
		left: 50%;
		transform: translateX(-50%);
		right: auto;
	}
	.about-image,.about-image-r {
		width: 100%;
		top: 0;
		left: 50%;
		transform: translateX(-50%);
	}
}

.teaching-icon {
	filter: drop-shadow(2px 3px 2.5px rgba(0,0,0,1));
}

.teaching-header {
	text-shadow: 2px 3px 2.5px rgba(0,0,0,1);
}

@media (max-width: 1060px) {
	.teaching-header {
		font-size: 4vw!important;
	}
}


.teaching-cover {
	position: relative;
	top: 0;
	height: 30rem;
	width: 100%;
	margin: 50px;

	border: 1px solid rgba(255,255,255, 0.35);
	border-radius: 10px;
	box-shadow: rgba(255,255,255, 0.09) 0px 2px 1px, rgba(255,255,255, 0.09) 0px 4px 2px, rgba(255,255,255, 0.09) 0px 8px 4px, rgba(255,255,255, 0.09) 0px 16px 8px, rgba(255,255,255, 0.09) 0px 32px 16px;
	transition: 0.2s ease-in;
}

.teaching-cover:hover {
	transform: translateY(-6px);
	box-shadow: rgba(255,255,255, 0.09) 0px 4px 8px, rgba(255,255,255, 0.09) 0px 10px 8px, rgba(255,255,255, 0.09) 0px 14px 10px 6px, rgba(255,255,255, 0.09) 0px 22px 15px 4px, rgba(255,255,255, 0.09) 0px 38px 21px 8px;
	transition: 0.15s ease-out;
}

.teaching-link {
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	z-index: 1;
}

.teaching-overlay {
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width:100%;
	z-index: -1;
	background-color: rgba(0,0,0,0.15);
	transition: 0.2s ease-in;
}

.teaching-link:hover +
.teaching-overlay {
	background-color: rgba(0,0,0,0.5);
	transition: 0.15s ease-out;
}
 
.teaching-notice {
	padding: 15px;
	position: absolute;
	top: 15px;
	left: 0;
}

@media (max-width: 600px) {
	.teaching-notice {
		font-size: 3.5vw!important;
	}
}

/*Footer Margin Fixes*/
.need-help-elements {
	margin-left: 0!important;
}
