﻿* {margin:0; padding:0; border:none; box-sizing:border-box; -moz-box-sizing:border-box;}

/* GLOBAL */

/*
.tab-focus						{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden;}
.tab-focus:focus,
.tab-focus:focus-visible		{outline:3px solid #fd0 !important;outline-offset:0;position:relative;z-index:100000 !important;box-shadow:inset 0 0 0 2px;border-color:#000 !important;background-color:#fd0 !important;color:#000 !important;fill:#000 !important;padding:10px;position:fixed;top:3px;left:3px;height:50px;width:-webkit-max-content;width:-moz-max-content;width:max-content;}
.tab-focus:focus svg,
.tab-focus:focus-visible svg 	{fill:#000 !important;}
*/
.mobile-only {display: none;}

html 	{}
body 	{line-height:1; font-family: 'Montserrat', sans-serif; text-rendering: optimizeLegibility;  -webkit-font-smoothing: antialiased;  -moz-osx-font-smoothing: grayscale; color:#2f3235}

h1		{}
h2		{font-size: 26px; line-height: 32px;}
h3		{}
h4		{}
h5		{}
h6		{}

ul,
ol,
p		{font-weight: 500; font-size: 15px; line-height: 24px; margin-bottom: 1em}

ul,
ol		{margin: 1em}

strong  {font-weight: 700;}

ul,
ol		{}

section.pt-0	{padding-top: 0 !important}
section.pb-0	{padding-bottom: 0 !important}
section.pt-20	{padding-top: 20px !important}
section.pb-20	{padding-bottom: 20px !important}
section.pt-40	{padding-top: 40px !important}
section.pt-40	{padding-bottom: 40px !important}

.section-mb	{margin-bottom: 90px;}

.cols	{display: flex; width: calc(100% + 32px); margin-left: -16px;}
.col	{padding: 16px;}

.cols.span-2 .col		{width: 50%;}
.cols.span-3 .col		{width: 33.333%;}
.cols.span-4 .col		{width: 25%;}
.cols.span-flex .col	{flex: 1; flex-shrink: 0}

img     {max-width:100%; height:auto;}
a       {color:inherit; text-decoration: none}
a.cover {position:absolute; left:0; top:0; width:100%; height:100%; background-color:rgba(255,255,255,0); display:block; z-index: 5; transition: 0.2s ease-in-out;}

a.cover:hover {background-color: rgba(255,255,255,.2);}

.inner 			{width:1166px; max-width:100%; padding: 0 16px; margin:0 auto; }
.inner-narrow	{width: 720px;}

.home	{background-color: #FBFBFB}

.hidden {display: none;}

section.button	{padding:0 0 80px 0}

/* HEADER */
header			{background-color:#34516c; padding-top: 1px; position: relative; z-index: 20}
header ul		{list-style: none; margin: 0}
header:before	{display: none; background-image: url(/_uploads/page-images/student-centre-header.jpeg); background-position: center center; background-repeat: no-repeat; background-size: cover; filter: grayscale(1); opacity: 0.1; position: fixed; content: ""; width: 100vw; min-height: 100vh; z-index: -1;}

/* HEADER TOP */
.header-top				{display: flex; justify-content: space-between; align-items: center}
.site-logo-container	{margin:14px 0; display: block}
.site-logo				{min-width: 152px; min-height: 80px;}
.site-logo-mb			{display: none}

.header-top ul					{display: flex; font-size: 15px;}
.header-top ul li				{padding:3px 20px; border-left: 1px solid rgba(255,255,255,0.5);}
.header-top ul li a				{color: #ffffff;}
.header-top ul li a:hover		{text-decoration: underline}
.header-top ul li:last-child	{padding-right: 0}
.header-top ul li:first-child	{border: none; padding-left: 0;}

/* NAV CONTAINER */
.nav-container			{border-top: 1px solid rgba(255, 255, 255, 0.5); display: flex; justify-content: space-between}
nav ul					{display: flex;  font-size: 18px; margin: 0}
nav ul li				{margin-right: 8px;}
nav ul li > a			{display: flex; align-items: center; padding:16px 16px; font-weight: 600; color: #ffffff;}
nav ul li > a svg		{flex-shrink: 0; width: 14px; height: 14px; fill:#ffffff; opacity: .5; margin-left: 6px; transition: 0.2s ease-out}
nav ul li > a:hover		{background: rgb(238, 240, 241); color: rgb(52, 81, 108);}
nav ul li > a:hover svg	{fill: rgb(52, 81, 108);}

nav ul li.active > a		{background-color: #ffffff; color: #34516c;}
nav ul li.active > a svg	{fill: rgb(52, 81, 108); transform: rotate(-180deg)}
nav ul li.active > a:hover	{background: rgb(238, 240, 241); color: rgb(52, 81, 108); fill: rgb(52, 81, 108);}

nav ul li.active .menu-dropdown-container	{display: block}

.secondary-nav ul				{display: flex; height: 100%;}  
.secondary-nav svg				{width: 22px; height: 22px; fill:#ffffff}
.secondary-nav li				{height: 100%;}
.secondary-nav li a				{padding: 0 16px; display: inline-flex; align-items: center; justify-content: center; height: 100%;}   
.secondary-nav li a:hover		{background-color: #ffffff;}
.secondary-nav li a:hover svg	{fill: rgb(52, 81, 108);}
.secondary-nav li:last-child	{margin-left: 4px;}

/* SEARCH DROPDOWN */
.search-dd-container							{padding: 64px 16px; display: flex; flex-direction: column; align-items: center;}
.search-container								{display: flex; justify-content: space-between; position: relative; align-items: center;width: 700px; max-width: 100%; height: 80px; margin: auto; border-radius: 100px; border: 2px solid rgb(199, 203, 218); background-color: rgb(227, 229, 236);}
.search-container input[type="text"]			{width:100%; font-size: 18px; font-weight: 700; color: #000000; padding-left: 32px; height: 80px; border-radius: 100px 0px 0px 100px; border: none; background-color: rgba(0,0,0,0)}
.search-buttons									{display: flex;}
.search-buttons button							{width: 48px; height: 48px; border-radius: 48px; display: flex; justify-content: center; align-items: center; margin: 0 16px 0 0;}
.search-buttons button .search-icon-close		{fill:#000000; width: 16px;}	
.search-buttons button.site-search-button		{background-color: rgb(0, 127, 176)}	
.search-buttons button.site-search-button svg	{width: 16px; fill:#ffffff}

.search-filter-container		{margin-top: 15px;}
.search-filter-top				{display: flex; justify-content: center; align-items: baseline}
.search-filter-top label		{font-size: 18px; line-height: 22px; text-align: right; color: rgb(47, 50, 53); flex-shrink: 0; font-weight: 700; margin-right: 8px;}
.select-css						{width:140px; max-width: 100%; color: rgb(4, 126, 175); appearance: none; font-size: 14px; line-height: 20px; display: block; height: 40px; border-radius: 40px; padding: 0px 16px; margin-top: 8px; background: rgb(255, 255, 255); border: 1px solid rgb(224, 224, 224); cursor: pointer; font-weight: bold !important;
								background-image: url(/_uploads/_assets/select-arrow.svg); background-repeat: no-repeat; background-size: 12px auto; background-position: right 20px center}
.search-toggle					{cursor: pointer}
.search-toggle-close			{display: none}
.search-toggle-close 			{fill:#34516c !important}

.search-toggle.active			{background-color: #ffffff;}
.search-toggle.active .search-toggle-search	{display: none}
.search-toggle.active .search-toggle-close	{display: block}
.search-toggle.active:hover		{background: rgb(238, 240, 241);}

.contextual-list		{display: flex; justify-content: center; font-weight: 500; margin-top: 25px;}
.contextual-list li		{margin: 0 5px;}
.contextual-list li a	{color:#047eaf; padding: 0; text-decoration: underline;}

.saved-toggle-close									{display: none}
.saved-courses-toggle.active .saved-toggle-close	{display: block}
.saved-courses-toggle.active .saved-toggle-heart	{display: none}


.saved-courses-toggle span	{font-size: 18px; color: #ffffff; font-weight: 700; margin-left: 5px;}
a.saved-courses-toggle:hover span	{color: #34516c}


.menu-dropdown-container.saved-courses-dd-container h2		{font-size: 36px; margin-bottom: 0.5em}
.menu-dropdown-container.saved-courses-dd-container .inner	{flex-direction: column}
.menu-dropdown-container.saved-courses-dd-container ul		{font-size: 20px; margin: 0; column-count: 1; display: block}
.menu-dropdown-container.saved-courses-dd-container ul li	{margin: 10px 0 !important}
.menu-dropdown-container.saved-courses-dd-container ul li a	{padding: 0; color: #047eaf; text-decoration: underline;}

/* MENU DROPDOWN CONTAINER */
.menu-dropdown-container		{position: absolute; background-color: #ffffff; padding: 80px 0; width: 100%; left: 0; display: none}
.menu-dropdown-container .inner	{display: flex; justify-content: space-between; position: relative;}

.menu-close			{position: absolute; right:20px; top:-65px; width: 40px; height: 40px; border-radius: 40px; display: inline-flex; justify-content: center; align-items: center; border:2px solid rgba(158,23,31,0); cursor: pointer; z-index: 999999}
.menu-close svg		{fill:#34516c; width: 16px; height: auto;}
.menu-close:hover	{border:2px solid #34516c;}

.menu-card			{padding: 0 80px; flex-basis: 50%}
.menu-card-divide	{border-right: 2px solid rgb(209, 211, 225);}

.menu-buttons		{flex-direction: column}
.menu-buttons li	{margin-bottom: 30px;}
.menu-buttons li:last-child	{margin-bottom: 0}

.secondary-menu-buttons					{flex-direction: column;}
.secondary-menu-buttons li a 			{color:rgb(4, 126, 175); font-weight: 500; font-size: 18px; padding: 0 0 15px 0}
.secondary-menu-buttons li a:hover		{color:rgb(4, 126, 175); text-decoration: underline; background-color: transparent;}
/*.secondary-menu-buttons li:first-child a	{font-weight:700;}*/
.secondary-menu-buttons li:last-child a	{padding-bottom: 0}

/* MENU DROPDOWN CONTAINER STYLE 2 */
.menu-dropdown-container-style-2 		{}
.menu-dropdown-container-style-2 h2		{font-family: Anton, sans-serif; font-size: 58px; line-height: 64px; padding-bottom: 16px; color: rgb(52, 81, 108); font-weight: 500; text-transform: uppercase;}
.menu-dropdown-container-style-2 h3		{font-family: 'Montserrat', sans-serif; color: #047eaf; font-size: 28px; margin-bottom: 1em; font-weight: 700}
.menu-dropdown-container-style-2 h4		{font-family: 'Montserrat', sans-serif; color: #34516c; font-size: 22px; margin-bottom: 1em; font-weight: 700; line-height: 1.2em}
.menu-dropdown-container-style-2 hr		{width: 60px; border-top:2px solid #f2be1a; display: block; margin:40px 0 30px 0}

.menu-dropdown-container-style-2 .secondary-menu-buttons li a 		{text-decoration: underline}
.menu-dropdown-container-style-2 .secondary-menu-buttons li a:hover	{color: rgb(52, 81, 108);}

.nav-pullout-image-container	{position: absolute; right: 0; top: 80px; width: 50%; height: calc(100% - 160px); overflow: hidden; border-radius: 120px 0 0 120px; background-size: cover; background-position: center;}

/* THE WIDTH OF THE HOMEPAGE LEFT COL */
.col-width	{width: 756px; max-width: 100%;}

/* FADER CAROUSEL CONTAINER */
.fader-carousel-container	{position:relative;margin-top:-150px;}
.fader-carousel-container .inner	{display: flex; align-items: flex-end; height: 100%;}
section.course-search-input {z-index: 10;}



/* HOME COURSE SEARCH */
.course-search-container		{margin-bottom: 60px;}
.csc-inner						{display: flex; height: 82px; justify-content: space-between; background-color: #ffffff;}
.csc-inner input[type="text"]	{flex: 1; padding: 24px 32px; font-weight: 500; font-size: 18px;}
.csc-inner button				{flex-shrink: 0; width: 82px; background-color: #047eaf; display: flex; justify-content: center; align-items: center; fill:#ffffff}
.csc-inner button svg			{width: 24px;}
.csc-inner button:hover			{background-color: #34516c}

/* TEXT BUTTON CARD */
.text-buttons-card-section  {position:relative;}
.text-buttons-card			{background-color:#047eaf; padding: 20px 34px; color: #ffffff; margin-top: -40px; margin-bottom: 24px;}
.text-buttons-card h2		{font-family: 'Montserrat', sans-serif; font-size: 26px; font-weight: 700; margin-bottom: 0.75em}
.text-buttons-card .buttons	{margin-top: 22px;}

/* BIG CARD SMALL CaRD */
.big-card-small-card-section .col					{flex-shrink: 0; padding: 0; width: 66.6667%;}
.big-card-small-card-section .col.col-width-small	{flex: 1}
.big-card-small-card-section .cols					{justify-content: space-between; width: 100%; margin: auto}

.listing-card							{position: relative; overflow: hidden; height: 100%; display: flex; flex-direction: column}
.listing-card .listing-card-text		{display: flex; flex-direction: column; justify-content: space-between; padding: 30px; flex: 1; border-top:2px solid #C01721}
.listing-card .listing-card-text h2		{font-family: 'Montserrat', sans-serif; font-size: 26px; line-height: 32px; font-weight: 500}
.listing-card .listing-card-text p		{margin-bottom: 0}
.listing-card .lct-bottom,
.listing-card .lct-bottom p				{line-height: 1.4em;}

.listing-card .listing-card-image-outer	{overflow: hidden;}
.listing-card .listing-card-image		{padding-top: 79.7979797979798%; background-size: cover; background-position: center; transition: 0.3s ease-out}

/* LISTING CARD BIG */
.listing-card.big .listing-card-image		{padding-top: 79.6875%; background-size: cover; background-position: center;}
.listing-card.big .listing-card-text		{width:60%; min-height: 222px; position: absolute; bottom: 0; left: 0;}
.lct-bottom									{margin-top: 20px;}

.listing-card:after						{position: absolute; left: 0; top:0; width: 100%; height: 100%; background-color: #000000; content: ''; visibility: hidden; opacity: 0; transition: 0.3s}
.listing-card:hover:after				{opacity: 0.1; visibility: visible}
.listing-card:hover .listing-card-image	{transform: scale(1.02)}

/* FULL WIDTH SPLIT CARD */
.full-width-split-card	{display: flex; background-color: #f76601}
.fwsc-text				{width:37.8%; flex-shrink: 0; padding: 42px; display: flex; flex-direction: column; justify-content: center; position: relative;}
.fwsc-text h2			{font-family: Anton, sans-serif; font-weight: normal; color: #ffffff; font-size: 50px; line-height: 57px; margin-bottom: 30px; text-transform: uppercase}
.fwsc-text-shape		{content: ""; background-repeat: no-repeat; background-position: 0% 100%; background-size: contain; height: 15%; width: 100%; position: absolute; left: 0px; bottom: 0px; background-image: url(/_uploads/_assets/cropped-o-gold.png)}
.fwsc-image				{min-height: 490px; flex: 1; flex-shrink: 0; background-size: cover; background-position: center;}

/* BREADCRUMBS */
.breadcrumbs						{width:100%; position: absolute; left: 0; top: 30px; display: flex; justify-content: space-between; align-items: baseline; padding: 0 16px;}
.breadcrumbs ul						{color: #ffffff; font-size: 14px; font-weight: 500; display: flex; list-style: none; padding: 9px 12px 9px 0; margin: 0}
.breadcrumbs ul	li a				{color: #ffffff; text-decoration: underline; padding: 3px;}
.breadcrumbs ul	li:after			{display: inline-block; content: '>'; margin: 0 5px;}
.breadcrumbs ul	li:last-child:after	{display: none}
.breadcrumbs ul	li a:hover			{background-color: #a1d3f2; color: #34516c}

.save-btn	{margin-left: 20px; flex-shrink: 0}


/* CONTENT HERO IMAGE SECTION */

.content-hero-container,
.content-hero-image-section			{display: flex; background-position:center; background-size: cover; min-height: 485px; position: relative;}
.content-hero-container:after,
.content-hero-image-section:after	{position: absolute; inset:0; content:''; background-color: rgba(0, 0, 0, 0.35); padding-bottom: 60px;}
.content-hero-container .inner,
.content-hero-image-section .inner	{display: flex; align-items: flex-end; padding-bottom: 65px; position: relative; z-index: 2}

.content-hero-container h1,
.content-hero-image-section h1		{font-family: 'Montserrat', sans-serif; color: #ffffff; font-size: 62px; line-height: 64px; font-weight: 700;}
.content-hero-image-section h3      {color:#fff;margin-top:15px;font-size: 20px;}

.header-text							{width: 100%;}
.header-text .course-search-container	{width: 765px; max-width: 100%; margin-top: 28px; margin-bottom: 0}

.header-course-tags			{display: flex; font-size: 16px; font-weight: 700; color: #ffffff; list-style: none; margin-bottom: 20px; margin-left: 0}
.header-course-tags li		{background-color: #bd1721; padding: 16px; margin-right: 8px;}
.header-course-tags li.blue	{background-color: #047eaf}

/* ALSO IN SECTION */
.also-in-section 	{padding:40px 0;}
.ais-top			{display: flex; align-items: center; justify-content: center}
.ais-top p			{font-size: 26px; margin-bottom: 0; margin-right: 10px;}

.ais-expanded				{border-top:1px solid #d1d3e1; margin-top: 40px; padding-top: 40px; display: none}
.ais-expanded ul			{column-count: 3; font-size: 18px; list-style: none; line-height: 1.3em; font-weight: 500}
.ais-expanded ul li			{margin-bottom: 20px;}
.ais-expanded ul li a		{color: #047eaf; text-decoration: none}
.ais-expanded ul li a:hover	{color:#34516c}

.toggle-ais.active svg		{transform: rotate(180deg)}

/* FULL INTRO TEXT SECTION */
.intro-text-panel					{padding: 80px 0}
.intro-text-panel p					{font-size: 32px; line-height: 42px; font-weight: 300;}
.intro-text-panel p:first-child		{margin-top: 0}
.text-panel p:last-child,
.intro-text-panel p:last-child		{margin-bottom: 0}
.text-panel .expanded,
.intro-text-panel .expanded			{margin-top: 30px;}

.intro-text-panel .expanded	 p	{font-size: 18px; font-weight: 400; line-height: 1.5em}

/* TEXT PANEL */
.text-panel		{padding: 10px 0}
.text-style h2	{font-size: 36px; font-weight: 700; margin: 0.75em 0;}
.text-style h3	{font-size: 30px; font-weight: 700; margin: 0.75em 0;}
.text-style h4	{font-size: 26px; font-weight: 700; margin: 0.75em 0;}
.text-style h5	{font-size: 22px; font-weight: 700; margin: 0.75em 0;}
.text-style h6	{font-size: 20px; font-weight: 700; margin: 0.75em 0;}
.text-style p	{margin: 1em 0; font-size: 16px}

.text-style h2:first-child,
.text-style h3:first-child,
.text-style h4:first-child,
.text-style h5:first-child,
.text-style h6:first-child,
.text-style ul:first-child,
.text-style ol:first-child,
.text-style p:first-child	{margin-top: 0}

.text-style p a,
.text-style ul a,
.text-style ol a	{text-decoration: underline; color: #047eaf}

.text-style ul				{list-style: none; font-size: 16px; margin: 1.5em}
.text-style ul li			{position: relative; margin-bottom: 0.75em; font-size: 18px; line-height: 1.6em}
.text-style ul li:before 	{content: "•"; font-size: 42px; color: rgb(189, 23, 33); line-height: 24px; width: 24px; display: inline-block; position: absolute; top: -3px; left: -20px;}

.text-style ol		{font-size: 16px; margin: 1.5em}
.text-style ol li	{position: relative; margin-bottom: 0.5em}

.intro-text-style .expanded p,
.intro-text-style .expanded ul,
.intro-text-style .expanded ol	{font-size: 16px;}

.text-panel.entry-requirements		{color: #ffffff}
.text-panel.entry-requirements ul li:before	{color: #ffffff}
.text-panel.entry-requirements li a,
.text-panel.entry-requirements p a	{color: #ffffff}

/* EXPANDED */
.intro-text-style .expanded p		{font-size: 18px; font-weight: 500; color: #2f3235; line-height: 1.65em; margin: 1.5em 0}

.toggle-expand				{cursor: pointer}
.toggle-expand.active svg	{transform: rotate(180deg)}

.expanded			{display: none}
.expanded.active	{display: block}

/* FULL VIDEO PANEL */
.pullout-video-section			{padding: 80px 0; position: relative;  background-color: rgb(156, 164, 181);}
.pullout-video-bg				{position: absolute; left: 0; top:0; width: 100%; height: 100%; background-size: cover; background-position: center; opacity: 0.2; filter: grayscale(1);}
.video-container 				{position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; /*margin-bottom: 30px;*/}
.video-container iframe,
.video-container object,
.video-container embed,
.video-container video			{position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

/* ACCORDION STYLE 1 */
.accordion .accordion-item									{margin-bottom:6px; padding: 31px 0px 28px; border-top: 1px solid rgb(209, 211, 225);}
.accordion .accordion-heading h3							{font-size:18px; padding-right: 30px; position: relative; cursor: pointer; line-height: 40px; margin-bottom: 0}
.accordion .accordion-heading h3 span.plus 					{width:16px; height: 16px; position:absolute; right:0; display: block; top:10px;}
.accordion .accordion-heading h3 span.plus:before			{width:2px; height: 100%; background-color: #057EAF; position: absolute; left: 8px; top: 0; content: ''; transition: 0.2s ease-out}
.accordion .accordion-heading h3 span.plus:after			{width:2px; height: 100%; background-color: #057EAF; position: absolute; left: 8px; top: 0; content: ''; transform: rotate(90deg); transition: 0.2s ease-out}
.accordion .accordion-item.active .accordion-heading h3 span.plus:after	{transform: rotate(270deg)}
.accordion .accordion-item.active .accordion-heading h3 span.plus:before	{transform: rotate(90deg)}
.accordion .accordion-expanded							{display:none; padding-top: 20px;}
.accordion .accordion-expanded p:last-child				{margin-bottom:0;}

.accordion .accordion-item p	{font-size: 18px; line-height: 1.6em}

.accordion-item p a	{color: #047eaf; text-decoration: underline}

.accordion-section-2,
.accordion-section		{padding: 80px 0}
.accordion-section h2	{margin-bottom: 1em}

/* ACCORDION STYLE 2 */
.accordion-section-2 .accordion-item						{border-top: none; padding: 5px 0 10px; margin-bottom: 0; border-bottom: 1px solid rgb(209, 211, 225); width: calc(100% - 50px); margin-left: auto; position: relative;}
.accordion-section-2 .accordion-heading h3					{font-size: 22px; padding: 5px 0 0 0}
.accordion-section-2 .accordion-item h3 span.plus			{width: 32px; height: 32px; border-radius: 32px; background-color: #047eaf; left: -50px;}
.accordion-section-2 .accordion-item h3 span.plus:before,
.accordion-section-2 .accordion-item h3 span.plus:after		{background-color: #ffffff; height: 14px;}
.accordion-section-2 .accordion-item h3 span.plus:before	{left: 15px; top: 9px;}
.accordion-section-2 .accordion-item h3 span.plus:after		{left: 15px; top: 9px;}
.accordion-section-2 .accordion-item.active h3 				{color: #bd1721;}
.accordion-section-2 .accordion-item.active h3 span.plus	{background-color: #bd1721;}

.accordion-section .accordion-item:last-child,		
.accordion-section-2 .accordion-item:last-child			{padding-bottom: 0}
.accordion-section-2 .accordion-item:before				{width: 1px; background-color: rgb(209, 211, 225); position: absolute; left: -34px; top: 0; bottom: -1px; content: '';}
.accordion-section-2 .accordion-item:first-child:before	{top: 20px;}
.accordion-section-2 .accordion-item:last-child:before	{bottom: 20px;}

/* INLINE SEARCH */
.inline-search						{display: flex; align-items: baseline; margin: 40px 0}
.inline-search label				{font-size: 16px; font-weight: 300; margin-right: 10px;}
.inline-search input[type="text"]	{font-size: 16px; font-weight: 300; border:1px solid #000; border-radius: 8px; padding: 11px 16px;}


/* SEARCH RESULTS */
.search-results		{padding: 60px 0; }
.search-results h1	{font-size: 40px; font-weight: 700}

.big-search.search-box						{margin: 30px 0}

.search-results .col-container				{justify-content: space-between}

.col-search-results h2				{font-size: 27px; border-bottom: 1px solid #efefef;padding-bottom:10px;margin-bottom: 15px;}
.col-search-results a.btn-arrow		{border:none; font-size: 21px; background-color: rgba(255,255,255,0.20); margin-bottom: 12px; width: 100%;}

.search-results .buttons		{margin-bottom: 30px;}

.search-result		{border: 1px solid rgb(238, 240, 241); padding: 32px 24px;}
.search-result h3	{font-size: 20px; color: #047eaf; margin-bottom: 6px;}
.search-result p:last-child	{margin-bottom: 0}

.search-result:hover	{background-color: #EDF0F1}

/* FULL WIDTH LISTING CARD */
.full-width-listing-card-section	{padding: 30px 0; overflow: hidden;}
.full-width-listing-card			{background-color: #ffffff; position: relative;}
.full-width-listing-card .cols		{width: 100%; margin: auto; min-height: 500px;}
.fwlc-image-container				{width: 480px; flex-shrink: 0; overflow: hidden; position: relative; background-color: #25394b}
.card-image,
.fwlc-image							{background-size: cover; position: absolute; inset:0; height: 100%; background-position: center; transition: 0.2s ease-in-out}
.fwlc-text							{padding: 60px; display: flex; align-items: center;}
.fwlc-text h2						{font-size: 26px; line-height: 32px; margin-bottom: 1em; position: relative; padding-top: 25px;}
.fwlc-text h2:before				{content: ""; position: absolute; top: 0px; left: 0px; height: 1px; width: 100px; background-color: rgb(189, 23, 33);}
.fwlc-text .btn						{margin-top: 30px;}
.fwlc-image-container:hover .fwlc-image	{transform: scale(1.02); opacity: 0.85}

.full-width-listing-card:before		{position: absolute; right: 100%; top: 0; height: 100%; content: ''; background-color: #fff; width: 5000px;}

.full-width-listing-card-section:nth-child(even) .cols								{flex-direction: row-reverse}
.full-width-listing-card-section:nth-child(even) .full-width-listing-card:before	{left: 100%}

/* FULL WIDTH LISTING CARD + MAP */
.map-section.full-width-listing-card-section:nth-child(even) .cols                              {flex-direction:row;}
.map-section.full-width-listing-card-section:nth-child(even) .full-width-listing-card:before    {left:unset;}
.map-section .fwlc-map-container                                                                {margin-left:auto;}
.map-section .fwlc-map                                                                          {position: absolute;right: 0;height: 100%;transition: 0.2s ease-in-out;margin-left:auto;}

.contact-list			{display: flex;list-style: none;flex-direction: column;margin:0;}
.contact-list li		{display: flex;gap: 1em;}
.contact-list li svg	{margin-top:5px;}

/* EXPANDER CARD */
.expander-card-section					{padding: 32px 0}
.expander-card							{background-color: #ffffff; padding: 32px;}
.expander-card .fwlc-image-container	{width: 300px; height: 300px; margin-left: 32px;}
.expander-card .fwlc-text				{padding: 0}
.expander-card .fwlc-text h2:before		{display: none}
.expander-card .cols					{width: 100%; margin: auto}
.expander-card h2						{font-size: 36px; line-height: 1.2em; margin-bottom: 0.5em; margin-top: 0}
.expander-card p						{font-size: 18px; line-height: 1.7em}

.expander-card-section:nth-child(even) .cols	{flex-direction: row-reverse}
.expander-card-section:nth-child(even) .expander-card .fwlc-image-container	{margin-left: 0; margin-right: 32px;}

/* IMAGE TEXT LISTING CARDS */
.listing-cards-image-text-section	{padding: 80px 0;}
a.it-card							{display: flex; flex-direction: column; background-color: #25394b; height: 100%;; position: relative; transition: 0.2s ease-in-out}
.it-card-image-container			{height: 282px; position: relative; overflow: hidden; background-color: #25394b}
.it-text							{border-top:1px solid #ffffff; padding: 40px; color: #ffffff; background-color: #34516c; flex: 1; flex-direction: column; justify-content: space-between; display: flex; transition: 0.2s ease-in-out}
.it-text h3							{font-size: 20px; line-height: 1.5em; margin-bottom: 0.8em}
.it-text p							{margin-bottom: 0; font-size: 14px;}
.it-text p.date						{margin-top: 1.5em; display: flex; align-items: flex-start;}
.it-text p.date	svg					{margin-right: 8px; transform: translateY(3px)}
.listing-cards-image-text-section .cols				{width: 100%; margin: auto;}
.listing-cards-image-text-section .col 				{padding: 0; border-left:1px solid #ffffff}
.listing-cards-image-text-section .col:first-child	{border-left: none}

a.it-card:hover .it-text	{background-color:#28394a}
a.it-card:hover .card-image	{opacity: 0.8; transform: scale(1.02);}

.listing-cards-image-text-section .col:nth-child(even) a.it-card .it-text	{background-color:#bd1721}
.listing-cards-image-text-section .col:nth-child(even) a.it-card:hover .it-text	{background-color:#791d1d}

/* ARROW LISTING CARDS */
.arrow-card-section			{padding: 80px 0}
.cols.span-flex				{display: flex; flex: 1;}
.arrow-card					{height: 100%; background-color: #bd1721; fill:#bd1721; display: block; padding: 30px; padding-right: 43px; position: relative; color: #ffffff;}
.arrow-card .circle-arrow	{position: absolute; bottom: 7px; right: 7px; width: 36px; height: 36px; border-radius: 36px; display: flex; background-color: #ffffff; align-items: center; justify-content: center; transition: 0.2s ease-out}

.white-card h3,
.arrow-card h3,
.related-carousel-section .slide h3	{display: flex; flex-direction: column; font-size: 26px; font-weight: 300; line-height: 1.2em; margin-bottom: 0.5em;}

.white-card h3:before,
.arrow-card h3:before,
.related-carousel-section .slide h3:before	{width: 74px; border-top:1px solid #ffffff; content: ''; margin-bottom: 20px;}

.arrow-card p				{margin-bottom: 0; line-height: 1.4em}
.arrow-card:hover .circle-arrow	{transform: translateX(3px);}

.dark-blue-card				{background-color: #34516c; fill:#34516c}
.blue-card					{background-color: #047eaf; fill:#047eaf}
.grey-card					{background-color: #EEF0F1; fill:#ffffff; color: #181a1c}
.grey-card h3:before		{border-color:#bd1721}
.grey-card .circle-arrow	{background-color: #bd1721; fill:#fff}
.light-blue-card			{background-color: #53b7e8; fill:#53b7e8; color: #181a1c;}
.light-blue-card h3:before	{border-color:#ffffff}
.yellow-card				{background-color: #febe1a; fill:#febe1a; color: #181a1c;}
.yellow-card h3:before		{border-color:#ffffff}

/* WHITE CARD SECTION */
.white-card-section			{padding:80px 0}
.white-card					{border:1px solid #EEF0F1; background-color:#ffffff; padding:30px; display:flex; flex-direction: column; align-items: flex-start; justify-content:space-between; height: 100%;}
.white-card h3				{font-weight:700; color:#2f3235}
.white-card h3 a			{transition: 0.2s ease-out}
.white-card h3:before		{border-color:#bd1721}
.white-card h3 a:hover		{color:#047eaf}
.white-card p				{font-weight:400; font-size:14px;}
.white-card	div				{margin-bottom: 15px;}

.white-card-section .cols	{justify-content: center}

/* FULL SPLIT PANEL */
.full-split-panel-section	{padding: 80px 0}
.full-split-panel			{background-color: #ffffff; display: flex;}
.fsp-text					{width: 50%; padding: 60px 55px; background-image: url(/_uploads/_assets/corner-angle-gold.png); background-size: 50%; background-repeat: no-repeat; background-position: bottom right; display: flex; align-items: center;}
.fsp-text h3				{font-size: 26px; font-weight: 700; margin-bottom: 1em}
.fsp-text p					{font-size: 18px; line-height: 1.6em}
.fsp-image					{width: 50%; background-size: cover; background-position: center; min-height: 390px;}

.fsp-text .btn	{font-size: 13px; padding: 14px;}

/* FULL SPLIT PANEL WITH OPTIONS */
.split-panel-with-options-section						{padding: 80px 0}
.split-panel-with-options-section .full-split-panel		{background-color:#34516c; color: #ffffff}
.split-panel-with-options-section .full-split-panel p	{font-size: 16px;}
.split-panel-with-options-section .full-split-panel .fsp-text	{background-image: none}
.split-panel-with-options-section .full-split-panel .buttons		{margin-top: 30px;}


/* OPTION CARDS */
.option-cards		{display: flex; flex-wrap: wrap;}
.option:nth-child(4),
.option:first-child	{border-left: none}
.option				{flex: 1; background-color: #047eaf; padding: 32px; min-width: 33.333%; display: flex; flex-direction: column; justify-content: space-between; border-left:2px solid #ffffff; border-top:2px solid #ffffff}
.option p			{font-size: 20px; color: #ffffff; font-weight: 600; line-height: 1.5em}
.option svg			{width: 25px; height: auto; fill:#fff}
.option:hover		{background-color: #34516c}

/* CIRCLE CAROUSEL */
.circle-carousel-section h2		{font-size: 46px; margin-bottom: 40px;}
.circle-carousel-section		{overflow: hidden; padding: 80px 0}
.circle-carousel-section .inner	{position: relative;}
.circle-carousel .circle		{width: 263px; height: 263px; border-radius: 263px; background-position: center; background-size: cover; overflow: hidden; display: flex; justify-content: center; align-items: center;}
.circle-carousel .circle-text	{width: 263px; text-align: center;}
.circle-carousel .slick-list	{overflow: visible}
.circle-hover					{opacity: 0; visibility: hidden; background-color: #047eaf; width: 100%; height: 100%; display: flex; justify-content: center; align-items: center; transition: 0.2s ease-out;}
.circle-carousel-nav			{justify-content: flex-end; display: flex; position: absolute; right: 20px; top:0}
.circle-carousel .slide p a		{color:#34516c; display: block; margin-top: 15px;}
.circle-carousel .slide p a:hover	{color: #047eaf}

.circle-carousel .circle:hover .circle-hover {opacity: 1; visibility: visible;}

.slick-arrow				{width: 40px; height: 40px; border-radius: 40px; display: flex; font-size: 0; justify-content: center; align-items: center; border:1px solid #cccccc; background-position: center; background-repeat: no-repeat; background-size: 10px auto; background-color: #ffffff;}
.slick-arrow.slick-next		{background-image: url(/_uploads/_assets/chevron-right-blue.svg); margin-left: 10px;}
.slick-arrow.slick-prev		{background-image: url(/_uploads/_assets/chevron-left-blue.svg);}
.slick-arrow.slick-disabled	{opacity: 0.3}

/* IMAGE TEXT CAROUSEL */
.image-text-carousel-section		{padding: 80px 0; overflow: hidden}
.image-text-carousel-section h2		{font-size: 46px; margin-bottom: 40px; line-height: 1.2em}
.image-text-carousel .slide			{display: flex; margin-right: 64px;}
.itc-image							{flex-shrink: 0; width: 160px; border-top:1px solid #bd1721; padding-top: 15px;}
.itc-image p						{font-weight: 500; font-size: 12px; margin: 0; line-height: 1.3em}
.itc-image p.name					{font-weight: 400; font-size: 14px; margin-bottom: 5px;}
.itc-image .btn						{padding-top: 7px; padding-bottom: 7px; margin-top: 20px;}
.circle-image						{width: 80px; height: 80px; border-radius: 80px; background-size: cover; margin-bottom: 20px;}
.itc-text							{padding-left: 45px; position: relative;}
.itc-text p							{font-size: 26px; font-weight: 300; line-height: 1.4em}
.itc-text:before					{content: "\""; position: absolute; top: 0px; left: 20px; color: rgb(189, 23, 33); font-size: 32px; font-weight: 700; font-style: italic;}
.image-text-carousel .slick-list,
.image-text-carousel-2 .slick-list	{overflow: visible}
.image-text-carousel-nav,
.image-text-carousel-nav-2			{display: flex; justify-content: flex-end; margin: -40px 0 30px 0;}

/* IMAGE TEXT CAROUSEL STYLE 2 */
.image-text-carousel-nav-2					{position: absolute; right: 0; top: 5px; margin: 0}
.image-text-carousel-section-2 .inner		{position: relative;}
.image-text-carousel-section-2 h2			{width: calc(100% - 100px);}
.image-text-carousel-2 .slide				{padding-right: 20px; opacity: 0.5}
.image-text-carousel-2 .itc-image			{width: 100%; display: flex; border: none}
.image-text-carousel-2 .circle-image		{margin-right: 15px; flex-shrink: 0}
.image-text-carousel-2 .circle-image:hover	{opacity: 0.5}
.image-text-carousel-2 p a					{font-weight: 600; color: #047eaf; font-size: 14px; border-bottom: 1px solid #bd1721; display: block; padding-bottom: 8px;}
.image-text-carousel-2 p a:hover			{color: #34516c}
.image-text-carousel-2 .itc-text p,
.image-text-carousel-2 .itc-image p			{font-size: 14px; font-weight: 400; line-height: 1.4em}
.image-text-carousel-2 .itc-image p	strong	{font-size: 14px; font-weight: 500}
.image-text-carousel-2 .itc-text 			{padding-left: 0}
.image-text-carousel-2 .itc-text p			{line-height: 1.7em}
.image-text-carousel-2 .itc-text:before		{display: none}
.image-text-carousel-2 .slide.slick-active	{opacity: 1}

/* ACCOLADES */
.accolades-section			{padding: 40px;}
.accolades-section .inner	{display: flex; justify-content: center; gap:10%;}
.accolades-section p		{margin: 0; font-size: 12px; color: #34516c}
.accolades-section h3		{font-size: 24px; font-weight: 700; color: #34516c; margin-bottom: 0.25em}
.accolade					{text-align: center; position: relative;}
.accolade:before			{content: ""; width: 80px; display: block; border-top: 2px solid #bd1721; margin:0 auto 15px}
.accolade a:hover			{text-decoration: underline}

/* MEDIA CAROUSEL */
.media-gallery-section					{padding: 80px 0}
.media-carousel .slide					{background-color: #000000; text-align: center}
.media-carousel .video-container-outer	{width: auto; max-width: 100%; margin: auto}
.media-carousel img						{width: auto; height: auto}
.media-carousel-nav						{display: flex; justify-content: center; margin-top: 30px;}

/* PHOTO GALLERY CAROUSEL */
.photo-gallery-section					{padding: 80px 0; overflow: hidden}
.photo-gallery-section h2				{font-size: 20px; text-transform: uppercase}
.photo-gallery-carousel					{margin-top: 25px;}
.photo-gallery-carousel .slick-list		{overflow: visible}
.photo-gallery-carousel .slide			{background-size: cover; background-position: center; position: relative; height: 25vw; min-height: 395px; filter: grayscale(1);}
.photo-gallery-carousel .slide.slick-current	{filter: grayscale(0);}
.photo-gallery-carousel .slide figure	{background: linear-gradient(transparent, 40%, rgb(47, 50, 53)); position: absolute; left: 0; bottom: 0; width: 100%; margin: 0; padding: 20px; font-style: italic; font-size: 16px; color: #ffffff}

.related-carousel-nav,
.module-carousel-nav,
.photo-gallery-carousel-nav				{display: flex;}

.carousel-heading-controls				{display: flex; justify-content: space-between}

/* MODULE CAROUSEL */
.related-carousel-section,
.module-carousel-section				{overflow: hidden; padding: 40px 0}
.module-carousel-section .carousel-heading-controls	{align-items: center; margin-bottom: 20px;}
.related-carousel .slick-list,
.module-carousel .slick-list			{overflow: visible}
.related-carousel .slick-track,
.module-carousel .slick-track			{display: flex;}
.module-carousel .slide					{background-color: #34516c; height: auto; min-height: unset; color: #ffffff; padding:34px 24px; font-size: 14px}
.module-carousel .slide:nth-child(even)	{background-color: #54789B;}

.module-carousel .slide h3		{font-size: 26px; margin-bottom: 1em}
.module-carousel .slide h4		{font-size: 18px;}
.module-carousel .slide ul		{font-size: 14px; padding-left: 1.5em}
.module-carousel .slide ul li	{margin-bottom: 10px}
.module-carousel .slide p		{font-size: 16px;}

.years				{display: flex; list-style: none; margin: 0; text-transform: uppercase}
.years li			{margin: 0 16px 0 0; font-size: 12px; font-weight: 700; color: #047eaf; cursor: pointer;}
.years li.active	{color: #181a1c}

/* RELATED CAROUSEL */
.related-carousel-section								{padding: 80px 0}
.related-carousel-section h2							{font-size: 36px;}
.related-carousel-section .carousel-heading-controls	{margin-bottom: 20px;}
.related-carousel-section .slide						{background-color:#bd1721; color: #ffffff; padding: 32px; padding-bottom: 42px; transition: 0.2s ease-out; height: auto; min-height: unset;}
.related-carousel-section .slide:nth-child(even)		{background-color:#34516c}

.related-carousel-section .slide:hover 					{background-color: #791d1d}
.related-carousel-section .slide:nth-child(even):hover 	{background-color: #28394a}

.media-carousel-container .slide {height: 50vw;}
.bg-image {width: 100%; height: 100%; background-size: contain; background-position: center; background-repeat: no-repeat; }

/* COURSE PAGE INTRO */
.course-intro-section						{padding: 40px 0;}
.course-intro-section .btn.btn-icon			{font-size: 14px; display: inline-flex; padding: 8px 18px; background-color: #ffffff; transition: 0.2s ease-out}
.course-intro-section .btn.btn-icon:hover	{background-color:#a1d3f2; text-decoration: none}
.course-intro-details						{display: flex; list-style: none; margin: 0 0 20px; font-weight: 600;}
.course-intro-details strong				{display: block; text-transform: uppercase}
.course-intro-details li					{flex: 1; border-left: 1px solid #e0e0e0; padding: 0 20px; font-size: 12px;}
.course-intro-details li:first-child		{padding-left: 0; border-left: none}

/* INTERESTED PANEL */
.interested-section			{padding: 20px 0; background-color:#bd1721 !important;}
.interested-section ul		{color: #ffffff; list-style: none; display: flex; justify-content: center; align-items: center;}
.interested-section ul li	{margin: 0 10px;}
.interested-section p		{margin: 0; font-size: 26px;}

/* FULL WIDTH PULLOUT PANEL */
.full-width-pullout-panel		{padding: 80px 0; text-align: center; background-image: url(/_uploads/_assets/wsy-cropped-o-light-sky.png); background-position: 0% 100%; background-repeat: no-repeat; background-size: 25%; color: #ffffff}
.full-width-pullout-panel h2	{font-family: Anton, Arial, sans-serif; font-size: 52px; line-height: 1.4em; font-weight: 400}
.full-width-pullout-panel p		{font-size: 18px; line-height: 1.7em;}
.full-width-pullout-panel .btn	{margin-top: 20px;}

/* BUTTON PULLOUT */
.interested-section.button-pullout-section		{background-color: #eef0f1 !important}
.interested-section.button-pullout-section p    {color: #2f3235;}

/* HERO CAROUSEL */
.hero-banner                                                                    {position: relative;overflow: hidden;height: 640px;width: 100%;display: flex;justify-content: space-between;align-items: center;background-color: rgb(0, 0, 0);background-size: 200% 100%;background-image: linear-gradient(to right, rgb(254, 190, 26) 50%, rgb(155, 203, 78) 50%);-webkit-animation: infinite ease-in 6s banner-bg;-moz-animation: infinite ease-in 6s banner-bg; animation: infinite ease-in 6s banner-bg;}
.hero-banner.paused.first, .hero-banner.paused.first .hero-banner-bg            {background-position-x: 0 !important;}
.hero-banner.paused.second, .hero-banner.paused.second .hero-banner-bg         {background-position-x: 100% !important;}

.hero-banner .hero-controls                     {position: absolute; top: 30px;left: 50%;transform: translate(-50%, -10px);z-index: 1;width: 60%;display: flex;align-items: center;justify-content: flex-end;}
.hero-banner .hero-controls button              {width: 34px;height: 34px;border-radius: 50%;background: rgb(4, 126, 175);display: flex;align-items: center;justify-content: center;cursor: pointer;border: 0;}
.hero-banner .hero-controls button svg          {fill: #ffffff;width: 10px;}
.hero-banner .hero-controls button svg.play     {display: none;}
            
.hero-banner .hero-banner-bg { width: 100%;height: 100%;transform: skew(30deg);position: absolute;left: -35%;top: 0;background-color: rgb(0, 0, 0);background-size: 200% 100%;background-image: linear-gradient(to right, #34516C 50%, #006250 50%);-webkit-animation: infinite ease-in 6s banner-bg;-moz-animation: infinite ease-in 6s banner-bg;animation: infinite ease-in 6s banner-bg;}

.hero-banner .hero-text                         {position: relative;margin-top:-100px;margin-left: 15%;color:#fff;}
.hero-banner .hero-text h1                      {font-size: 80px;font-weight: 500;font-family: 'Anton', sans-serif;margin: 0;}
.hero-banner .hero-text .hero-text-title        {display:none;margin-top:1em;min-height:160px;}
.hero-banner .hero-text .hero-text-title.active {display:block;}
.hero-banner .hero-text .hero-text-title h2     {font-size: 50px;font-weight: 500;font-family: 'Anton', sans-serif;line-height: 1.2em;margin: 0;margin-bottom: 1em;}

.hero-banner .hero-image                {width: 800px; position: absolute; right: -150px; top: 0;transform: rotate(-6deg); opacity: 0; visibility: hidden;}
.hero-banner .hero-image.active         {opacity: 1;visibility: visible;}

 @keyframes banner-bg {
    0%      {background-position: 100% 0;}
    50%     {background-position: 0 0;}
    100%    {background-position: -100% 0;}
}

.full-hero-image	{height: 640px; background-size: cover; background-position: center;}

/* THREE TEXT COLS */
.three-cols-text-section	{background-color: #34516c !important; color: #ffffff; padding: 80px 0}
.three-cols-text-section h2	{font-size: 46px;}
.three-cols-text-section p	{font-size: 18px; line-height: 1.6em}
.three-cols-text-section .cols	{width:calc(100% + 256px); margin-top: 40px;}
.text-only-card					{position: relative; padding-top: 20px;}
.text-only-card:before			{content: ""; position: absolute; left: 0px; top: 0px; height: 2px; width: 100px; background-color: rgb(255, 255, 255);}
.text-only-card p:last-child	{margin-bottom: 0}

/* FEES SECTION */
.fees-section		{padding: 80px 0}
.fees-section h2	{font-size: 46px; margin-bottom: 1em}

.fees-section .accordion .accordion-item	{border-top: 2px solid rgb(189, 23, 33); border-bottom: 2px solid rgb(189, 23, 33);}

.date-years			{padding: 8px; background-color: #55789b; color: #ffffff; font-size: 20px; margin-bottom: 1em}

.fees-section table							{margin-bottom: 30px; border: 0px !important; }
.fees-section table td						{font-size: 16px; line-height: 1.4em; font-weight: 500; padding: 12px 0; border-top:1px solid #d1d3e1; border-bottom: 1px solid #d1d3e1; border-left:0px; border-right:0px; }
.fees-section table tr td:first-child 		{width: 250px; padding-right: 30px; font-weight: 600; position: relative;}
.fees-section table tr td:first-child:after	{position: absolute; right: 15px; top: 6px; bottom: 6px; background-color: #d1d3e1; width: 1px; content: '';}
.fees-section table th						{padding: 15px 0; font-size: 18px; text-align: left}

/* BURSARIES */
.sb-panel		{padding: 24px; background-color: #eef0f1}
.sb-panel p		{font-size: 18px; line-height: 1.6em}
.bursary		{border-top: 1px solid #d1d3e1; padding: 30px 0}
.bursary h3		{font-size: 20px; font-weight: 700; margin-bottom: 1em}
.bursary p		{font-size: 14px; font-weight: 400}
.bursary .btn	{padding:7px 15px}
.scholarships-bursaries-section h2	{font-size: 36px; margin-bottom: 1em}

.select-only				{display: flex; flex-direction: column; margin:2em 0; align-items: flex-start; justify-content: flex-start}
.select-only label			{font-size: 12px; text-transform: uppercase; font-weight: 500; display: block; margin-bottom: 0.75em}
.select-only .select-css	{width: 220px;}

/* FULL WIDTH IMAGE PULLOUT */
.pullout-image-section			{background-size: cover; background-position: center; position: relative; padding: 90px 0;}
.pullout-image-section:before	{position: absolute; width: 100%; height: 100%; content: ''; left: 0; top: 0; background-color:rgba(52, 81, 108,0.9); mix-blend-mode: multiply}
.pullout-image-section h2		{font-size: 46px; color: #ffffff; line-height: 1.2em; margin-bottom: 0.5em}
.pullout-image-section p		{width: 640px; max-width: 100%; color: #ffffff; font-size: 18px; margin-left: auto; margin-right: auto; line-height: 1.6em}
.pullout-image-section .inner	{text-align: center; position: relative; z-index: 2}
.pullout-image-section .btn		{margin-top: 20px;}

/* WHY STUDY PULLOUT SECTION */
.why-study-pullout-section 			{padding: 20px 0}
.why-study-pullout-section .cols	{flex-wrap: wrap}
.why-study-card						{display: flex; flex-direction: column; justify-content: space-between; height: 100%;}
.why-study-card-top					{display: flex;}
.why-study-card-top p				{margin: 0}
.rank								{width: 100px; height: 100px; border-radius: 100px; color: #ffffff; margin-right: 16px; background-color: #bd1721; display: flex; justify-content: center; align-items: center; text-align: center; font-size: 26px; font-weight: 700; flex-shrink: 0; line-height: 1.4em}
.why-study-card-top h3				{font-size: 20px; font-weight: 700; color: #2f3235; line-height: 1.4em; margin: 0}
.why-study-card-bottom				{border-top: 2px solid rgb(238, 240, 241); margin-top: 15px; padding-top: 10px;}
.why-study-card-bottom p			{font-size: 14px; margin: 0;}

.col:nth-child(1) .why-study-card .rank,
.col:nth-child(4) .why-study-card .rank,
.col:nth-child(5) .why-study-card .rank,
.col:nth-child(8) .why-study-card .rank {background-color: #34516c}

/* KEY DATES */
.key-dates-section			{padding: 80px 0}
.key-dates-section h2		{font-size: 36px; line-height: 1.3em; margin-bottom: 1em}
.key-dates					{padding: 60px 0}
.key-dates:nth-child(even)	{background-color: #EDF0F1}
section.key-dates-section .key-dates table			{border: none !important}
.key-dates table td									{width: 50%; font-size: 18px; font-weight: 400; line-height: 1.3em; padding: 10px 15px 10px 0; border: none}
.key-dates table tr td:first-child	{font-weight: 600}
.key-dates table td	p {font-size: 18px; font-weight: 400; line-height: 1.3em; }



/* PAGE NOTICE */
.page-notice		{background-repeat: no-repeat; background-position: 100% 100%; background-size: 30%; border-top:4px solid #a1d3f2; border-bottom:4px solid #a1d3f2; padding: 15px 0 20px}
.page-notice h2		{color: #34516c; text-transform: uppercase; font-family: Anton, sans-serif; font-size: 42px; font-weight: 400; line-height: normal; line-height: 1.2em}
.page-notice p		{font-size: 18px; margin-bottom: 0; margin-top: 0px;}
.page-notice .inner	{display: flex; justify-content: space-between;}
.notice-button		{flex-shrink: 0; margin-left: 20px; padding-top: 8px;}
.notice-button .btn	{font-size: 16px; font-weight: 500}

/* FOOTER */
footer			{background-color: #34516c; padding: 56px 0; color: #ffffff}
footer p		{font-weight: 400; font-size: 14px;}
footer ul		{font-weight: 400; font-size: 14px; list-style: none}
footer a:hover	{text-decoration: underline}

footer .cols .col				{padding-top: 0; padding-bottom: 0}
footer .cols .col:first-child	{width: 20%; flex-shrink: 0; border-right:1px solid rgba(255,255,255,0.25)}
footer .cols .col:last-child	{margin-left: auto}
footer .cols .col:last-child p	{font-weight: 500; font-size: 12px;}

.footer-top	{margin-bottom: 30px;}

.footer-nav		{column-count: 2; line-height: 1.3em; padding-left: 50px;}
.footer-nav li	{margin-bottom: 13px;}

.socials				{display: flex;}
.socials li				{margin-right: 8px;}
.socials li a			{width: 40px; height: 40px; border-radius: 40px; background-color: #ffffff; display: flex; justify-content: center; align-items: center;}
.socials li a svg		{fill:#047eaf; height: 20px; max-width: 20px;}
.socials li a:hover svg	{fill:#34516c}
.socials li:last-child	{margin-right: 0}

.footer-bottom		{display: flex; justify-content: space-between; align-items: center; border-top:1px solid rgba(255,255,255,0.25); padding-top:20px; margin-top: 20px;}
.footer-bottom p	{margin-bottom: 0}
.footer-logos		{display: flex;}
.footer-logos li	{margin-left: 20px;}
.footer-logos img	{max-height: 50px; width: auto}

/* BUTTONS */
.btn			{display: inline-block; text-align: center; transition: 0.2s ease-out; font-size: 18px; line-height: 20px; font-weight: 700; padding: 12px 24px; border-radius: 100px; border: 2px solid rgb(4, 126, 175); background-color: transparent; color: rgb(4, 126, 175); opacity: 1; position: relative; text-decoration: none !important; cursor: pointer;}
.btn.btn-icon	{display: flex; justify-content: space-between; align-items: center;}
.btn:hover		{background-color: transparent; border: 2px solid rgb(52, 81, 108); color: rgb(52, 81, 108); text-decoration: underline}

.btn.solid			{background-color: #047eaf; color: #ffffff}
.btn.solid:hover	{background-color: #34516c; color: #ffffff; text-decoration: none}

.btn.btn-icon svg		{min-width: 16px; width: 16px; height:auto; fill: rgb(4, 126, 175); position: relative; margin-left: 8px; opacity: 1}
.btn.btn-icon:hover svg	{fill: rgb(52, 81, 108);}

.btn.btn-smaller	{font-size: 14px;}
.btn.btn-if			{display: inline-flex}

.btn-yellow						{background-color: rgb(242, 190, 26); color: #fff; border: 2px solid rgb(242, 190, 26) !important}
.btn-yellow.btn-icon svg		{fill:rgb(47, 50, 53);}
.btn-yellow:hover				{background-color: rgb(242, 190, 26);}
.btn-yellow.btn-icon:hover svg	{fill: rgb(47, 50, 53);}

.btn-white			{border: 2px solid #ffffff; color: #ffffff}
.btn-white:hover	{background-color: rgba(255,255,255,0.25); border-color:#ffffff; color: #ffffff; text-decoration: none;}

.btn-white.solid		{background-color: #ffffff; color: #047eaf}
.btn-white.solid:hover	{background-color: rgba(255,255,255,0.25); color: #ffffff}

.buttons		{display: flex;}
.buttons .btn	{margin-right: 15px;}

.button	.inner	{display: flex; justify-content: center}

.btn.save		{border:2px solid #047eaf; color: #047eaf; background-color: #ffffff; font-size: 14px; font-weight: 700; padding: 8px 12px; 
                  display: inline-flex; align-items: center; fill:#047eaf; cursor:pointer;}
.btn.save svg	{width: 18px; height: 18px; content: ''; background-image: url(/_uploads/_assets/icon-plus.svg); margin-left: 5px;}
.btn.save:hover	{text-decoration: none; border-color:#34516c; color: #34516c; fill:#34516c}

.btn.save.remove {border:2px solid #bd1721; color: #bd1721; }

a.btn-text			{font-size: 13px; color: #047eaf; font-weight: 700; fill:#047eaf; align-items: center; display: inline-flex}
a.btn-text svg		{margin-left: 12px;}
a.btn-text:hover	{color: #34516c; fill:#34516c}

.btn.results	{margin-bottom: 20px;}

.download-prospectus-container	{display: none}

.text-intro		{text-align: center; margin-bottom: 40px;}
.text-intro h2	{font-size: 36px}
.button			{display: flex; justify-content: center; margin: 40px 0 0 0}


.btn-arrow				{font-size: 30px; border:2px solid #ffffff; display: inline-flex; text-decoration: none; padding: 10px 20px; justify-content: space-between; transition: 0.2s ease-out}
.btn-arrow:after		{width:49px; height: 26px; background-image: url(/_assets/icon-arrow-white.svg); background-size: cover; content: ''; align-self: center; transition: 0.2s ease-out; margin-left: 30px; flex-shrink: 0}
.btn-arrow:hover		{box-shadow:0 0 0 2px #ffffff}
.btn-arrow:hover:after	{transform: translateX(5px)}


/* COLOURS */

.dark-blue .listing-card-text	{background-color: #34516c; border-top:2px solid #ffffff; color: #ffffff;}
.red .listing-card-text			{background-color: #bd1721; border-top:2px solid #ffffff; color: #ffffff;}

.green.full-width-split-card 	{background-color: #006250;}
.green.full-width-split-card .fwsc-text-shape	{background-image:url(/_uploads/_assets/cropped-o-olive.png)}

/* TABLES */
section table,
table.basic {text-align: left; border-spacing: 0px; border-collapse: collapse; margin: 0px !important; width: 100% !important; border: 1px solid rgb(47, 50, 53) !important;}

section table td,
table.basic td { color: rgb(47, 50, 53); padding: 8px; border: 1px solid rgb(47, 50, 53); font-size: 16px; line-height: 1.3em;}

/* 12 OCT */
section.table-style-cookies table		{margin: 40px 0 !important}
section.table-style-cookies table td	{border:1px solid #d7d7d7;}

/* Country Select Widget */

.entry-req-section						{padding: 40px 0 60px;}
.entry-req-section label span			{font-weight: 700; font-size: 18px; margin-bottom: 0.75em; display: block}
.entry-req-section select.select-css	{margin-bottom: 20px; height: 55px; font-size: 16px;}
.entry-req-section h4					{line-height: 1.4em; font-size: 20px}
.entry-req-section h5					{line-height: 1.4em; font-size: 18px}

.inline-select-container                            {display:block;}
.inline-select-container .inline-select-content     {display:none;}

/* OPEN DAYS */
.open-days-section			{padding-bottom: 60px;}
.date						{background-color: #ffffff; position: absolute; left: 20px; top:20px; text-align: center; width: 45px;}
.date p						{font-size: 22px; font-weight: 700; color:#595B60; padding:4px 0 6px 0; margin-bottom: 0}
.date span					{background-color: #047eaf; display: block; width: 100%; font-size: 10px; text-transform: uppercase; color:#ffffff; font-weight: 600; padding: 5px 0}

.expanded-text,
.expanded-book						{background-color: #F1F1F1; padding: 50px; display: none; line-height: 1.4em}
.expanded-book .cols				{display: flex; justify-content: space-between; width: 100%; margin:0 auto}
.col-text-book						{width: 50%; flex-shrink: 0}
.col-book-now input[type="text"],
.col-book-now select.select-css		{font-size: 16px; border-radius: 2px; padding: 10px; width: 100%; border:0.5px solid #cccccc; color: #2f3235; font-weight: 500 !important}
.col-book-now select.select-css		{color: #666666}
.col-thanks,
.col-book-now						{padding-left: 40px;}

.col-book-now input[type="text"]::-webkit-input-placeholder   {color:#666666;}
.col-book-now input[type="text"]::-moz-placeholder            {color:#666666; opacity:1;}
.col-book-now input[type="text"]:-ms-input-placeholder        {color:#666666;}
.col-book-now input[type="text"]:-moz-placeholder             {color:#666666; opacity:1;}

.col-book-now .form-row	{margin-bottom: 15px;}

.col-book-now .checkboxes				{display: flex;}
.col-book-now .checkboxes .container	{font-weight: 700; font-size: 15px; padding-top: 5px;}
.col-book-now .checkboxes .container .checkmark	{border-color: transparent}
.col-book-now .checkbox-cell			{margin-right: 15px;}

.col-book-now .container input:checked ~ .checkmark {background-color: #34516c;}

.expand-read-more.active:after,
.expand-book.active:after			{transform: rotate(180deg) !important}

.split-card							{background-color: #34516c; display: flex; position: relative;}
.split-card	.card-image-container 	{width: 40%; flex-shrink: 0; min-height: 300px; overflow: hidden; background-size: cover; background-position: center; position: relative;}
.split-card	.card-text				{width: 60%; flex-shrink: 0; display: flex; align-items: center; padding: 30px 40px; color: #ffffff}
.split-card	.card-text h3    		{font-size: 23px; font-weight: 700; margin-bottom: 1em; line-height: 1.2em; color: #ffffff;}
.split-card	.card-text p			{font-size: 20px;}

.split-card .btn-icon				{margin-bottom: 10px;}
.split-card .btn-icon svg			{min-width: 10px; width: 10px; fill:#ffffff;}
.split-card .btn-icon:hover 		{fill:#ffffff}
.split-card .btn-icon:hover svg		{fill:#ffffff}

.split-card .btn-icon.active		{background-color: #ffffff; color: #34516c}
.split-card .btn-icon.active svg	{transform: rotate(90deg); fill:#34516c;}

.open-days-section .col:nth-child(odd) .split-card	{flex-direction: row-reverse; background-color:#34516c}

.load-more-button		{display: flex; justify-content: center; padding: 40px 0 0 0}


/* DOWNLOAD PROSPECTUS */
.download-prospectus-container					{background-color: #101B40; position: absolute; left: 0; width: 100%; padding: 45px 0; top:-100%; visibility: hidden; opacity: 0; z-index: 55; transition: 0.4s ease-out;}
.download-prospectus-container			{top:0; /*visibility: visible; opacity: 1;*/ height: 100vh; display: flex; justify-content: center; align-items: center; background-color: rgba(0,0,0,0.85);}
.prospectus-inner						{background-color: #34516c; width: 500px; max-width:calc(100% - 40px); padding: 40px; position: relative}
.prospectus-inner h2					{font-size: 24px; color: #ffffff; margin-bottom: 1em}
.prospectus-inner .form-container label	{color: #ffffff; font-size: 16px; margin: 0 0 5px 0; display: block; text-align: right}
.prospectus-inner .form-container input[type="text"]	{font-size: 18px; padding:12px 15px; padding-left: 65px; width:calc(100% - 10px);}
.prospectus-inner .form-container .form-cell	{margin-bottom: 15px;}
.prospectus-inner .form-container .form-cell:last-child	{margin-bottom: 0}
button#btnProspectus				{background-color: #FFD100; padding: 10px; width: 100%; font-size: 18px; font-weight: 700; color: #101B40}
.prospectus-inner .download-success {display: none; text-align: left; font-size: 19px;}
.prospectus-inner .download-success p   {color:#fff;}
.prospectus-inner .form-cell-submit	{margin-top: 25px;}

.close {display: block; width: 17px; height: 17px; background-image: url(/_assets/icon-plus-2.svg); background-size: cover; transform: rotate(45deg); position: absolute; right:20px; top:20px;}
.prospectus-inner .close	{background-image: url(/_assets/icon-plus-white.svg)}

input.download-prospectus-input.error { background-color: #ffcece;}

.download-prospectus-container.active	{visibility: visible; opacity: 1;}

.input-box		{position: relative; display: flex; justify-content: flex-end}
.input-box span {width: 57px; height: 57px; border-radius: 57px; border: 5px solid #dadff3; display: flex; justify-content: center; align-items: center; background-color: #ffffff; position: absolute; left: -5px; top: -5px;}

.sr-only {position: absolute;left: -10000px;top: auto;width: 1px;height: 1px;overflow: hidden;}




/* EVENT LISTING */
.event-listing .split-card .card-text               {display:block;}
.event-listing .btn-arrow,
.event-listing .signup                  {width:100%;margin-top:10px; font-size: 20px; }

.page-panel-open-days                   {padding-top: 45px;}

/* GALLERY */
.gallery-page-panel		{margin-top: 30px; margin-bottom: 50px;}
.gallery-expanded		{background-color: #f8f8f8; padding: 20px; display: none}
.gallery-page-panel	.image-carousel-container	{margin-bottom: 0}
.image-carousel-container-alt .slide-text p span.expander-chevron.active	{transform: rotate(0)}

/* IMAGE CAROUSEL */
.image-carousel-container	{margin:0 0 40px 0; position: relative;}
.image-carousel				{background-color: #101B40}
.image-carousel p			{color:#ffffff; font-size: 20px; margin: 0; width: calc(100% - 150px);}
.slide-image				{background-size: cover; background-position: center; background-repeat: no-repeat; padding-top: 55%; background-color: #000}
.slide-text					{padding:5px 15px;}

.image-carousel-container .carousel-nav-container-2	{position: absolute; bottom: 14px; right:20px; z-index: 1}

a.download-image {display: block; position: relative; color: #fff; text-align: right; right: 20px; bottom: 10px; text-decoration: none; transition: 0.2s ease-in-out;}
a.download-image:hover {opacity: 0.7;}

/* NUMBERS CAROUSEL */
.image-carousel-container-alt .carousel-nav-container-2					{bottom:4px;}
.image-carousel-container-alt .carousel-nav-container-2	.slick-arrow 	{top:1px}
.image-carousel-container-alt ul.custom_paging							{margin: 0}
.image-carousel-container-alt ul.custom_paging li						{display: none; margin: 0}
.image-carousel-container-alt ul.custom_paging li.slick-active			{display: block; color: #ffffff}
.image-carousel-container-alt .slide-text                               {background-color: #34516c;}
.image-carousel-container-alt .slide-text p								{display: flex; align-items: center; margin-bottom:0; color: #fff;}
.image-carousel-container-alt .slide-text p span.expander-chevron		{margin-left: 15px; transform: rotate(-90deg)}

/* CAROUSEL NAV 2 */
.carousel-nav-container-2								{padding: 0 20px;}
.carousel-nav-container-2 .slick-arrow					{background-image: url(/_assets/icon-left-nav-chevron.svg); width: 11px; height: 20px; border: 0; font-size: 0; background-color: transparent; position: absolute; left: 0; top:-5px}
.carousel-nav-container-2 .slick-arrow.slick-prev		{transform: rotate(-180deg);}
.carousel-nav-container-2 .slick-arrow.slick-next		{left: auto; right:0}
.carousel-nav-container-2 ul.slick-dots					{font-size: 0; list-style: none; display: flex;}
.carousel-nav-container-2 ul.slick-dots li				{width:10px; height: 10px; margin: 0 4px; border-radius: 10px; border:1px solid #ffffff;}
.carousel-nav-container-2 ul.slick-dots li.slick-active	{background-color:#ffffff}


/* STAFF LISTING */
.staff-listing .filter-container	{width: 365px; max-width: 100%; margin-bottom: 50px;}
.select-css.blue					{background-color: #34516c; color: #ffffff; font-size: 21px; font-weight: 700; background-image: url(/_assets/select-arrow-white.png); width: auto; }		
.staff-item							{border-bottom:2px solid #34516c; display: flex; position: relative; padding-bottom: 40px; margin-bottom: 40px;}
.staff-image						{width: 168px; height: 168px; flex-shrink: 0; background-position: center; background-size: cover;}
.staff-text							{padding: 0 40px 40px;}
.staff-text	h4						{font-family: 'ARU Raisonne'; font-size: 16px; margin-bottom: 15px;}
.staff-text	h4 span					{font-family: 'Raleway', sans-serif; font-weight: 400}
.staff-text p a						{text-decoration: none}
.staff-item .expanded				{display: none}
.staff-item .expander-chevron		{position: absolute; right:0; bottom: 40px;}

/* EXPANDER CHEVVY */
.expander-chevron			{width:20px; height: 11px; background-image: url(/_assets/icon-chevron-down-blue.svg); background-size: cover; cursor: pointer; display: block}
.expander-chevron.active	{transform: rotate(180deg)}
