@font-face {
	font-family:'Founders Grotesk Condensed Bold';
	src:url(../fonts/founders-grotesk-condensed-bold-new.woff) format("woff");
	font-weight:700;
	}
	
@font-face {
	font-family:'Founders Grotesk Medium';
	src:url(../fonts/founders-grotesk-text-medium-new.woff) format("woff");
	font-weight:500;
	}
	
@font-face {
	font-family:'Founders Grotesk Light';
	src:url(../fonts/founders-grotesk-text-light-new.woff) format("woff");
	font-weight:300;
	}
	
/* Page */

:root {
	--primary: #10CFC9;
	--primary-trans: #10CFC955;
	--secondary: #f5b6cd;
	--secondary-trans: #f5b6cd55;
	--links: #10CFC9;
	--links-hover: #282727;
	--dark: #282727;
	--dark-tint: #484747;
	--light: #e9e9e9;
	--font: #282727;
	
	--font-heading: 'Founders Grotesk Condensed Bold',sans-serif;
	--font-subheading: 'Founders Grotesk Medium',sans-serif;
	--font-body: 'Founders Grotesk Light',sans-serif;
	--font-bold: 'Founders Grotesk Medium',sans-serif;
	
}

body {
	font-family: var(--font-body);
	font-weight:400;
	color: var(--font);
	background-image: linear-gradient(to right, #70e2de, #ffbc77);
}

.container.main {
	background-color:#fff;
	border-left:2rem solid #fff;
	border-right:2rem solid #fff;
	box-shadow: 0px 0px 1rem 0.75rem #00000022;
}

.maintext,
.virtual-tours {
	padding:2rem;
	background-color: var(--light);
}

.virtual-tours img.greyfade:hover {
	-webkit-filter: brightness(140%);
	-moz-filter: brightness(140%);
	filter: brightness(140%);
	transition: all 0.5s ease;
}

h1,h2,h3,h4,h5,h6 {
	font-family: var(--font-subheading);
	color: var(--font);
	margin-bottom:1rem;
	}

h1 {
    text-transform: uppercase;
	font-family: var(--font-heading);
	font-size:3.3rem;
}

@media (max-width: 420px) {
	h1 {
		font-size:2.6rem;
	}
	
	h2 {
		font-size:1.7rem;
	}
}

p,ul,li,table {
    font-size: 1.3rem;
}

ul.blue-bullets {
    padding-left: 1.3rem;
}

strong {
	font-family: var(--font-bold);
	font-weight:500;
}

.blue-bullets li {
    list-style: none;
    position: relative;
    padding-left: 1.2rem;
}

.blue-bullets li::before {
    content: "";
    width: 8px;
    height: 8px;
    background: var(--primary);
    position: absolute;
    top: 10px;
    left: 0;
}

.bullets-arrow-sidebar {
	
}

.bullets-arrow-sidebar li {
	list-style: none;
	position:relative;
	margin-bottom:1.5rem;
}

.bullets-arrow-sidebar li h3 {
	margin-bottom:0.5rem;
}

.bullets-arrow-sidebar li::before {
	content: "";
    display: inline-block;
    margin-right: .3125em;
    width: 1.25rem;
    height: 1.25rem;
    background-image: url(../img/arrow-thick-right.svg);
    background-position: center center;
    background-repeat: no-repeat;
    transition: left .3s;
    position: absolute;
    top: 0.5rem;
    left: -40px;
}

p.lead strong {
	font-weight:500;
}

.bg-dark {
    background-color: var(--dark)!important;
}

.light-blue {
	color:var(--links)!important;
}

.blockquote {
	padding:1rem 1rem 1rem 5rem;
	background-color:var(--light);
	position:relative;
}

.blockquote div::before {
	content:"\201C";
	color:var(--secondary);
	font-size:8rem;
	font-family:var(--font-heading);
	display:block;
	position:absolute;
	left:1rem;
	top:-2rem;
	vertical-align: top;
}

.blockquote-footer {
	margin-top:0.75rem;
	border-top:none;
	color:var(--primary);
}

.card .blockquote {
	padding:0 0 0 3rem;
	background-color:initial;
	position:relative;
	color:#fff;
}

.card .blockquote div::before {
	content:"\201C";
	color:var(--secondary);
	font-size:6rem;
	font-family:var(--font-heading);
	display:block;
	position:absolute;
	left:0;
	top:-2rem;
	vertical-align: top;
}

.card .blockquote-footer {
	margin-top:0.75rem;
	border-top:none;
	color:#fff;
}

/* Header */

header {
	background-size:cover;
	padding:0;
	height:26em;
	overflow:hidden;
}

header.home {
	background-image:url(../img/header-home.jpg);
	background-position: 50% 100%;
}

header.jobs {
	background-image:url(../img/header-jobs.jpg);
	background-position: 100% 50%;
}

header.people-and-culture {
	background-image:url(../img/header-people-and-culture.jpg);
	background-position: 50% 80%;
}

header.campus-and-location {
	background-image:url(../img/header-campus-and-location.jpg);
	background-position: 0% 50%;
}

.masthead {
	background-color:var(--dark);
	padding:2rem 3rem;
	width:100%;
	position:relative;
}

.head-logo {
	height:8rem;
	max-width:90%;
}

.masthead h1 {
    color: #fff;
    text-align: right;
    float: right;
    position: absolute;
    right: 3rem;
    top: 50%;
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
}
 
@media (max-width: 991.98px) {
	header {
		min-height:20em;
	}
	
	header.home {
	background-position: 50% 100%;
	}

	header.jobs {
		background-position: 100% 50%;
	}

	header.people-and-culture {
		background-position: 50% 80%;
	}

	header.campus-and-location {
		background-position: 0% 50%;
	}
	
	.masthead {
        text-align: center;
        padding:2rem 2rem;
	}
	
    .masthead h1 {
		margin-top: 2rem;    
		color: #fff;
		text-align: center;
		float: none;
		position: relative;
		right: initial;
		top: initial;
		-ms-transform: initial;
		transform: initial;
		font-size: 2rem;
    }
	
	.head-logo {
		float:none;
		height:8rem;
	}
}

@media (min-width: 992px) {
	header {
	height: 26em;
	}
	
	header.home {
		background-position: 50% 100%;
	}

	header.jobs {
		background-position: 100% 50%;
	}

	header.people-and-culture {
		background-position: 50% 80%;
	}

	header.campus-and-location {
		background-position: 0% 50%;
	}
	
	.masthead {
		height:11rem;
		padding:2rem 3rem;
	}
	
	.masthead h1 {
		font-size:2rem;
	}

	.head-logo {
		float:left;
		height:7rem;
	}
}

@media (min-width: 1200px) {
	header {
	height: 30em;
	}
	header.home {
		background-position: 50% 100%;
	}

	header.jobs {
		background-position: 100% 50%;
	}

	header.people-and-culture {
		background-position: 50% 80%;
	}

	header.campus-and-location {
		background-position: 0% 50%;
	}
	
	.masthead {
		height:12rem;
		padding:2rem 3rem;
	}
	
	.masthead h1 {
		font-size:2.5rem;
	}

	.head-logo {
		float:left;
		height:8rem;
	}
}

@media (min-width: 1800px) {
	.container {
	max-width: 1500px;
	}
	
	body {
	
	}
	
	header {
	height: 34em;
	}
	
	header.home {
	background-position: 50% 100%;
	}
	
	header.jobs {
	background-position: 100% 50%;
	}
	
	header.people-and-culture  {
	background-position: 50% 80%;
	}
	
	header.campus-and-location {
	background-position: 0% 50%;
	}
	
	
	.masthead {
		height:13rem;
		padding:2rem 3rem;
	}
	
	.masthead h1 {
		font-size:2.5rem;
	}

	.head-logo {
		float:left;
		height:9rem;
	}
}

@media (min-width: 1921px) {
	body {
	
	}
}

@media (min-width: 2400px) {
	.container {
	max-width: 1800px;
	}
	
	body {
	
	}
	
	header {
	height: 40em;
	}
	
	header.home {
	background-position: 50% 100%;
	}
	
	header.jobs  {
	background-position: 50% 100%;
	}
	
	header.people-and-culture  {
	background-position: 50% 80%;
	}
}

@media (min-width: 2561px) {
	body {
	background: url(../img/bg-1800.png) center top repeat-y,var(--bg-gradient);
	background-attachment:scroll,fixed;
	}
}

/* Navigation */

nav.navbar {
    background-color: var(--dark)!important;
	font-family: var(--font-subheading);
}

.navbar-dark .navbar-nav .nav-link {
    color: #fff;
	margin-left:0.75em;
	margin-right:0.75em;
	padding-left:0;
	padding-right:0;
	position:relative;
	font-size:1.4rem;
}

.navbar-dark .navbar-nav .nav-link:focus, .navbar-dark .navbar-nav .nav-link:hover {
    color: #fff;
}

.navbar-dark .navbar-nav .nav-link::before {
    content: "";
    background-color: var(--links);
    width: 0;
    position: absolute;
    bottom: -.125rem;
    font-size: 0;
    height: .125rem;
    overflow: hidden;
	transition: all .4s ease-in-out;
}

.navbar-dark .navbar-nav .nav-link:focus::before,
.navbar-dark .navbar-nav .nav-link:hover::before {
	width: 100%;
}

.navbar-dark .navbar-nav .nav-item.active .nav-link::before {
	width: 100%;
	background-color: #fff;
}

@media (max-width: 991px) {
.navbar-dark .navbar-nav .nav-item.active .nav-link::before,
.navbar-dark .navbar-nav .nav-link:focus::before,
.navbar-dark .navbar-nav .nav-link:hover::before {
	display:none;
}

.navbar-dark .navbar-nav .nav-link {
    color: #ffffff77;
}

.navbar-dark .navbar-nav .nav-item.active .nav-link,
.navbar-dark .navbar-nav .nav-link:focus,
.navbar-dark .navbar-nav .nav-link:hover {
	color: #fff;
}
}
/* Images, Elements */

.embed-responsive-2by1::before {
  padding-top: 50%;
}

.home-benefits li {
	margin-bottom:1em;
}

.bg-light {
	background-color:#f7f7f7!important;
}

.testimonial {
  height: 100%;
}

.card {
	-webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
	background-color:var(--dark-tint);
	border:none;
	box-shadow: 0px 3px 3px -2px rgba(0, 0, 0, .15);
}

.card.light {
	background-color:var(--extralight);
}

.projects-grid::after {
	content: "";
    display: table;
    clear: both;
}

.card.light.projects {
	max-width:calc(50% - 1rem);
	display:inline-block;
	float:right;
}

.card.light.projects:nth-child(odd) {
	float:left;
}

.card.light.projects .card-body {
}

@media (max-width: 1800px) {
	.card.light.projects {
	max-width:100%;
	display:block;
	}
	.card.light.projects:nth-child(odd) {
	margin-right:0;
	}
	.card.light.projects .card-body {
	height:inherit;
	}
}

.card-caption {
	padding: 0.5rem 1.25rem;
	color:#fff;
	font-family: var(--font-body);
	font-weight:700;
}

.card-text, .card-text a {
	color:#fff;
}

.card.light .card-text, .light .card-title {
	color:var(--font);
}

.card-body {
	
}

.card-text a {
  position: relative;
}

.card-text a::before {
	content: "";
    background-color: var(--links);
    width: 100%;
    position: absolute;
    bottom: -.125rem;
    font-size: 0;
    height: .125rem;
    overflow: hidden;
	transition: all .4s ease-in-out;
}

.card-text a:hover {
  text-decoration: none;
}

.card-text a:hover::before {
  width: 0;
}

.card-body a:hover {

}

.card-header, .card-footer {
	border:none;
}

.card-header {
	padding-bottom:1rem;
}

.card-header:first-child {
	border-radius:0;
}

.card-footer:last-child {
    border-radius:0;
}

.card-title {
	font-family: var(--font-heading);
	margin-top:0;
	color:var(--primary);
	text-transform:uppercase;
}

.card-subtitle {
	color:#fff;
	font-family: var(--font-heading);
	font-weight:500;
}

/*.card-text {
	font-size:1rem;
}*/

ul.card-text {
	list-style-type: square;
}

.card-img-top {
	min-height: 0.01px;
	border-top-left-radius: 0;
    border-top-right-radius: 0;
}

#advert-details th {
	padding-right:1em;
}

#advert-details tr {
	vertical-align:text-top;
}

#advert-details.card {
	-webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
}

#advert-details.card .card-body {
	color: var(--font);
}

#advert-details.card .card-body,
#advert-details.card .card-footer {
	background-color: var(--light);
}

#advert-details.card .card-body {
	border-top:none;
}

#advert-details.card .card-footer #apply-link {
	color:#fff!important;
}

#apply-link::before {
	content:none;
}

.jd-button:hover {
	-webkit-filter: brightness(110%);
	-moz-filter: brightness(110%);
	filter: brightness(110%);
	transition: all 0.5s ease;
}
	
.carousel-indicators .active {
	background-color:#fff;
}

.carousel-indicators li {
	background-color:#ffffff55;
}

#carousel-attractions {
    -webkit-box-shadow: 0 1px 10px 0 rgb(0 0 0 / 15%);
    -moz-box-shadow: 0 1px 10px 0 rgba(0,0,0,.15);
    box-shadow: 0 1px 10px 0 rgb(0 0 0 / 15%);
}

#carousel-attractions .card {
	height:48em;
}

@media (min-width: 576px) {
	#carousel-attractions .card {
	height:46em;
	}
}

@media (min-width: 768px) {
	#carousel-attractions .card {
	height:44em;
	}
}

@media (min-width: 992px) {
	#carousel-attractions .card {
	height:63em;
	}
}

@media (min-width: 1200px) {
	#carousel-attractions .card {
	height:52em;
	}
}

@media (min-width: 1800px) {
	#carousel-attractions .card {
	height:48em;
	}
}

@media (min-width: 2400px) {
	#carousel-attractions .card {
	height:44em;
	}
}

#carousel-home {
    -webkit-box-shadow: 0 1px 10px 0 rgb(0 0 0 / 15%);
    -moz-box-shadow: 0 1px 10px 0 rgba(0,0,0,.15);
    box-shadow: 0 1px 10px 0 rgb(0 0 0 / 15%);
}

#carousel-home .card {
	height:60em;
}

@media (min-width: 576px) {
	#carousel-home .card {
	height:59em;
	}
}

@media (min-width: 768px) {
	#carousel-home .card {
	height:60em;
	}
}

@media (min-width: 992px) {
	#carousel-home .card {
	height:75em;
	}
}

@media (min-width: 1200px) {
	#carousel-home .card {
	height:67em;
	}
}

@media (min-width: 1800px) {
	#carousel-home .card {
	height:59em;
	}
}

@media (min-width: 2400px) {
	#carousel-home .card {
	height:60em;
	}
}

.employee-benefits .tab-content {
	color:var(--links-hover);
}

.employee-benefits .tab-content p {
	background-color:#e9f3fb;
	padding:1em;
	margin-bottom:0.5em;
}

.employee-benefits .tab-content ul {
	padding:1em 1em 1em 2em;
	background-color:#e9f3fb;
}

.employee-benefits .tab label {
	background-color: var(--primary);
}

.employee-benefits .tab label:hover {
	background-color: var(--links-hover);
}

/* Links */

.maintext a {
  color: var(--font);
  position: relative;
}

.maintext a::before {
	content: "";
    background-color: var(--links);
    width: 100%;
    position: absolute;
    bottom: -.125rem;
    font-size: 0;
    height: .125rem;
    overflow: hidden;
	transition: all .4s ease-in-out;
}

.maintext a:hover {
  text-decoration: none;
  color: var(--font);
}

.maintext a:hover::before {
  width: 0;
}

.alert-danger a {
	color:#721c24;
}

.btn-primary {
  background-color: var(--links);
  border-color: var(--links);
  font-family: var(--font-subheading);
  color: var(--font);
  white-space:normal;
  padding:8px 16px;
  font-size:1.4rem;
  border-radius:0;
  position:relative;
  border:0;
}

.btn-primary span {
  position:relative;
}

.btn-primary::before {
	transition: all 400ms ease-in-out!important;
    height: 100%!important;
    width: 0!important;
    position: absolute!important;
    top: 0!important;
    left: 0!important;
    content: "";
}

.btn-primary:hover, .btn-primary:active, .btn-primary:not(:disabled):not(.disabled).active, .btn-primary:not(:disabled):not(.disabled):active, .show>.btn-primary.dropdown-toggle {
  background-color: var(--links);
  border-color: var(--links-hover);
  color:#fff!important;
}

.btn-primary:hover::before {
    width: 100%!important;
	background-color: var(--links-hover)!important;
}

.btn-primary.focus, .btn-primary:focus, .btn-primary:not(:disabled):not(.disabled).active:focus, .btn-primary:not(:disabled):not(.disabled):active:focus, .show>.btn-primary.dropdown-toggle:focus {
    box-shadow: 0 0 0 0.2rem var(--links-hover);
}

/* Footer */

footer {
	
}

footer * {
	color:#fff;
}

@media (max-width: 767.98px) {
	footer * {
	text-align:center;
	}
}

.footer-logo {
	width:20rem;
}

footer h1,
footer h2,
footer h3,
footer h4,
footer h5,
footer h6 {
	font-family: var(--font-heading);
	text-transform:uppercase;
}

.footer-text-border {
    font-size: 80%;
    border-right: 1px solid #47bcca;
    width: 36%;
    float: left;
    box-sizing: border-box;
}

img[width="1"][height="1"] {
  display: none;
}

/* Jobs list */

.vacancies {
	margin:2rem 0;
}

.vacancies:last-child {
	margin-bottom:0rem;
}

.job-list {
	width: 100%;
	list-style: none;
	margin-bottom: 1rem;
	padding: 0;
}

.job-list:last-child {
	margin-bottom:0rem;
}

.job-list>li {
	margin: 0.5rem 0;
	background-color: var(--dark-tint);
	width: 100%;
	padding: 0;
	box-sizing: border-box;
}

.job-list>li:hover {
	background-color: var(--links);
	transition: background-color 0.5s ease;
}

.job-list>li>a {
	color: #fff;
	display: block;
	margin: 0;
	padding: 1rem;
	font-family: var(--font-subheading);
	font-size:1.4rem;
}

.job-list>li>a:hover {
	color: #fff;
}

.job-list>li>a::before {
	content:none;
}

/* Accordion */

.tab {
	position: relative;
	margin-bottom: 1px;
	width: 100%;
	overflow: hidden;
	padding:1.5rem;
	border:2px solid var(--secondary);
	background:var(--secondary);
	margin-bottom:1rem;
}

.tab input {
	position: absolute;
	opacity: 0;
	z-index: -1;
}

.tab label {
	position: relative;
	display: block;
	padding: 1rem 2em 1rem 1em;
	cursor: pointer;
	font-family: var(--font-subheading);
	font-size:1.4rem;
    font-weight: 400;
	color: #fff;
}

.tab label:hover {
	background-color: var(--secondary);
}

.tab-content {
	max-height: 0;
	overflow: hidden;
	-webkit-transition: max-height .35s;
	-o-transition: max-height .35s;
	transition: max-height .35s;
}

.tab input:checked~.tab-content {
	max-height: 1000vh;
}

.tab:has(a[href="#"]) {
	display:none;
}

.tab label::after {
	position: absolute;
	right: 0;
	top: 0;
	display: block;
	width: 3em;
	height: 3em;
	line-height: 3;
	text-align: center;
	-webkit-transition: all .35s;
	-o-transition: all .35s;
	transition: all .35s;
}

.tab input[type=checkbox]+label::after {
	content: "\25BC";
}

.tab input[type=checkbox]:checked+label::after {
	transform: rotateX(180deg);
}

.departments .tab-content {
	background-color: var(--light);
}

.departments .tab-content *:last-child {
	margin-bottom:0;
}

.departments .tab input:checked~.tab-content {
	padding:1rem;
	margin-bottom:0.5rem;
}