:root {
	--red: #8f221f;
	--blue: #4b73b2;
}


html, body {
	overflow-x: hidden;
}


body {
	font-family: poppins, sans-serif;
	font-weight: 400;
	font-style: normal;		
	color: #484848;
}

a {
	color: #8f221f;
	text-decoration: none;
	transition: 0.2s;
}

a:hover {
	color: #4b73b2;
}

.proxima {
	font-family: proxima-nova, sans-serif;
	font-weight: 900;
	font-style: normal;
}

.poppins {
	font-family: poppins, sans-serif;
	font-weight: 400;
	font-style: normal;	
}


.text-blue { color: #4b73b2; }

.text-yellow { color: #f2a900; }

.text-red { color: #8f221f; }

h2 {
	font-family: proxima-nova, sans-serif;
	font-weight: 900;
	color: #8f221f;
}

header.header {
	z-index: 10;
	box-shadow: 0 3px 6px rgba(0, 0, 0, 0.2);
	position: relative;
}

img { max-width: 100%; height: auto; }

.topbar {
	padding: 5px 10px;
	font-size: 14px;
	color: #fff;
	background: #8f221f;
}

.header__container {
	padding: 15px 10px;
	/*background-color: #e8edf5;*/
	background: #fff;
	background-image: url('assets/images/flower-bg-1.jpg');
	border-bottom: 1px solid rgba(0, 0, 0, 0.1);
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.06);
	position: relative;
	z-index: 2;
/*	background-image: url('images/header-bg.png');
	background-position:  right center;
	background-repeat: no-repeat;*/
}

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

.header__menu {
	background: #8f221f;
	height: 60px;
	position: relative;
	/*border-top: 1px solid #4b73b2;*/
}



.mobile-nav .nav-links { top: 0; padding-left: 0; margin-bottom: 0;}
.mobile-nav .nav-links a { 
  border-bottom: 1px solid #e2e2e2;
  display: block;
  padding: 8px 20px;
  font-weight: 900;
  font-size: 18px;
}
.mobile-nav .nav-links a.apply-mobile { color: #fa9a23; }

.mobile-nav .nav-links ul.sub-menu li a {
  padding-left: 40px;
}

.mobile-nav ul.sub-menu { display: none; }
.mobile-nav .menu-item-has-children.open ul.sub-menu { display: block; }


.mobile-nav-toggle {
	border: 2px solid #8f221f;
	height: 50px;
	width: 50px;
	border-radius: 100%;
	color: #8f221f;
	font-size: 24px;
	cursor: pointer;
  z-index: 1001;
}

.mobile-nav {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  width: 100%;
  background:#fff;
  z-index:10001;
  padding-top: 50px;
  box-shadow: -3px 0 6px rgba(0, 0, 0, 0.05);
  transition: 0.4s cubic-bezier(.55,-0.6,.42,1.64);
  transform: translateY(-100%);
}



.mobile-nav.open { transform: translateY(-40px); }

.close-menu {
  width: 100%;
  color:#fff;
  font-weight: bold;
  text-align: center;
  padding: 15px 0;
  background: #8f221f;
  cursor: pointer;
}

.masthead {
	height: 100vh;
	max-height: 660px;
	position: relative;
}

#mastheadCarousel {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.masthead-overlay {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(0, 0, 0, 0.4);
}

.masthead-wrapper {
	z-index: 3;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	max-width: 800px;
	width: 100%;
}

.masthead-wrapper-logo {
	width:700px; 
	max-width: 95%;
	display: block; 
	margin-top: -40px; 
	margin-left: 15px;
}

.masthead::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	top: 0;
	background: rgba(0, 0, 0, 0.4);
}




ul.programs-nav, ul.menu-nav {
	list-style: none;
	margin: 0;
	padding: 0;
}

ul.programs-nav li { 
	display: inline-block; 
	padding: 5px 10px;
	color: #8f221f;
	text-align: center;
	display: flex;
	align-items: center;
}



ul.menu-nav li { 
	display: inline-flex; 
	font-family: proxima-nova, sans-serif;
	font-weight: 900;
	text-transform: uppercase;
	color: #fff;
	border-right: 1px solid rgba(255, 255, 255, 0.1);
	height: 100%;
	align-items: center;
	position: relative;
}

ul.menu-nav li:last-child { border-right: none; }

ul.menu-nav li a { 
	color:#fff; 
	padding: 5px 24px;
	display: flex;
	align-items: center;
	transition: 0.15s;
	height: 100%;
}

ul.menu-nav li a:hover {
	background: #fff;
	color: #8f221f;
}

li > .sub-menu {
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	background: #fff;
	box-shadow: 1px 1px 10px rgb(0 0 0 / 10%);
	margin: 0;
	padding: 0;
	list-style-type: none;
	width: 225px;
	z-index: 99;
	border-top: 3px solid #8f221f;
	border-right: 0;
}

ul.menu-nav .sub-menu li { margin: 0; display: flex; border: 0; }


ul.menu-nav .sub-menu li a {
	padding: 1em;
	display: block;
	border-bottom: 1px solid #eee;
	transition: 0.4s;	
	color: var(--red);
	width: 100%;
}

ul.menu-nav .sub-menu li:hover a { background: var(--red); color: #fff; }

ul.menu-nav li > .sub-menu li > .sub-menu {
	display: none;
	left: 100%;
	top: 0;
}

.menu-nav .menu-item-has-children:hover > .sub-menu {
    display: block;
}



.gan-btn-wrapper {
	display: flex;	
	justify-content: center;	
}

.gan-btn,
.gform_wrapper.gravity-theme .gform_footer input[type="submit"] {
	padding: 14px 18px;
	color: #fff;
	border-radius: 25px;
	font-size: 16px;
	text-transform: uppercase;
	text-align: center;	
	box-shadow: 0 0 13px rgba(0, 0, 0, 0.32);
	background: #4b73b2;
	margin: auto;	
	min-width: 200px;
	transition: all 0.2s linear 0s;
	overflow: hidden;
	position: relative;
	cursor: pointer;
}

.gform_wrapper.gravity-theme .gform_footer input[type="submit"] {
	border: 0;
	display: block;
	margin: 0 auto;
}

.gan-btn-yellow {
	background: #f2a900;
}

.gan-btn-red,
.gform_wrapper.gravity-theme .gform_footer input[type="submit"] {
	background: #8f221f;
	/*border: 1px dotted rgba(255, 255, 255, 0.4);*/
	border-radius: 30px;
	position: relative;
}

.gan-btn-white {
	background: #fff;
	color: #8f221f;
	border: 1px dotted #8f221f;
}

.gan-btn-white::after {
	position: absolute;
	left: 5px;
	top: 5px;
	bottom: 5px;
	right: 5px;
	border-radius: 30px;
	border: 1px dotted;
	content: '';
}

.gan-btn:before,
.gform_wrapper.gravity-theme .gform_footer input[type="submit"]::before {
  content: "\f0a9";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  font-size: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 0;
  right: -50px;
  width: 50px;
  height: 100%;
  /*background-color: rgba(255, 255, 255,0.3);*/
  background-color: rgba(255, 255, 255, 0.8);
  border-radius: 100px 0px 0px 100px;
  transition: all 0.2s linear 0s;
  text-align: center;
  color: #4b73b2;
}

.gan-btn-red:before,
.gan-btn-white:before  {
	color: #8f221f;
}

.gan-btn:hover,
.gform_wrapper.gravity-theme .gform_footer input[type="submit"]:hover {
	text-indent: -40px;
	color: #fff;
}

.gan-btn-white:hover {
	color: #8f221f;
}

.gan-btn:hover:before,
.gform_wrapper.gravity-theme .gform_footer input[type="submit"]:hover::before {
	right: 0;
	text-indent: 0px;
}

.bordered {
	height: 300px;
	background: rgba(0, 0, 0, 0.1);
	position: relative;
	border: 2px solid #d9a59a;
	border-radius: 6px;
}

.bordered::before {
	position: absolute;
	height: 100%;
	width: 100%;
	z-index: -1;
	content: "";
}

.bordered.white {
	border-color: #fff;
}

.bordered.yellow {
	border-color:  #f2a900;
}


.program-icon {
    border-radius: 100%;
    height: 150px;
    width: 150px;
    background: #fff;
    border: 3px dashed #4b73b2;
    position: relative;
    z-index: 5;
    box-sizing: border-box;
    margin: 0 auto 30px;
}

.program-icon::before {
    position: absolute;
    content: '';
    /* background: #fff; */
    height: inherit;
    width: inherit;
    left: 0;
    top: 0;
    transform: translate(-13px, -13px);
    border-radius: 100%;
    /* z-index: 0; */
    box-sizing: content-box;
    border: 10px solid #fff;
    box-shadow: 0 0 16px rgba(0, 0, 0, 0.2);
}

.program-tile-wrap {

}


.program-tile {
	cursor: pointer;
	background-color: #4b73b2;
	border-radius: 6px;
	position: relative;
}

.program-tile-bg {
	background-image: url('assets/images/masthead-1.jpg');
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-size: cover;
	background-position: center;
	filter: grayscale(100%);
	mix-blend-mode: multiply;
	opacity: 0.33;
}

.border-effect {
	height: 300px;
	background: rgba(0, 0, 0, 0.1);
	position: relative;
}

.border-effect::before,
.border-effect::after {
	position: absolute;
	height: 100%;
	width: 100%;
	border-radius: 6px;
	content: "";
	transition: 0.3s;	
	opacity: 0;
}

.border-effect::before {
	border-top: 2px solid #fff;
	border-bottom: 2px solid #fff;
	transform: scaleX(0);
}

.border-effect::after {
	border-left: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: scaleY(0);
}


.program-tile:hover .border-effect::before,
.program-tile:hover .border-effect::after {
	opacity: 1;
	-webkit-transform: scale(1);
	transform: scale(1);
}

.program-tile h4, .program-tile p { transition: 0.3s; }

.program-tile h4 				{ 
	position: absolute;
  text-align: center;
  width: 100%;
  top: 50%;
  transform: translateY(-50%);
}
.program-tile:hover h4 	{ top: 0; }

.program-tile p 			{	opacity: 0; transform: translateY(25px)}
.program-tile:hover p { opacity: 1; }

.contact-form .form-control {
	height: 50px;
	border: 3px  solid #4b73b2;
}

.contact-form .form-group label {
margin: 0 0 0px 10px;
    color: #8f221f;
    font-weight: 900;
    background: #fff;
    padding: 0 6px;
    line-height: 1;
    top: 10px;
    position: relative;
    font-family: 'proxima-nova';
}

.who-we-are {
  list-style: none;
  padding: 0;
  color:#fff;
}

.who-we-are i:not(.i-left) {
  margin-left:12px;
}

.who-we-are i.i-left {
  width: 30px;
  text-align: center;
}

.who-we-are i.i-right { float: right; margin-right: 10px;}

.who-we-are li {
    line-height: 1;
    border-bottom: 1px dashed rgba(255,255,255,0.4);
}

.who-we-are li a {
	display: block;
	padding: 13px 0;
	font-family: 'proxima-nova';
	font-weight:900;
	color:#fff;
	transition: 0.2s;
}

.who-we-are li a:hover {
  background:#fff;
  padding-left: 10px;
  color: #8f221f;
}

footer.footer {
	background: #8f221f;
	border-top: 1px solid rgba(0, 0, 0, 0.1);
	box-shadow: inset 0 2px 4px -2px rgba(0, 0, 0, 0.1);
}

.footer-nav {
	text-align: center;
	list-style: none;
	padding: 0;
	margin: 0;
}

.footer a, .footer a:hover { color: #fff; }


.testimonial {
	border: 20px solid #4b73b273;
	border-radius: 40px;
}

.quotation-marks {
	position: relative;
	padding: 40px 15px 70px;
	z-index: 2;
}

.quotation-marks::before, .quotation-marks::after {
	height: 60px;
	width: 90px;
	content: "";
	background-image: url('assets/images/quotation-marks.png?ver=1.0.1');
	background-position: center;
	background-repeat: no-repeat;
	background-size: 100%;
	position: absolute;
	z-index: -1;
}

.quotation-marks::before {
	top: -40px;
	left: 50px;
}

.quotation-marks::after {
	bottom: -40px;
	right: 50px;
	transform: scale(-1, -1);
}

.gi-page-header { 
	padding: 60px 0; 
	box-shadow: inset 0 -6px 6px -4px rgb(0 0 0 / 10%);	
	position: relative;
}

.gi-school-page-header {
	height: calc(80vh - 210px);
	max-height: 560px;
}

.header-overlay {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(0, 0, 0, 0.6);
}

.page-divider {
	width: 400px;
	max-width: 96%;
	display: block;
	margin: 1rem auto 1.5rem;
}


.section-title {
	text-align: center;
	margin-bottom: 40px;
}

.map-wrapper, .map-wrapper iframe { width: 100%; }
.map-wrapper iframe { height: 400px; }



/* Team
----------------------------------------------- */
.team-member-wrapper {
	background: var(--blue);
	position: relative;
	padding-bottom: 76px;
	margin-bottom: 20px;
}

.team-member-wrapper img {
	height: 100%;
	width: 100%;
	object-fit: cover;
	position: absolute;
	top: 0;
	left: 0;
	/*mix-blend-mode: luminosity;*/
}

.team-member-wrapper::before {
	content: "";
	padding-top: 120%;
	display: block;
}

.team-member-wrapper .name {
	padding: 12px 0;
	background: var(--red);
	color: #fff;
	text-align: center;
	width: 100%;
	font-size: 26px;
	font-family: proxima-nova, sans-serif;
	font-weight: 700;
	line-height: 1;
	position: absolute;
	bottom: 0;
}

.team-member-wrapper .name span { font-size: 18px; }


/* Forms
----------------------------------------------- */

.form-wrapper {
	background: #fff;
  border-radius: 6px;
  box-shadow: 0 0 16px rgb(0 0 0 / 15%);
  padding: 3rem 3rem 1.5rem;
}

.gform_wrapper.gravity-theme input[type=text],
.gform_wrapper.gravity-theme .ginput_complex .ginput_container_date select,
.gform_wrapper.gravity-theme .gfield select,
.gform_wrapper.gravity-theme textarea {
display: block;
    width: 100%;
    padding: 0.375rem 0.75rem;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: #212529;
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid #ced4da;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border-radius: 0.25rem;
    transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out;
	height: 50px;
  border: 3px solid #4b73b2;
}

.gform_wrapper.gravity-theme .gfield-choice-input {
  border: 3px solid #4b73b2;	
}

.gform_wrapper.gravity-theme .gform_fields.left_label legend.gfield_label, 
.gform_wrapper.gravity-theme .gform_fields.right_label legend.gfield_label,
.gform_wrapper.gravity-theme .left_label .gfield_label, 
.gform_wrapper.gravity-theme .right_label .gfield_label,
.gform_wrapper.gravity-theme .ginput_complex label, 
.gform_wrapper.gravity-theme .ginput_complex legend {
	color: var(--red);
}

.gform_wrapper.gravity-theme .gform-body .gfield_label {
	position: relative;
	width: auto;
	top: 22px;
	left: 20px;
	background: #fff;
	padding: 0 10px;
	color: var(--red);
}


.gform_wrapper.gravity-theme .gform_next_button.button {
	float: right;
	background: var(--blue);
	color: #fff;
	padding: 12px 20px;
	font-weight: 700;
	border: 0;
	outline: 0;
	border-radius: 0.25rem;
	margin-bottom: 30px!important;
}

.ginput_container.ginput_container_total,
.ginput_container.ginput_container_radio {
	padding: 10px 0;
}

.gfield_radio {
	padding: 10px 30px 0;
}

.masthead-row {
	border-bottom: 3px solid #8f221f;
}

.additional-links-wrap {
	background-image: url('assets/images/flower-bg-red.jpg');
}

.gform_wrapper.gravity-theme input[type="checkbox"] {
	-webkit-appearance: none;
	appearance: none;
	background-color: #fff;
	margin: 0;	
	margin-top: 30px;
	margin-left: 0px;
	margin-right: 10px;
  font: inherit;
  color: currentColor;
  width: 24px;
  height: 24px;
  border: 3px solid #4b73b2;
  border-radius: 0.25rem;
  /*transform: translateY(-0.075em);*/ 	
  position: relative;
  /*transform: translateX(-30px);*/
  cursor: pointer;
}

.gform_wrapper.gravity-theme .gfield-choice-input+label {
	margin-top: 30px;	
}

.gform_wrapper.gravity-theme input[type="checkbox"]::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 14px;
  height: 14px;
  margin-top: -7px;
  margin-left: -7px;
  transform: scale(0);
  background: var(--red);
  transition: 120ms transform ease-in-out;
  box-shadow: inset 1em 1em var(--form-control-color);
  transform-origin: center center;
  clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);  
}

.gform_wrapper.gravity-theme input[type="checkbox"]:checked::before {
  transform: scale(1);
}


/* Modal
----------------------------------------------- */
.modal-dialog {
	max-width: 800px;
}

.modal-content {
  border-radius: 6px;
  box-shadow: 0 0 16px rgb(0 0 0 / 15%);
  border: 0;
}

.modal-header {
	border-top-right-radius: 6px;
	border-top-left-radius: 6px;
}

.modal-body {
	padding: 40px;
}

/* CTeen Page
----------------------------------------------- */
.school-cteen-page .header__container,
.school-cteen-page .topbar { display: none!important; }
.school-cteen-page { --orange: #FB8112; --blue: #23C3E7; }
.school-cteen-page h2, .school-cteen-page h3, .school-cteen-page h4, .school-cteen-page h5,
.school-cteen-page a,
.school-cteen-page ul.menu-nav .sub-menu li a { color: var(--blue); }
.school-cteen-page a:hover,
.school-cteen-page ul.menu-nav li a:hover { color: var(--blue); }
.school-cteen-page ul.menu-nav .sub-menu li a:hover { color: #fff; background: var(--blue); }
.school-cteen-page li > .sub-menu { border-color: var(--blue); }
.school-cteen-page .header__menu { background-color: var(--orange); }
.school-cteen-page .text-red { color: var(--orange); }
.school-cteen-page .gan-btn-white { border-color: var(--blue); color: var(--blue); }
.school-cteen-page .gan-btn-red:before,
.school-cteen-page .gan-btn-white:before { color: var(--blue); }
.school-cteen-page .masthead-row { border-color: var(--orange); }
.school-cteen-page .program-tile { background-color: var(--blue); }
.school-cteen-page .bordered { background: rgba(255, 255, 255, 0.1); }

.school-cteen-page footer.footer { background: var(--blue); }
.school-cteen-page footer.footer a { color: #fff; }

.school-cteen-page .additional-links-wrap { background-image: url('assets/images/flower-bg-orange.jpg'); }



/* Responsive
----------------------------------------------- */


@media (max-width:  1140px) {
	.logo img { max-width: 300px; }
}

@media (max-width:  992px) {
	.logo img { max-width: 250px; }
}

@media (max-width: 562px) {
	.masthead-wrapper h3 { margin-left: 30px; }
	.masthead-wrapper-logo {
		width: 100%;
		margin-top: -20px; 
		margin-left: -10px;
	}
}




/* || Animations */
/* ------------------------------------------------ */

.anim-hide,
.anim-child {
  opacity: 0!important;
}

.masthead-fadeIn {
  animation: fadeIn;
  animation-delay: 1s;
}




.animate__fadeInRightSmall {
  -webkit-animation-name:fadeInRightSmall;
  -moz-animation-name:fadeInRightSmall;
  animation-name:fadeInRightSmall;
}

.animate__fadeInLeftSmall {
  -webkit-animation-name:fadeInLeftSmall;
  -moz-animation-name:fadeInLeftSmall;
  animation-name:fadeInLeftSmall;
}

@-webkit-keyframes fadeInRightSmall { from { opacity:0; transform: translateX(20px); } to { opacity:1; transform: translateX(0px); } }
@-moz-keyframes fadeInRightSmall { from { opacity:0; transform: translateX(20px); } to { opacity:1; transform: translateX(0px); } }
@keyframes fadeInRightSmall { from { opacity:0; transform: translateX(20px); } to { opacity:1; transform: translateX(0px); } }

@-webkit-keyframes fadeInLeftSmall { from { opacity:0; transform: translateX(-20px); } to { opacity:1; transform: translateX(0px); } }
@-moz-keyframes fadeInLeftSmall { from { opacity:0; transform: translateX(-20px); } to { opacity:1; transform: translateX(0px); } }
@keyframes fadeInLeftSmall { from { opacity:0; transform: translateX(-20px); } to { opacity:1; transform: translateX(0px); } }


.one {
  -webkit-animation-delay: 0.2s;
  -moz-animation-delay: 0.2s;
  animation-delay: 0.2s;
}

.two {
  -webkit-animation-delay: 0.35s;
  -moz-animation-delay: 0.35s;
  animation-delay: 0.35s;
}

.three {
  -webkit-animation-delay: 0.4s;
  -moz-animation-delay: 0.4s;
  animation-delay: 0.4s;
}

.four {
  -webkit-animation-delay: 0.5s;
  -moz-animation-delay: 0.5s;
  animation-delay: 0.5s;
}

.five {
  -webkit-animation-delay: 0.6s;
  -moz-animation-delay: 0.6s;
  animation-delay: 0.6s;
}