/* Custom CSS */

body,
.jupiterx-site {
	overflow-x: hidden !important;
}

/* Header */
#utp-header {
	backdrop-filter: blur(2px);
	overflow: visible;
}
#utp-header > #menu-main.ue-menu > .menu-item > a {
	white-space: nowrap;
}
#utp-header #menu-main.ue-menu {
	flex-wrap: wrap;
	row-gap: 0px !important;
}
#utp-header .ue-menu > li > ul.sub-menu {
	/* top: 45px;*/
	transition: all 0.4s ease-in-out !important;
}
#utp-header .ue-menu > li > a {
	margin: 10px 0;
}
#utp-header .ue-menu > li > a:hover .ue-nav-menu-icon,
#utp-header .ue-menu > li:hover > a .ue-nav-menu-icon,
#utp-header .ue-menu li.menu-item-has-children:hover > a .ue-nav-menu-icon {
	transform: rotate(180deg);
}
#utp-header .ue-menu > li > .sub-menu > li .sub-menu {
	inset-inline-start: 210px !important;
}
@media (max-width: 1500px) {
	#utp-header #menu-main.ue-menu {
		gap: 30px;
	}
}
/* Hamburger Menu */
#utp-header .utp-side-nav .ue_menu {
	justify-content: flex-end !important;
}
#utp-header .utp-side-nav .ue_menu .ue_inner_menu-box {
	width: 356px !important;
	padding: 0 0 0 45px !important;
	height: calc(100% - 80px);
	margin: 0;
	overflow: hidden;
	justify-content: space-between;
}
#utp-header .utp-side-nav .ue_menu ul li a:hover {
	color: #ffffff !important;
}
#utp-header .search-icon .elementor-icon-wrapper,
#utp-header .ue_hamburger .ue_hamburger_custom_open,
.search-icon .elementor-icon {
	display: flex;
}
.menu-opened #utp-header .ue_hamburger .ue_hamburger_custom_close {
	display: flex !important;
}
.utp-side-nav .menu-opened {
	position: fixed !important;
	right: 50px !important;
	top: 40px !important;
}
.utp-side-nav .ue_menu-social-icons a:nth-child(4) {
	font-size: 20px !important;
}
.utp-side-nav .ue_menu-social-icons a:nth-child(4) svg path {
	fill: rgb(255 255 255);
}
body.menu-opened {
	overflow: hidden;
}
.utp-side-nav .ue_menu-social-icons {
	padding: 40px 0;
}
#utp-header .utp-side-nav .ue_menu .ue_inner_menu-box > div:nth-child(1),
#utp-header .utp-side-nav .ue_menu .ue_inner_menu-box > div:nth-child(4) {
	display: none;
}
#utp-header .utp-side-nav .ue_menu > div > div > div:nth-child(2) {
	overflow-y: hidden !important;
	overflow-x: hidden !important;
	height: calc(100% - 140px);
}
#utp-header .utp-side-nav .ue_menu .uc-list-menu {
	overflow-y: auto !important;
	height: 100%;
	width: 100%;
	box-sizing: content-box;
}
#utp-header .utp-side-nav .ue_menu .uc-list-menu::-webkit-scrollbar {
	display: none;
}
#utp-header .utp-side-nav .ue_menu .uc-list-menu {
	-ms-overflow-style: none; /* IE and Edge */
	scrollbar-width: none; /* Firefox */
}
body .jupiterx-header .ue_menu::after {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background: #16161666;
	transition: opacity 1s ease visibility 1s ease;
	visibility: hidden;
	opacity: 0;
	display: none;
}
body.menu-opened .jupiterx-header .ue_menu::after {
	visibility: visible;
	opacity: 1;
	display: block;
}
#utp-header .ue_menu .ue_inner_menu {
	z-index: 1;
	background: linear-gradient(
		49.48792778413099deg,
		rgb(18, 38, 75) 34.455%,
		rgb(12, 49, 92) 58.799%,
		rgb(0, 75, 133) 103.31%
	);
}
#utp-header .utp-side-nav .ue_menu ul > li > a:hover {
	color: var(--e-global-color-secondary) !important;
}
@media (max-width: 1024px) {
	.utp-side-nav .menu-opened {
		right: 20px !important;
		top: 30px !important;
	}
}

/* Navbar scroll hide/show */
body header .header-fixed {
	transition: all 0.35s ease;
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}
.header-fixed.page-scroll-down {
	opacity: 0;
	visibility: hidden;
	transform: translateY(-20px);
}
#utp-header::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	opacity: 0;
	pointer-events: none;
	transition: opacity 300ms ease;
	border-color: #ffffff00;
	background: linear-gradient(72deg, #12264b 34.45%, #0c315c 58.8%, #004b85 103.31%);
}
#utp-header.page-scroll-up::before {
	opacity: 1;
}
#utp-header.page-scroll-up {
	border-color: #ffffff00;
}

/* Primary CTA */
.primary-cta .elementor-button-icon svg {
	font-size: 16px;
}
.primary-cta .elementor-button,
.primary-cta .uc_btn {
	/*position: relative;
  overflow: hidden;
  background: var(--Secondary, #C88A12);*/
	white-space: nowrap;
}
.secondary-cta .elementor-button {
	white-space: nowrap;
}
.primary-cta,
.secondary-cta {
	display: flex;
}

/* Layout */
.max-width-1320 {
	max-width: 1320px !important;
}
.max-width-660 {
	max-width: 660px;
}

@media (max-width: 1024px) {
	.max-width-660 {
		max-width: 100% !important;
	}
}

/* Gradient BG */
.utp-gradient-bg {
	background: linear-gradient(71deg, #12264b 16.32%, #0c315c 46.95%, #004b85 102.95%);
}

/* Start - Section Background Line */
/* Line background section */
.elementor-element.line-img-bg {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	background: linear-gradient(
		49.48792778413099deg,
		rgb(18, 38, 75) 34.455%,
		rgb(12, 49, 92) 58.799%,
		rgb(0, 75, 133) 103.31%
	);
}
.elementor-element.line-img-bg.line-style-2 {
	background: linear-gradient(71deg, #12264b 16.32%, #0c315c 46.95%, #004b85 102.95%);
}
/* Shared pseudo-element setup */
.elementor-element.line-img-bg::before,
.elementor-element.line-img-bg::after {
	content: "" !important;
	position: absolute !important;
	inset: 0;
	z-index: 0;
	display: block;
	pointer-events: none;
	background-repeat: no-repeat;
}

/* Small diagonal artwork — left */
.elementor-element.line-img-bg::before {
	background-position: left top;
	background-size: auto 100%;
}
.elementor-element.line-img-bg.line-style-1::before {
	background-image: url("/wp-content/uploads/2026/09/utp-line-left-1.svg");
	background-size: auto 65%;
}
.elementor-element.line-img-bg.line-style-4::before {
	background-image: url("/wp-content/uploads/2026/09/utp-line-left-2.svg");
}

/* Large diagonal artwork — right */
.elementor-element.line-img-bg::after {
	background-position: right top;
	background-size: auto 100%;
}
.elementor-element.line-img-bg.line-style-1::after {
	background-image: url("/wp-content/uploads/2026/09/utp-line-right-1.svg");
	background-size: auto 95%;
}
.elementor-element.line-img-bg.line-style-2::after {
	background-image: url("/wp-content/uploads/2026/09/utp-line-right-2.svg");
}
.elementor-element.line-img-bg.line-style-3::after {
	background-image: url("/wp-content/uploads/2026/09/utp-line-right-3.svg");
}
.elementor-element.line-img-bg.line-style-4::after {
	background-image: url("/wp-content/uploads/2026/09/utp-line-right-4.svg");
}

/* Elementor content stays above the background artwork */
.elementor-element.line-img-bg > .e-con-inner,
.elementor-element.line-img-bg > .elementor-element {
	position: relative;
	z-index: 1;
}

/* Allow container to fit the content */
.utp-width-max-content,
.utp-policy-container,
.utp-icon-box {
	width: max-content;
}

@media (max-width: 767px) {
	/* Small diagonal artwork — left */
	.elementor-element.line-img-bg::before {
		display: none;
	}
}
/* End - Section Background Line */

/* Content reveal on hover section */
@media (min-width: 1025px) {
	.utp-card-hover .uc_overlay {
		height: 65% !important;
		margin: auto auto 0;
	}
	.utp-card-hover .uc_long_content_box_holder:hover .uc_overlay {
		height: 100% !important;
		margin: auto auto 0;
	}
	.utp-card-hover .uc_box_content .uc_box_content_open {
		transform: translateY(50%);
		bottom: calc(-50% + 60px);
		position: relative;
	}
	.utp-card-hover.content-end .uc_box_content .uc_box_content_open {
		transform: translateY(0%) !important;
		bottom: 0px !important;
		position: relative;
	}
	.utp-card-hover .uc_long_content_box_holder:hover .uc_box_content .uc_box_content_open {
		transform: translateY(-10%);
		bottom: 0;
	}
	.utp-card-hover.content-end
		.uc_long_content_box_holder:hover
		.uc_box_content
		.uc_box_content_open,
	.utp-card-hover.content-end .uc_long_content_box_box .uc_box_content {
		transform: translateY(0%) !important;
		bottom: 0 !important;
	}
	.utp-card-hover .uc_box_content .uc_hidden_content {
		transform: scaleY(1) !important;
	}
}
@media (max-width: 1440px) {
	.utp-card-hover .uc_btn {
		padding: 16px 20px 16px 20px;
	}
}
@media (max-width: 1024px) {
	.utp-card-hover .uc_btn {
		padding: 12px 16px 12px 16px;
	}
}

/* Hero banner section */
.utp-hero-banner {
	background-size: auto 100% !important;
	width: 60%;
}
.utp-hero-banner::before {
	background: linear-gradient(
		90deg,
		#12264b 0%,
		rgba(18, 38, 75, 0.7) 40%,
		rgba(18, 38, 75, 0) 100%
	);
}
.utp-hero-banner .banner-content > div {
	max-width: 640px;
}

/* Content Image Section */
#utp-content-image-section .elementor-widget-image {
	display: flex;
}

/*Academic pathway Cards */
.mt-auto {
	margin: auto 0 0 0 !important;
}

/*Accordion*/
.utp-accordion .e-n-accordion-item .e-closed {
	transform: rotate(90deg);
}
.utp-accordion .e-n-accordion-item .e-opened {
	transform: rotate(-90deg);
}
.utp-accordion .e-n-accordion-item-title {
	padding: 20px 0 !important;
}

/*Image card carousel*/
.utp-image-carousel .owl-carousel .owl-stage-outer {
	overflow: visible;
}
.utp-image-carousel .owl-carousel .uc_more_btn svg {
	fill: none !important;
	width: 16px !important;
	height: 16px !important;
	/*margin-left:12px;*/
}
.utp-image-carousel .ue-title,
.utp-image-carousel .ue-text,
.utp-image-carousel .ue-text p {
	margin: 0 !important;
}
.utp-image-carousel .uc_image_carousel_content-wrapper,
.utp-image-carousel .uc_image_carousel_content {
	gap: 8px;
	display: flex;
	flex-direction: column;
}
.utp-image-carousel .uc_image_carousel_placeholder::before {
	content: "" !important;
	position: absolute !important;
	inset: 0;
	z-index: 0;
	display: block;
	pointer-events: none;
	background-repeat: no-repeat;
	background: linear-gradient(180deg, rgba(0, 18, 41, 0) 28.57%, rgba(0, 18, 41, 0.7) 85.71%);
	height: 85%;
	margin: auto 0 0 0;
}
.utp-image-carousel .uc_button span {
	text-decoration: underline;
}

/* ==========================================================================
   Upcoming Events – Loop Grid (Unlimited Elements)
   Widget needs CSS class "utp-upcoming-event-grid" and Grid Type = Regular
   ========================================================================== */

.utp-upcoming-event-grid .ue-grid {
	display: flex !important;
	flex-wrap: wrap;
	gap: 0 !important;
}

/* 5+ items: 5 per row */
.utp-upcoming-event-grid .ue-grid > .ue-grid-item {
	flex: 0 0 20%;
	width: auto !important;
	max-width: none !important;
	border-right: 1px solid #dbdbdb;
}

/* 1–4 items: share the full width equally */
.utp-upcoming-event-grid .ue-grid > .ue-grid-item:first-child:nth-last-child(-n + 4),
.utp-upcoming-event-grid
	.ue-grid
	> .ue-grid-item:first-child:nth-last-child(-n + 4)
	~ .ue-grid-item {
	flex: 1 1 0;
}

/* no divider on the last card of each row */
.utp-upcoming-event-grid .ue-grid > .ue-grid-item:nth-child(5n),
.utp-upcoming-event-grid .ue-grid > .ue-grid-item:last-child {
	border: none;
}

/* mobile: stack, no dividers */
@media (max-width: 767px) {
	.utp-upcoming-event-grid .ue-grid > .ue-grid-item,
	.utp-upcoming-event-grid .ue-grid > .ue-grid-item:first-child:nth-last-child(-n + 4),
	.utp-upcoming-event-grid
		.ue-grid
		> .ue-grid-item:first-child:nth-last-child(-n + 4)
		~ .ue-grid-item {
		flex: 0 0 100%;
		border-right: none;
		border-bottom: 1px solid #dbdbdb;
	}
}

/* ==========================================================================
   Event Listing Page Template
   ========================================================================== */
.utp-template-hero {
	background: linear-gradient(to top right, #004b85 0%, #0c315c 50%, #12264b 100%);
}

/* hide Jupiter X page title bar on all archives */
.archive .jupiterx-main-header {
	display: none !important;
}

/* Programme archive: equal-width select filters */
.programme-select {
	width: 200px !important;
	max-width: 200px;
}

.programme-select .uc-select-filter__select-wrapper {
	flex: 1 1 auto;
	width: 100%;
}

.programme-select .uc-select-filter__select {
	width: 100% !important;
	padding-right: 40px; /* keeps text clear of the arrow */
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* Tablet: dropdowns share one row equally */
@media (max-width: 1024px) {
	.programme-select {
		width: auto !important;
		max-width: none;
		flex: 1 1 0;
		min-width: 0;
	}

	.utp-width-max-content > .programme-select {
		width: 200px !important;
		flex: none;
	}
}

/* Mobile: dropdowns stack full width */
@media (max-width: 767px) {
	.programme-select {
		width: 100% !important;
		flex: none;
	}
}

/* UTP brand gradient: dark navy → blue */
.utp-gradient {
	background: linear-gradient(to bottom right, #12264b 0%, #0c315c 50%, #004b85 100%);
}

/* UTP Featured Media */
.utp-featured-media .ue-post-tile,
.utp-featured-media .uc_post_list,
.utp-featured-media .ue-post-tile .gridItem {
	height: 100% !important;
}
.utp-featured-media .ue-post-tile .gridItem {
	min-height: 700px;
}
.utp-featured-media .ue-post-tile .gridItem .gridDescription {
	display: flex;
	flex-direction: column;
}
.utp-featured-media .ue-post-tile .gridItem .ue-tile-item-category {
	order: 1;
}
.utp-featured-media .ue-post-tile .gridItem .postTitle {
	order: 2;
}
.utp-featured-media .ue-post-tile .gridItem .postText {
	order: 3;
}
.utp-featured-media .ue-post-tile .gridItem .postDate {
	right: 40px !important;
	top: 45px !important;
	left: unset !important;
}
.utp-featured-media .uc_post_list_image {
	height: auto !important;
	position: relative;
	min-height: 207px;
}
.utp-featured-media .uc_post_list_image a {
	position: absolute;
	object-fit: cover;
	height: 100%;
	width: 100%;
}
.utp-featured-media .uc_post_list .ue-meta-data {
	position: absolute;
	top: 20px;
	right: 16px;
}
.utp-featured-media .uc_post_list .ue-grid-item-category,
.utp-featured-media .ue-tile-item-category {
	max-width: 60%;
	pointer-events: none !important;
}
.utp-featured-media .uc_post_list_content_inside {
	height: 100%;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}
.utp-featured-media .uc_post_list .uc_more_btn {
	margin: auto 0 0;
}
.utp-featured-media .gridItem .gridDescription .postLink a span,
.utp-featured-media .uc_more_btn span {
	text-decoration: underline;
}
.utp-featured-media .uc_post_list_box:last-child {
	border-bottom: none !important;
	padding: 0 !important;
}
@media (max-width: 1200px) {
	.utp-featured-media .ue-post-tile .gridItem .postDate {
		right: 20px !important;
		top: 25px !important;
	}
}
@media (max-width: 1024px) {
	.utp-featured-media .ue-post-tile .gridItem {
		min-height: 400px;
	}
	.utp-featured-media .uc_post_list .uc_post_list_content {
		position: relative;
	}
}

/* Level tabs: give the "All" item the same look as the other tabs */
.level-filter-desktop .ue_taxonomy_item.uc-item-all {
	background-color: transparent !important;
	color: var(--e-global-color-primary) !important;
}
.level-filter-desktop .ue_taxonomy_item.uc-item-all:hover {
	background-color: rgba(0, 0, 0, 0.1) !important;
}
.level-filter-desktop .ue_taxonomy_item.uc-item-all.uc-selected {
	background-color: var(--e-global-color-primary) !important;
	color: #fff !important;
}

/* Level tabs: the active tab keeps its look and can't be clicked again */
.level-filter-desktop .ue_taxonomy_item.uc-selected {
	background-color: var(--e-global-color-primary) !important;
	color: #fff !important;
	pointer-events: none;
}

/* Media Listing page */
.utp-listing-container .uc-select-filter,
.utp-listing-container .uc-select-filter__select-wrapper,
.utp-listing-container .uc-select-filter__select-wrapper select {
	height: 100% !important;
}
.utp-listing-container .utp-media-grid .uc_more_btn svg {
	fill: #c88a1200 !important;
	width: 16px !important;
	height: 16px !important;
}
.utp-listing-container .utp-media-grid .uc_more_btn .uc_btn_txt {
	text-decoration: underline;
}
.utp-listing-container .utp-media-grid .ue-meta-data {
	position: absolute;
	top: 43px;
	right: 20px;
}
.utp-listing-container .utp-media-grid .ue-grid-item-category {
	width: 70%;
}
.utp-listing-container .utp-media-grid .uc_content {
	position: relative;
}
.utp-listing-container .uc-search-filter__input,
.utp-listing-container .uc-select-filter__select {
	outline: none;
}
@media (max-width: 1024px) {
	.utp-listing-container .utp-media-grid .ue-meta-data {
		top: 23px;
	}
}

/*Link CTA Hover*/
.link-cta-hover a:hover svg path,
.utp-listing-container .utp-media-grid .uc_more_btn:hover svg path {
	stroke: #c98c13b3 !important;
}
.utp-featured-media .ue-post-tile a:hover svg path {
	stroke: #ffffffb3 !important;
}

.utp-icon-box {
	position: relative;
	cursor: pointer;
}

.utp-ul-bullet-point-grey,
.utp-go-inside {
	list-style: disc inside;
}

.gold-text {
	color: #c88a12;
}

/* ==========================================================
   Utility: .banner-mobile-hero
   Add "banner-mobile-hero" (no dot) in Elementor >
   Advanced > CSS Classes on the hero's content container.
   Mobile only (JupiterX breakpoint: 767px).
   ========================================================== */
@media (max-width: 767px) {
	.elementor .elementor-element.e-con.banner-mobile-hero {
		--position: relative;
		position: relative;
		top: -100px;
	}

	/*Code to hide the gradient*/
	/*
	.elementor .elementor-element.e-con.utp-hero-banner::before {
		--overlay-opacity: 0;
		opacity: 0;
		background: none;
	}
	*/

	.elementor .elementor-element.e-con.utp-hero-banner {
		background-size: 100% auto !important;
		background-position: center bottom !important;
	}
}

/* Solid header background (same as .header-fixed when showing) */
.header-gradient-bg {
	background: linear-gradient(90deg, #12264b 0%, #004b85 100%) !important;
	/*border-bottom: 1px solid #E8E8E8;*/
}

/*Master template 2 CSS*/
.utp-cta-section-icon {
	width: 32px;
	height: 32px;
}

.utp-image-container .elementor-widget-image {
	height: 100%;
}

.utp-subpage-card .elementor-widget-image {
	display: flex;
	width: 18px;
	height: 18px;
	align-items: center;
	justify-content: center;
}

.utp-subpage-icon-box:hover svg {
	opacity: 0.7;
	transition: 0.7;
}

/* hide Elementor's real title strip – still used behind the scenes */
.utp-discover .e-n-tabs-heading {
	display: none !important;
}

.utp-tabs {
	display: flex;
	gap: 40px;
}

.utp-tab {
	background: none !important;
	border: 0 !important;
	padding: 0 0 7px !important;
	cursor: pointer;
	color: rgba(255, 255, 255, 0.2) !important;
	border-bottom: 1px solid transparent !important;
}

.utp-tabs .utp-tab {
	background: none;
	border: 0;
	border-bottom: 1px solid transparent;
	border-radius: 0;
	padding: 0 0 7px;
	cursor: pointer;
	color: rgba(255, 255, 255, 0.2);
	font-family: "Open Sans", sans-serif;
	font-size: 18px;
	font-weight: 700;
	font-style: normal;
	line-height: 1.2;
	letter-spacing: 0;
}

.utp-tab.is-active,
.utp-tab:hover {
	color: #fff !important;
}
.utp-tab.is-active {
	border-bottom-color: #c88a12 !important;
}
/* .utp-tab:focus-visible {
    outline: ;
} */

.utp-tab:focus,
.utp-tab:focus-visible {
	outline: none;
	box-shadow: none;
}

/*Image Containers*/
.utp-visionaries .utp-image-container {
	aspect-ratio: 10 / 7;
}

.utp-visionaries .elementor-button {
	text-align: left;
}

.utp-sustainability:hover .elementor-heading-title {
	color: #fff !important;
}

.utp-ul-bullet-point-grey {
	list-style: disc inside;
}

@media (max-width: 767px) {
	.utp-tabs {
		display: flex;
		gap: 20px;
	}
}

.elementor-element-cade4a3 {
	pointer-events: none;
}
