@font-face {
	font-family: 'astoria';
	src: url('../fonts/astorialight-webfont.woff2') format('woff2'),
		url('../fonts/astorialight-webfont.woff') format('woff');
	font-weight: 200;
	font-style: normal;
}

@font-face {
	font-family: 'astoria';
	src: url('../fonts/astoriamedium-webfont.woff2') format('woff2'),
		url('../fonts/astoriamedium-webfont.woff') format('woff');
	font-weight: 500;
	font-style: normal;
}

@font-face {
	font-family: 'astoria';
	src: url('../fonts/astoriabold-webfont.woff2') format('woff2'),
		url('../fonts/astoriabold-webfont.woff') format('woff');
	font-weight: 700;
	font-style: normal;
}

* {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

body {
	font-family: 'astoria', serif;
	font-weight: 200;
	padding: 0;
	margin: 0;
	scroll-behavior: smooth;
}

html body .elementor-button,
html body .elementor-button:hover {
	color: #fff;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	/* font-family: "Cinzel", serif; */
	font-family: 'astoria', serif;
	font-optical-sizing: auto;
	font-weight: 200;
	font-style: normal;
	color: #7D253A;
}

body .e-n-tab-title-text {
	font-family: 'astoria', serif;
	font-weight: 200;
	font-style: normal;
}

body h1 {
	font-size: 5.5rem;
	line-height: calc(5.5rem + 0.5rem) !important;
}

body h2 {
	font-size: 4rem;
	line-height: calc(4rem + 0.5rem) !important;
}

body h3 {
	font-size: 3rem;
	line-height: calc(3rem + 0.5rem) !important;
}

body h4 {
	font-size: 2.25rem;
	line-height: calc(2.25rem + 0.5rem) !important;
}

body h5 {
	font-size: 1.8rem;
	line-height: calc(1.8rem + 0.5rem) !important;
}

body h6 {
	font-size: 1.5rem;
	line-height: calc(1.5rem + 0.5rem) !important;
}

body p {
	font-size: 1.25rem;
	line-height: calc(1.25rem + 0.5rem) !important;
}

body p.elementor-blockquote__content {
	line-height: 1.2 !important;
}

body .hentry li,
body .elementor-widget-text-editor li {
	font-size: 1.25rem;
	line-height: calc(1.25rem + 0.5rem) !important;
}


html,
body {
	overflow-x: inherit !important;
}

/* Improved Animations Stylesheet from https://element.how/elementor-improve-entrance-animations/ , works for the 'fade' animations */

@keyframes fadeDown {
	from {
		opacity: 0;
		transform: translate3d(0, -50px, 0)
	}

	to {
		opacity: 1;
		transform: none
	}
}

.elementor-element.fadeInDown {
	animation-name: fadeDown
}

@keyframes fadeLeft {
	from {
		opacity: 0;
		transform: translate3d(-50px, 0, 0)
	}

	to {
		opacity: 1;
		transform: none
	}
}

.elementor-element.fadeInLeft {
	animation-name: fadeLeft
}

@keyframes fadeRight {
	from {
		opacity: 0;
		transform: translate3d(50px, 0, 0)
	}

	to {
		opacity: 1;
		transform: none
	}
}

.elementor-element.fadeInRight {
	animation-name: fadeRight
}

@keyframes fadeUp {
	from {
		opacity: 0;
		transform: translate3d(0, 50px, 0)
	}

	to {
		opacity: 1;
		transform: none
	}
}

.elementor-element.fadeInUp {
	animation-name: fadeUp
}

/***
* class: .sticky-header
*/

header.sticky-header {
	--header-height: 100px;
	--shrink-header-to: 0.6;
	--transition: .45s cubic-bezier(.4, 0, .2, 1);
	/* background-color: rgba(244, 245, 248, 1); */
	transition: background-color var(--transition),
		/* backdrop-filter var(--transition), */
		box-shadow var(--transition),
		padding-top var(--transition),
		padding-bottom var(--transition);
	/* min-height: 140px; */
	padding-top: 20px;
	padding-bottom: 20px;
}

/***
* Sticky header activated
*/
header.sticky-header.elementor-sticky--effects {
	box-shadow: 0px 4px 33px 1px rgba(0, 0, 0, .07);
	/* background-color: rgba(244, 245, 248, .8);
	-webkit-backdrop-filter: saturate(180%) blur(20px);
	backdrop-filter: saturate(180%) blur(20px); */
	/*background-color: rgba(244, 245, 248, 1);*/
	background-color: #7d253a;
	/* min-height: 60px; */
	padding-top: 6px;
	padding-bottom: 6px;
}

header.sticky-header>.e-con-inner {
	min-height: var(--header-height);
	transition: min-height var(--transition);
}

header.sticky-header.elementor-sticky--effects>.e-con-inner {
	min-height: calc(var(--header-height) * var(--shrink-header-to));
}

/* header.sticky-header.elementor-sticky--effects .elementor-element {
	min-height: calc(var(--header-height) * var(--shrink-header-to));
} */

/***
* Shorter header on mobile (70px instead of 100px)
*/
@media only screen and (max-width: 767px) {
	header.sticky-header {
		--header-height: 70px;
	}
}

/***
* class: .logo
*/
header.sticky-header .logo img {
	transition: transform var(--transition), width var(--transition);
	transform-origin: center;
}

header.sticky-header.elementor-sticky--effects .logo img {
	/* transform: scale(.5); */
	width: 80px;
}

header.sticky-header.elementor-sticky--effects .logo svg path {
	/* fill: #7d253a !important; */
}


.sticky-header .elementor-nav-menu--dropdown.elementor-nav-menu__container {
	margin-top: 0;
}


/* start scrolll down arrow */

.home-scroll {
	position: absolute;
	bottom: 0;
	margin: auto;
	left: 0;
	right: 0;
}

#scroll-down {
	display: block;
	position: relative;
	padding-top: 79px;
	text-align: center;
	bottom: 40px;
}

.arrow-down {
	display: block;
	margin: 0 auto;
	width: 8px;
	height: 38px;
}

.arrow-down:after {
	content: '';
	display: block;
	margin: 0;
	padding: 0;
	width: 8px;
	height: 8px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	behavior: url(-ms-transform.htc);
	-moz-transform: rotate(135deg);
	-webkit-transform: rotate(135deg);
	-o-transform: rotate(135deg);
	-ms-transform: rotate(135deg);
	transform: rotate(135deg);
}

#scroll-title {
	display: block;
	text-transform: uppercase;
	color: #fff;
	font-family: Helvetica Neue, Helvetica, Arial;
	font-size: 14px;
	font-weight: bold;
	letter-spacing: 0.1em;
}

#scroll-down::before {
	-webkit-animation: elasticus 1.2s cubic-bezier(1, 0, 0, 1) infinite;
	/* Safari 4+ */
	-moz-animation: elasticus 1.2s cubic-bezier(1, 0, 0, 1) infinite;
	/* Fx 5+ */
	-o-animation: elasticus 1.2s cubic-bezier(1, 0, 0, 1) infinite;
	/* Opera 12+ */
	animation: elasticus 1.2s cubic-bezier(1, 0, 0, 1) infinite;
	/* IE 10+, Fx 29+ */
	position: absolute;
	top: 0px;
	left: 50%;
	margin-left: -1px;
	width: 2px;
	height: 86px;
	background: #fff;
	content: ' ';
}

@-webkit-keyframes elasticus {
	0% {
		-webkit-transform-origin: 0% 0%;
		-ms-transform-origin: 0% 0%;
		-moz-transform-origin: 0% 0%;
		-o-transform-origin: 0% 0%;
		transform-origin: 0% 0%;
		-webkit-transform: scale(1, 0);
		-ms-transform: scale(1, 0);
		-moz-transform: scale(1, 0);
		-o-transform: scale(1, 0);
		transform: scale(1, 0);
	}

	50% {
		-webkit-transform-origin: 0% 0%;
		-ms-transform-origin: 0% 0%;
		-moz-transform-origin: 0% 0%;
		-o-transform-origin: 0% 0%;
		transform-origin: 0% 0%;
		-webkit-transform: scale(1, 1);
		-ms-transform: scale(1, 1);
		-moz-transform: scale(1, 1);
		-o-transform: scale(1, 1);
		transform: scale(1, 1);
	}

	50.1% {
		-webkit-transform-origin: 0% 100%;
		-ms-transform-origin: 0% 100%;
		-moz-transform-origin: 0% 100%;
		-o-transform-origin: 0% 100%;
		transform-origin: 0% 100%;
		-webkit-transform: scale(1, 1);
		-ms-transform: scale(1, 1);
		-moz-transform: scale(1, 1);
		-o-transform: scale(1, 1);
		transform: scale(1, 1);
	}

	100% {
		-webkit-transform-origin: 0% 100%;
		-ms-transform-origin: 0% 100%;
		-moz-transform-origin: 0% 100%;
		-o-transform-origin: 0% 100%;
		transform-origin: 0% 100%;
		-webkit-transform: scale(1, 0);
		-ms-transform: scale(1, 0);
		-moz-transform: scale(1, 0);
		-o-transform: scale(1, 0);
		transform: scale(1, 0);
	}
}

@-moz-keyframes elasticus {
	0% {
		-webkit-transform-origin: 0% 0%;
		-ms-transform-origin: 0% 0%;
		-moz-transform-origin: 0% 0%;
		-o-transform-origin: 0% 0%;
		transform-origin: 0% 0%;
		-webkit-transform: scale(1, 0);
		-ms-transform: scale(1, 0);
		-moz-transform: scale(1, 0);
		-o-transform: scale(1, 0);
		transform: scale(1, 0);
	}

	50% {
		-webkit-transform-origin: 0% 0%;
		-ms-transform-origin: 0% 0%;
		-moz-transform-origin: 0% 0%;
		-o-transform-origin: 0% 0%;
		transform-origin: 0% 0%;
		-webkit-transform: scale(1, 1);
		-ms-transform: scale(1, 1);
		-moz-transform: scale(1, 1);
		-o-transform: scale(1, 1);
		transform: scale(1, 1);
	}

	50.1% {
		-webkit-transform-origin: 0% 100%;
		-ms-transform-origin: 0% 100%;
		-moz-transform-origin: 0% 100%;
		-o-transform-origin: 0% 100%;
		transform-origin: 0% 100%;
		-webkit-transform: scale(1, 1);
		-ms-transform: scale(1, 1);
		-moz-transform: scale(1, 1);
		-o-transform: scale(1, 1);
		transform: scale(1, 1);
	}

	100% {
		-webkit-transform-origin: 0% 100%;
		-ms-transform-origin: 0% 100%;
		-moz-transform-origin: 0% 100%;
		-o-transform-origin: 0% 100%;
		transform-origin: 0% 100%;
		-webkit-transform: scale(1, 0);
		-ms-transform: scale(1, 0);
		-moz-transform: scale(1, 0);
		-o-transform: scale(1, 0);
		transform: scale(1, 0);
	}
}

@-o-keyframes elasticus {
	0% {
		-webkit-transform-origin: 0% 0%;
		-ms-transform-origin: 0% 0%;
		-moz-transform-origin: 0% 0%;
		-o-transform-origin: 0% 0%;
		transform-origin: 0% 0%;
		-webkit-transform: scale(1, 0);
		-ms-transform: scale(1, 0);
		-moz-transform: scale(1, 0);
		-o-transform: scale(1, 0);
		transform: scale(1, 0);
	}

	50% {
		-webkit-transform-origin: 0% 0%;
		-ms-transform-origin: 0% 0%;
		-moz-transform-origin: 0% 0%;
		-o-transform-origin: 0% 0%;
		transform-origin: 0% 0%;
		-webkit-transform: scale(1, 1);
		-ms-transform: scale(1, 1);
		-moz-transform: scale(1, 1);
		-o-transform: scale(1, 1);
		transform: scale(1, 1);
	}

	50.1% {
		-webkit-transform-origin: 0% 100%;
		-ms-transform-origin: 0% 100%;
		-moz-transform-origin: 0% 100%;
		-o-transform-origin: 0% 100%;
		transform-origin: 0% 100%;
		-webkit-transform: scale(1, 1);
		-ms-transform: scale(1, 1);
		-moz-transform: scale(1, 1);
		-o-transform: scale(1, 1);
		transform: scale(1, 1);
	}

	100% {
		-webkit-transform-origin: 0% 100%;
		-ms-transform-origin: 0% 100%;
		-moz-transform-origin: 0% 100%;
		-o-transform-origin: 0% 100%;
		transform-origin: 0% 100%;
		-webkit-transform: scale(1, 0);
		-ms-transform: scale(1, 0);
		-moz-transform: scale(1, 0);
		-o-transform: scale(1, 0);
		transform: scale(1, 0);
	}
}

@keyframes elasticus {
	0% {
		-webkit-transform-origin: 0% 0%;
		-ms-transform-origin: 0% 0%;
		-moz-transform-origin: 0% 0%;
		-o-transform-origin: 0% 0%;
		transform-origin: 0% 0%;
		-webkit-transform: scale(1, 0);
		-ms-transform: scale(1, 0);
		-moz-transform: scale(1, 0);
		-o-transform: scale(1, 0);
		transform: scale(1, 0);
	}

	50% {
		-webkit-transform-origin: 0% 0%;
		-ms-transform-origin: 0% 0%;
		-moz-transform-origin: 0% 0%;
		-o-transform-origin: 0% 0%;
		transform-origin: 0% 0%;
		-webkit-transform: scale(1, 1);
		-ms-transform: scale(1, 1);
		-moz-transform: scale(1, 1);
		-o-transform: scale(1, 1);
		transform: scale(1, 1);
	}

	50.1% {
		-webkit-transform-origin: 0% 100%;
		-ms-transform-origin: 0% 100%;
		-moz-transform-origin: 0% 100%;
		-o-transform-origin: 0% 100%;
		transform-origin: 0% 100%;
		-webkit-transform: scale(1, 1);
		-ms-transform: scale(1, 1);
		-moz-transform: scale(1, 1);
		-o-transform: scale(1, 1);
		transform: scale(1, 1);
	}

	100% {
		-webkit-transform-origin: 0% 100%;
		-ms-transform-origin: 0% 100%;
		-moz-transform-origin: 0% 100%;
		-o-transform-origin: 0% 100%;
		transform-origin: 0% 100%;
		-webkit-transform: scale(1, 0);
		-ms-transform: scale(1, 0);
		-moz-transform: scale(1, 0);
		-o-transform: scale(1, 0);
		transform: scale(1, 0);
	}
}

#paschka {
	display: block;
	color: white;
	font-family: helvetica neue, helvetica, arial;
	font-size: 32px;
	text-decoration: none;
	position: fixed;
	bottom: 0px;
	right: 0px;
	padding: 0px;
	transition: all 0.1s ease;
	background: #000;
	height: 40px;
	line-height: 30px;
	vertical-align: middle;
	width: 40px;
	text-align: center;
	border-radius: 5%;
	bottom: 20px;
	right: 20px;
}

#paschka:hover {
	background: #232323;
	transition: all 0.1s ease;
	color: #f0f0f0;
}

/* end scrolll down arrow */

.header-search .elementor-icon {
	display: block;
}

.main-footer * {
	color: #7d253a;
}

.home-uniq h3 {
	margin-top: 15px;
}

.ue-timeline-list .ue_item {
	align-items: center;
}

.cc-table thead td {
	background: #7D253A;
	color: #fff;
}

.elementor-widget-text-editor td {
	padding: 14px 10px;
}

.elementor-widget-text-editor tbody tr:nth-child(even) {
	background: #eee;
}

.elementor-posts--skin-classic .elementor-post__title a {
	display: block;
	line-height: 1.2;
	margin-bottom: 8px;
}

/* #elementor-popup-modal-1604 .dialog-widget-content {
	width: 100%;
}

body #elementor-popup-modal-1604 .dialog-message {
	width: 100%;
} */

#elementor-popup-modal-1604 .dialog-close-button {
	font-size: 40px;
	color: #fff;
	background: url(../images/close-icon-white.svg) no-repeat;
	background-size: contain;
}

#elementor-popup-modal-1604 .dialog-close-button svg {
	fill: #fff;
	opacity: 0;
}

.dialog-close-button {
	font-size: 40px;
	color: #fff;
	background: url(../images/close-icon-red.svg) no-repeat;
	background-size: contain;
}

.dialog-close-button svg {
	fill: #fff;
	opacity: 0;
}

[data-elementor-type="section"] {
	overflow-x: hidden;
}

.e-parent {
	overflow-x: hidden;
	overflow-y: hidden;
}

.elementor-widget-text-editor strong {
	font-weight: 400;
}

.where_next_title {
	margin-top: 20px;
	padding-right: 25px;
}

.elementor-shortcode {
	overflow-x: hidden;
}

.team_popup_right h3 {
	margin-bottom: 15px;
	margin-top: 0px;
}

.team_popup_right p.al-role {
	color: #7D253A;
	padding-bottom: 10px;
	padding-top: 10px;
	border-bottom: 1px solid #ccc;
	margin-bottom: 25px !important;
	border-top: 1px solid #ccc;
}

.where_next_img {
	position: relative;
}

.where_next_img a {
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	z-index: 9;
}

.elementor-element figure {
	margin-left: 0;
}

.elementor-element figure figcaption {
	font-style: italic;
}

.team_popup_left .popup_img {
	min-width: 300px;
}

.frm_message p {
	margin-top: 10px;
}

img {
	pointer-events: none;
}

/**------ WPML Language Switcher ------**/

#switcher-sc .elementor-shortcode,
#sub-switcher-sc .elementor-shortcode {
	overflow: visible;
}

#switcher-sc .wpml-ls-legacy-dropdown-click, 
#sub-switcher-sc .wpml-ls-legacy-dropdown-click {
    width: 9em;
}

#switcher-sc .wpml-ls-item-toggle, 
#sub-switcher-sc .wpml-ls-item-toggle {
	display: flex;
   background-color: transparent;
   border: 1px solid #FFF;
	padding: 12px 32px 7px 12px;
}

#switcher-sc a.wpml-ls-item-toggle::after, 
#sub-switcher-sc a.wpml-ls-item-toggle::after {
	content: '';
	background-image: url(/wp-content/uploads/2025/07/down-arrow.png);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	border: none;
	font-size: 0;
	line-height: 0;
	width: 20px;
	height: 20px;
	transform: translateY(-50%);
	top: 50%;
	right: 12px;
	filter: brightness(0) invert(1);
}

#switcher-sc .wpml-ls-item-toggle .wpml-ls-native, 
#sub-switcher-sc .wpml-ls-item-toggle .wpml-ls-native {
	color: #FFF;
	font-size: 1.2em;
   line-height: 1;
}

/**------ Header ------**/

header .elementor-widget-ucaddon_fullscreen_navigation_menu .uc-list-menu .wpml-ls-item {
	width: fit-content;
   display: inline-flex !important;
	margin: 0 5px 5px !important;
}

header .elementor-widget-ucaddon_fullscreen_navigation_menu .uc-list-menu .wpml-ls-item > a {
	font-size: 1.2em !important;
	line-height: 1 !important;
}

#elementor-popup-modal-4852 .dialog-close-button {
	font-size: 40px;
	color: #fff;
	background: url(../images/close-icon-white.svg) no-repeat;
	background-size: contain;
}

#elementor-popup-modal-4852 .dialog-close-button svg {
	fill: #fff;
	opacity: 0;
}

/**------ Fees ------**/
.school-fees-form .frm_section_spacing{
	display: none;
}

.calc-fee, a.frm_start_over{
    width: fit-content;
    font-size: 19px !important;
    height: auto;
    line-height: normal;
    text-align: center;
    background: rgba(125, 37, 58, 1);
    border-width: 1px;
    border-color: #7d253a;
    border-style: solid;
    color: #ffffff !important;
    cursor: pointer;
    font-weight: normal;
    border-radius: 4px;
    text-shadow: none;
    padding: 10px 20px;
    box-sizing: border-box;
    box-shadow: 0 1px 1px #eeeeee;
    margin: 10px;
    margin-left: 0;
    margin-right: 0;
    vertical-align: middle;
	font-family: 'Arial';
}

:is(.calc-fee, a.frm_start_over):hover{
	background: #efefef;
    border-color: #cccccc;
    color: #444444 !important;
}

.school-fees-form .frm_form_fields .frm_section_heading.fees-ctn, .school-fees-form .hidden-fees{
	display: none;
}

.school-fees-form .frm_submit {
	margin-top: 20px;
    display: flex;
    align-items: center;
    gap: 20px;
    justify-content: center;
}

.fee-result {
	background: #f8f6f2;
	padding: 20px 20px 30px;
	border-radius: 8px;
}

.fee-table {
	width: 100%;
	border-collapse: collapse;
	margin-top: 15px;
}

.fee-table th {
	background: #B49247;
	color: #fff;
	padding: 10px;
    font-size: 1.25rem;
    line-height: calc(1.25rem + 0.5rem) !important;
    font-weight: 300;
}

.fee-table td {
	padding: 8px 10px;
    font-size: 1.25rem;
    line-height: calc(1.25rem + 0.5rem) !important;
    font-weight: 300;
}

.small-note {
	font-size: 0.9em;
	line-height: 20px !important;
	color: #555;
}

.fee-notice{
	background: #fff3cd;
	border: 1px solid #ffeeba;
	padding: 20px;
	border-radius: 8px;
	color: #856404;
}

.deposit-table td{
    font-size: 1.25rem;
    line-height: calc(1.25rem + 0.5rem) !important;
    font-weight: 300;
}

.deposit-table td:not(:first-child){
	text-align: center;
}

.sd-table td{
	background-color: #eeeeee;
}

.hidden{
	display: none;
}

.vertical_radio .frm_opt_container {
    gap: 15px;
}

@media (max-width: 767px) {

	.where_next_wrap h2 {
		margin-bottom: 0;
	}

	body .where_next .where_next_box .where_next_img {
		margin-top: 20px;
	}

	body .pop-search .e-search-form {
		flex-direction: column;
	}

	.pop-search .e-search-submit {
		margin-left: 0 !important;
		margin-top: 15px;
		text-align: center;
		justify-content: center;
	}

	body h1 {
		font-size: 3.65rem;
		line-height: calc(3.65rem + 0.5rem) !important;
	}

	body h2 {
		font-size: 2.8rem;
		line-height: calc(2.8rem + 0.5rem) !important;
	}

	body h3 {
		font-size: 2.1rem;
		line-height: calc(2.1rem + 0.5rem) !important;
	}

	body h4 {
		font-size: 1.7rem;
		line-height: calc(1.7rem + 0.5rem) !important;
	}

	body h5 {
		font-size: 1.55rem;
		line-height: calc(1.55rem + 0.5rem) !important;
	}

	body h6 {
		font-size: 1.4rem;
		line-height: calc(1.4rem + 0.5rem) !important;
	}

	body p, .fee-table th, .fee-table td, .deposit-table td {
		font-size: 1.2rem;
		line-height: calc(1.2rem + 0.5rem) !important;
	}

	body p.elementor-blockquote__content {
		line-height: 1.2 !important;
	}

	body .hentry li,
	body .elementor-widget-text-editor li {
		font-size: 1.2rem;
		line-height: calc(1.2rem + 0.5rem) !important;
	}

	#scroll-down {
		bottom: 15px;
	}

}



@media only screen and (min-width:1025px){
	header .elementor-widget-ucaddon_fullscreen_navigation_menu .uc-list-menu .wpml-ls-item {
		display: none !important;
	}
}

@media only screen and (max-width:767px){
	header .elementor-widget-ucaddon_fullscreen_navigation_menu .uc-list-menu .wpml-ls-item > a {
		font-size: 1em !important;
	}
}

.otgs-development-site-front-end {
	display: none;
}

