.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}/* Start custom CSS *//* GRO header behaviour. The gro-… class names are V4 global classes (Class Manager). */

/* Signed in or out: WordPress puts .logged-in on <body>. The editor shows both. */
body.logged-in:not(.elementor-editor-active) .gro-only-out,
body:not(.logged-in) .gro-only-in {
	display: none !important;
}

/* Desktop dropdowns open on hover and on keyboard focus. */
.gro-nav-item:hover > .gro-dd,
.gro-nav-item:focus-within > .gro-dd {
	opacity: 1;
	visibility: visible;
}
.gro-nav-item > .gro-nav-link::after {
	content: "";
	width: 6px;
	height: 6px;
	margin: -3px 0 0 2px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(45deg);
	transition: transform 0.15s;
}
.gro-nav-item:hover > .gro-nav-link::after,
.gro-nav-item:focus-within > .gro-nav-link::after {
	transform: translateY(3px) rotate(225deg);
}

/* The section you are in. */
body.gro-page:not(.gro-view-mock-exam):not(.gro-view-mock-attempt):not(.gro-view-pricing):not(.gro-view-dashboard):not(.gro-view-login):not(.gro-view-register):not(.gro-view-reset-password) .gro-nav-subjects > .gro-nav-link,
body.gro-view-mock-exam .gro-nav-mock,
body.gro-view-mock-attempt .gro-nav-mock,
body.gro-view-pricing .gro-nav-pricing,
body.page-id-104 .gro-nav-about > .gro-nav-link,
body.page-id-27816 .gro-nav-about > .gro-nav-link,
body.page-id-24520 .gro-nav-about > .gro-nav-link,
body.single-post .gro-nav-about > .gro-nav-link {
	background-color: color-mix(in srgb, var(--e-global-color-primary, #0004A1) 7%, transparent);
	color: var(--e-global-color-primary, #0004A1);
}

/* Keyboard focus. */
.gro-hdr a:focus-visible,
.gro-hdr summary:focus-visible {
	outline: 2px solid var(--e-global-color-primary, #0004A1);
	outline-offset: 2px;
}

/* Phone and tablet menu: a <details> toggle, so it works without JavaScript. */
.gro-hdr summary {
	list-style: none;
}
.gro-hdr summary::-webkit-details-marker {
	display: none;
}
.gro-burger {
	background-image: linear-gradient(currentColor, currentColor), linear-gradient(currentColor, currentColor), linear-gradient(currentColor, currentColor);
	background-position: center 14px, center 20px, center 26px;
	background-repeat: no-repeat;
	background-size: 20px 2px;
}
details[open] > .gro-burger {
	position: fixed;
	top: 10px;
	right: 16px;
	z-index: 10001;
	background-image: linear-gradient(45deg, transparent calc(50% - 1px), currentColor calc(50% - 1px), currentColor calc(50% + 1px), transparent calc(50% + 1px)), linear-gradient(-45deg, transparent calc(50% - 1px), currentColor calc(50% - 1px), currentColor calc(50% + 1px), transparent calc(50% + 1px));
	background-position: center;
	background-size: 20px 20px;
}
.gro-hdr:has(details[open] > .gro-burger) {
	z-index: 10000;
}
html:has(details[open] > .gro-burger) {
	overflow: hidden;
}
details[open] > .gro-mnav-panel {
	animation: gro-menu-in 0.2s ease-out;
}
@keyframes gro-menu-in {
	from { opacity: 0; transform: translateX(24px); }
	to { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) {
	details[open] > .gro-mnav-panel { animation: none; }
}

/* Groups inside the menu: a chevron that turns when open. */
.gro-mnav-group::after {
	content: "";
	flex: none;
	width: 8px;
	height: 8px;
	margin: -4px 6px 0 0;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(45deg);
	transition: transform 0.15s;
}
details[open] > .gro-mnav-group {
	color: var(--e-global-color-primary, #0004A1);
}
details[open] > .gro-mnav-group::after {
	margin-top: 4px;
	transform: rotate(225deg);
}

/* Staff see the WordPress admin bar; keep the menu below it. */
body.admin-bar .gro-mnav-panel { top: 32px; }
body.admin-bar details[open] > .gro-burger { top: 42px; }
@media (max-width: 782px) {
	body.admin-bar .gro-mnav-panel { top: 46px; }
	body.admin-bar details[open] > .gro-burger { top: 56px; }
}

/* A small arrow after the "All …" links. */
.gro-arrow::after {
	content: "";
	flex: none;
	width: 14px;
	height: 14px;
	background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 8h9.5M8.5 4l4 4-4 4'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 8h9.5M8.5 4l4 4-4 4'/%3E%3C/svg%3E") center / contain no-repeat;
	transition: transform 0.15s;
}
.gro-arrow:hover::after,
.gro-arrow:focus-visible::after {
	transform: translateX(3px);
}

/* Phones: the account button becomes a round icon; its "My dashboard" label stays for screen readers. */
@media (max-width: 767px) {
	.gro-hdr .gro-actions .gro-btn-primary {
		width: 44px;
		padding: 0;
		gap: 0;
		font-size: 0;
	}
	.gro-hdr .gro-actions .gro-btn-primary::before {
		content: "";
		width: 20px;
		height: 20px;
		background-color: currentColor;
		-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c0-4.4 3.6-8 8-8s8 3.6 8 8'/%3E%3C/svg%3E") center / contain no-repeat;
		mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c0-4.4 3.6-8 8-8s8 3.6 8 8'/%3E%3C/svg%3E") center / contain no-repeat;
	}
}/* End custom CSS */