@font-face {
	font-family: Montserrat;
	src: url(../fonts/montserrat/Montserrat-Black.ttf);
	font-weight: 900;
	font-style: normal;
}
@font-face {
	font-family: Montserrat;
	src: url(../fonts/montserrat/Montserrat-ExtraBold.ttf);
	font-weight: 800;
	font-style: normal;
}
@font-face {
	font-family: Montserrat;
	src: url(../fonts/montserrat/Montserrat-Bold.ttf);
	font-weight: 700;
	font-style: normal;
}
@font-face {
	font-family: Montserrat;
	src: url(../fonts/montserrat/Montserrat-SemiBold.ttf);
	font-weight: 600;
	font-style: normal;
}
@font-face {
	font-family: Montserrat;
	src: url(../fonts/montserrat/Montserrat-Medium.ttf);
	font-weight: 500;
	font-style: normal;
}
@font-face {
	font-family: Montserrat;
	src: url(../fonts/montserrat/Montserrat-Regular.ttf);
	font-weight: 400;
	font-style: normal;
}
@font-face {
	font-family: Montserrat;
	src: url(../fonts/montserrat/Montserrat-Light.ttf);
	font-weight: 300;
	font-style: normal;
}
@font-face {
	font-family: Montserrat;
	src: url(../fonts/montserrat/Montserrat-ExtraLight.ttf);
	font-weight: 200;
	font-style: normal;
}
@font-face {
	font-family: Montserrat;
	src: url(../fonts/montserrat/Montserrat-Thin.ttf);
	font-weight: 100;
	font-style: normal;
} 

@font-face {
	font-family: Montserrat;
	src: url(../fonts/montserrat/Montserrat-BlackItalic.ttf);
	font-weight: 900;
	font-style: italic;
}
@font-face {
	font-family: Montserrat;
	src: url(../fonts/montserrat/Montserrat-ExtraBoldItalic.ttf);
	font-weight: 800;
	font-style: italic;
}
@font-face {
	font-family: Montserrat;
	src: url(../fonts/montserrat/Montserrat-BoldItalic.ttf);
	font-weight: 700;
	font-style: italic;
}
@font-face {
	font-family: Montserrat;
	src: url(../fonts/montserrat/Montserrat-SemiBoldItalic.ttf);
	font-weight: 800;
	font-style: italic;
}
@font-face {
	font-family: Montserrat;
	src: url(../fonts/montserrat/Montserrat-MediumItalic.ttf);
	font-weight: 500;
	font-style: italic;
}
@font-face {
	font-family: Montserrat;
	src: url(../fonts/montserrat/Montserrat-RegularItalic.ttf);
	font-weight: 400;
	font-style: italic;
}
@font-face {
	font-family: Montserrat;
	src: url(../fonts/montserrat/Montserrat-LightItalic.ttf);
	font-weight: 300;
	font-style: italic;
}
@font-face {
	font-family: Montserrat;
	src: url(../fonts/montserrat/Montserrat-ExtraLightItalic.ttf);
	font-weight: 200;
	font-style: italic;
}
@font-face {
	font-family: Montserrat;
	src: url(../fonts/montserrat/Montserrat-ThinItalic.ttf);
	font-weight: 100;
	font-style: italic;
} 


:root {

	--color-black: #272727;
	--color-white: #FFFFFF;
	--color-off-white: #FDFDFD;
	--color-light-grey: #D0D0D0;
	--color-grey: #6B6B6B;
	--color-dark-grey: #363636;

	--color-instagram: #fccf03;
	--color-facebook: #3B5998;
	--color-twitter: #00ACED;
	--color-youtube: #C4302B;
	--color-tiktok: #ff0050;

	--color-pink: #F16DAC;
	--color-purple: #55F;
}

body {
	margin: 0px;
	padding: 0px;
	border: 0px;
	width: 100%;

	font-family: Montserrat;

	background-color: var(--color-off-white);

	color: var(--color-dark-grey);

	text-align: center;

}

* {
	box-sizing:border-box;
	transition: 0.5s;
}

a {
	text-decoration: none;
	color: var(--color-white);

	cursor: pointer;
}

a::before {
	display: block;
	content: attr(title);
	font-weight: bold;
	height: 0;
	overflow: hidden;
	visibility: hidden;
}

li {
	text-align: left;
}

.noselect {
	-webkit-touch-callout: none; /* iOS Safari */
	-webkit-user-select: none; /* Safari */
	-khtml-user-select: none; /* Konqueror HTML */
	-moz-user-select: none; /* Old versions of Firefox */
	-ms-user-select: none; /* Internet Explorer/Edge */
	user-select: none; /* Non-prefixed version, currently
						supported by Chrome, Opera and Firefox */
}

.overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: black;
	opacity: 10%;
	z-index: 1000;
}


/* -------------------------- DEFAULT STUFF -------------------------- */


.container, .container--reverse {
	display: flex;
	justify-content: center;
	flex-direction: column;

	position: relative;
	top: 0;
	left: 0;
	right: 0;

	width: 100%;
}

.container--reverse {
	flex-direction: column-reverse;
}

.subcontainer {
	display: flex;
	flex-direction: column;

	width: 100%;
}

.padded_container {
	padding-top: 30px;
	padding-left: 30px;
	padding-right: 30px;
	padding-bottom: 60px;
}

.top_pad_60 {
	padding-top: 60px;
}

.title, .title--center {
	font-size: 42px;
	font-weight: 200;
	text-align: left;

	padding-bottom: 25px;
}

.title--center {
	text-align: center;
}

.subtitle, .subtitle--center {
	font-size: 22px;
	font-weight: 700;
	text-align: left;

	padding-bottom: 5px;
}

.subtitle--center {
	text-align: center;
}

.text, .text--center {
	font-size: 18px;
	font-weight: 300;
	text-align: justify;
	line-height: 27px;

	padding-bottom: 25px;
}

.text--center {
	text-align: center;
}

.link::before {
	display: inline !important;
	content: normal !important;
}

.link {
	font-size: 16px;
	font-weight: 300;
	line-height: 24px;

	color: var(--color-black);
}

.link:hover {
	text-decoration: underline;
}

.map {
	border: 0;
	padding: 0;
	margin: 0;
	width: 100%;
	height: 600px;
}

.info_card {

}

.info_grid--class-schedule, .info_grid--external_productions, .info_grid--dashboard-schedule {
	display: grid;
	grid-row-gap: 16px;

	text-align: left;
}

.info_grid--class-schedule {
	grid-template-columns: auto auto auto auto 1fr;
}

.info_grid--external_productions {
	grid-template-columns: auto auto 1fr;

	max-height: 60vh;
	overflow-y: scroll;
}

.info_grid--dashboard-schedule {
	grid-template-columns: auto auto auto auto auto auto 1fr;
}

.info_grid__title {
	color: white;

	padding-left: 20px;
	padding-right: 20px;
	padding-top: 10px;
	padding-bottom: 0px;

	font-size: 16px;
	font-weight: 700;
}

.info_grid__item {
	display: flex;
	align-items: center;
	background-color: white;
	color: black;

	padding: 15px 20px;

	font-size: 16px;
	font-weight: 300;

}

.info_grid__item:first-child, .info_grid--class-schedule .info_grid__item:nth-child(5n+1), .info_grid--external_productions .info_grid__item:nth-child(3n+1) {
	border-top-left-radius: 8px;
	border-bottom-left-radius: 8px;
}

.info_grid--class-schedule .info_grid__item:nth-child(5n), .info_grid--external_productions .info_grid__item:nth-child(3n) {
	border-top-right-radius: 8px;
	border-bottom-right-radius: 8px;
}


.info_card_container {
	display: flex;
	flex-direction: column;

	flex-grow: 2;
}

.info_card {
	display: flex;
	flex-direction: column;

	flex-grow: 2;
	min-width: 300px;
	max-width: 100%;
	margin-top: 10px;
	margin-bottom: 10px;
	padding: 20px;

	border-radius: 8px;

	background-color: white;
	color: black;
}

.info_card__item {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: flex-start;
	text-align: left;
}

.info_card__title {
	font-size: 20px;
	font-weight: 700;

	padding-bottom: 7px;
}

.info_card__subtitle {
	text-align: left;
	font-size: 18px;
	font-weight: 700;

	padding-bottom: 2px;
}

.info_card__text {
	font-size: 17px;
	font-weight: 300;

	padding-bottom: 5px;

	line-height: 24px;
}

.info_card__profiles {
	padding-top: 5px;
}

.divider {
	height: 20px;
}

.header_edit {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	width: 100%;
}

.horizontal_list {
	display: block;
	overflow-x: scroll;
	overflow-y: hidden;
	white-space: nowrap;

	text-align: left;

}

.horizontal_list__item {
	display: inline-block;
	width: auto;
	margin-right: 10px;
}

.horizontal_list__item:first-child {
	margin-left: 20px;
}

.horizontal_list__item:last-child {
	margin-right: 20px;
}

.horizontal_list__image {
	height: 250px;
	border-radius: 20px;
	overflow: hidden;
}

.horizontal_list__image img {
	/*object-fit: cover;*/
	height: 250px;
}

.horizontal_list__title {
	font-size: 20px;
	font-weight: 200;
	text-align: left;
	color: var(--color-black);

	padding: 7px 7px 7px 15px;
	margin-bottom: 20px;
}


.schedule_card_container {
	width: 100%;
	padding-bottom: 20px;

	overflow-x: scroll;
}

.schedule_card_container__inner {
	overflow-y: scroll;
	max-height: 400px;
}

.schedule_card {
	display: flex;
	position: relative;
	flex-direction: row;
	align-items: center;

	width: 100%;
	/*min-width: 600px;*/

	padding: 10px 30px 10px 20px;

	color: var(--color-black);

	cursor: pointer;
}

.schedule_card:hover {
	background-color: #FAFAFA;
}

/*.schedule_card:last-child {
	padding-bottom: 20px;
}*/

.schedule_card__overlay {
	position:absolute;

	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
}

.schedule_card__inner {
	display: flex;
	flex-direction: row;
	align-items: center;
	position:relative;
	pointer-events: none;
	z-index: 1;

	width: 100%;
}

.schedule_card__inner a {
	pointer-events: all;
}

.schedule_card__details {
	display: flex;
	flex-direction: column;

	align-items: flex-start;

	min-width: 240px;
	width: 240px;
	padding-right: 20px;
}

.schedule_card__title {
	font-weight: 200;
	font-size: 20px;
	text-align: left;
	
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;

	margin-bottom: 2px;
}

.schedule_card__subtitle {
	font-weight: 500;
	font-size: 16px;
	text-align: left;

	color: var(--color-dark-grey);

	margin-bottom: 1px;
}

.schedule_card__location {
	font-weight: 700;
	font-size: 14px;
	text-align: left;

	color: var(--color-dark-grey);
}

.schedule_card__location:hover {
	color: var(--color-grey);
}

.schedule_card__profiles {
	display: flex;
	flex-grow: 1;
}

.schedule_card__profile {
	height: 46px;
	width: 46px;

	border-radius: 50%;
	overflow: hidden;
	margin-right: -20px;

	border: 1px solid white;
}

.schedule_card__notes {
	font-weight: 300;
	font-size: 12px;
	line-height: 16px;

	text-align: left;
	font-style: italic;
	color: var(--color-grey);
	
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;

	margin-left: 45px;
	padding-right: 20px;

	justify-self: flex-start;
	flex-grow: 100;
}

.schedule_card__chevron {
	justify-self: flex-end;
	fill: black;
	width: 10px;
}


.media_card_container {
	width: 100%;

	container-name: media-container;
	container-type: inline-size;

	overflow-y: scroll;
}

.media_card_container__inner {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	align-content: center;
	width: 100%;

	/*max-height: 700px;*/
}

.media_card {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;


	padding-left: 20px;
	padding-right: 20px;
	padding-bottom: 10px;

}

.media_card:last-child {
	padding-bottom: 20px;
}

.media_card__image {
	display: block;
	position: relative;
	width: 100%;

	border-radius: 12px;
	overflow: hidden;
}

.media_card__image img {
	display: block;
	width: 100%;
	object-fit: cover;
}

.media_card_image__overlay {
	display: flex;
	justify-content: center;
	align-items: center;
	align-content: center;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;

	background-color: rgba(255, 255, 255, 0);

	visibility: hidden;
}

.media_card_image__overlay svg {
	fill: rgba(255, 255, 255, 0);
	width: 40px;
	margin-left: 7px;
}

.media_card:hover .media_card_image__overlay svg {
	fill: rgba(255, 255, 255, 0.65);
}

.media_card:hover .media_card_image__overlay {

	background-color: rgba(255, 255, 255, 0.2);
	visibility: visible;
}

.media_card__details {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: flex-start;
	align-content: flex-start;

	padding-top: 7px;
	padding-left: 5px;
	padding-right: 10px;
	padding-bottom: 25px;

	width: 100%;

	flex-shrink: 3;
}

.media_card__title {

	width: 100%;

	font-weight: 200;
	font-size: 24px;
	text-align: left;

	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;

	padding-bottom: 4px;

	color: var(--color-black);
}

.media_card__description {

	width: 100%;

	font-weight: 200;
	font-size: 16px;
	text-align: justify;
	line-height: 22px;

	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;

	color: var(--color-black);
}

.media_card_empty {
	padding-left: 30px;
	padding-right: 20px;
	padding-bottom: 40px;

	width: 100%;

	text-align: left;
}

@container media-container (width > 500px) {

	.media_card_container__inner {
		justify-content: flex-start;
		align-items: flex-start;
		align-content: flex-start;
	}

	.media_card {
		flex-wrap: nowrap;
	}

	.media_card__image {
		min-width: 300px;
		width: 300px;
	}

	.media_card__details {
		padding-top: 7px;
		padding-left: 10px;
		padding-bottom: 15px;
	}

	.media_card__title {
		font-size: 24px;
	}
}

@container media-container (width > 600px) {
	
	.media_card__title {
		font-size: 24px;
	}
}



/* -------------------------- NEW STUFF -------------------------- */


.profilelist {
	display: flex;
	flex-direction: column;

	width: 100%;

	overflow-x: scroll;

}

.profilelist__item {
	display: flex;
	align-items: center;
	width: 100%;

	cursor: pointer;

	padding-top: 7px;
	padding-bottom: 7px;

	transition: 0s;
}

/*.profilelist__item:first-child {
	padding-top: 22px;
}*/

.profilelist__item:hover {
	background-color: #FAFAFA;
}

.profilelist__item:hover .profilelist__name {
	font-weight: 500;
	transition: 0;
}

.profilelist .mini_profile_picture {
	margin: 0;
	margin-left: 20px;
}

.profilelist__item:last-item {
	border-bottom: 0px;
}

.profilelist__name {
	font-weight: 300;
	font-size: 16px;
	color: black;

	flex-grow: 3;
	text-align: left;

	padding-left: 14px;
}

.profilelist__chevron {
	justify-self: flex-end;
	fill: black;
	width: 50px;
	padding-left: 10px;
	padding-right: 30px;
}

.profilelist .button {
	margin: 20px;
	border-radius: 20px;
}

.profilelist__link {

	padding: 15px;
	margin-right: 15px;

	color: var(--color-black);
}

.profilelist__link:hover {
	color: var(--color-grey);
}


.mini_profile_picture {
	height: 50px;
	width: 50px;
	min-width: 50px;

	border-radius: 50%;
	overflow: hidden;
	margin-right: 10px;
	margin-bottom: 10px;

}

.dashboard_container {
	display: flex;
	justify-content: center;
	width: 100%;
	background-color: #F0F0F0;
}

.dashboard {
	display: flex;
	flex-direction: column;

	padding-top: 35px;

	width: 100%;
	max-width: 1600px;
}

.dashboard__inner {
	display: flex;
	flex-direction: column;

	/*margin: -10px;*/

	width: 100%;

	flex-grow: 2;
}

.dashboard__row {
	display: flex;
	flex-direction: column;

	column-gap: 30px;

	width: 100%;
}

.dashboard__col, .dashboard__col--small {
	display: flex;
	flex-direction: column;

	margin-bottom: 30px;

	width: 100%;

	border-radius: 0px;
	overflow: hidden;

	color: black;
	background-color: white;

	flex-grow: 2;
}

/*.dashboard__col__inner {
	width: 100%;

	border-radius: 0px;
	overflow: hidden;

	background-color: white;
	flex-grow: 2;

}*/

.dashboard__col__inner--no-bg {
	width: 100%;
}

.dashboard__col_3 {
	width: 100%;
}

.dashboard__title_container {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: flex-start;
	justify-items: flex-start;
	align-content: flex-start;
	text-align: left;
}

.dashboard__title {
	font-size: 42px;
	font-weight: 200;
	text-align: left;

	flex-grow: 2;

	padding-left: 15px;
	margin-right: -5px;
}

.dashboard__minititle {

	font-size: 18px;
	font-weight: 300;
	text-align: left;

	padding-left: 18px;
	padding-top: 0px;
	padding-bottom: 8px;

	color: var(--color-grey);
}

.dashboard__banner {
	display: block;

	width: 100%;
	height: 300px;

}

.dashboard .info_card_container {
	padding: 0;
}

.dashboard .info_card:first-child {
	margin-top: 0;
}

.dashboard .info_card {
	border-radius: 0;
}

/*.dashboard .horizontal_list {
	padding-top: 20px;
	padding-bottom: 10px;
}
*/
.dashboard .button, .dashboard .button--grey {
	margin-top: 0;
	margin-left: 20px;
	margin-right: 20px;

	margin-bottom: 20px;
	border-radius: 20px;
}

.dashboard .button:first-child, .dashboard .button--grey:first-child {
	margin-top: 20px;
}


.dashboard_item__title {
	padding: 20px;
	font-weight:200;
	font-size: 28px;
	text-align: left;
}

.dashboard_item__tag {

	display: inline-block;
	vertical-align: middle;

	padding: 5px 12px;
	margin-bottom: 3px;
	margin-left: 1px;

	font-size: 10px;
	font-weight: 700;

	border-radius: 10px;	

	background-color: var(--color-dark-grey);
	color: var(--color-white);
}

.dashboard_item__text {

	padding-left: 30px;
	padding-right: 20px;
	padding-bottom: 20px;

	font-weight: 300;
	font-size: 18px;
	text-align: left;

	line-height: 30px;

	color: var(--color-black);
}

.dashboard__link_container {
	display: flex;
	align-self: flex-end;

	text-align: right;

	flex-direction: row;
	column-gap: 40px;

	padding-top: 15px;
	padding-left: 20px;
	padding-right: 20px;
}

.dashboard__link, .dashboard__link--disabled {
	color: var(--color-black);
	cursor: pointer;
	user-select: none;
}

.dashboard__link:hover {
	color: var(--color-grey);
}

.dashboard__link--disabled {
	color: var(--color-light-grey);
}

.dashboard__header {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	/*align-items: flex-end;*/
	padding-bottom: 15px;
}

.dashboard__header .dashboard__link, .dashboard__header .dashboard__link--disabled {
	padding-bottom: 6px;
}


.resource_list_container {
	overflow-x: scroll;
	width: 100%;
	height: 100%;
}

.resource_list {
	display: grid;
	grid-template-columns: auto 70px 90px 90px 70px;
	grid-row-gap: 16px;
	grid-col-gap: 20px;

	width: 100%;
	min-width: 550px;

	padding:  0 20px 20px 30px;

	margin-bottom: 20px;
}

.resource_item {
	align-self: center;
}

.resource_item__header {
	font-weight: 700;
	font-size: 15px;
	text-align: center;
	align-self: center;

	color: var(--color-black);

	padding-bottom: 2px;
}

.resource_item__header:first-child {
	text-align: left;
}

.resource_item__title {
	font-weight: 500;
	font-size: 15px;
	text-align: left;

	color: var(--color-black);

	flex-grow: 3;
}

.resource_item__link {
	height: 16px;
	color: var(--color-black);
}

.resource_item__link svg {
	height: 16px;
	fill: var(--color-black);
}

.resource_item__link:hover svg {
	fill: var(--color-grey);
}

.resource_item__link--disabled {
	height: 16px;
	cursor: default;
}

.resource_item__link--disabled svg {
	height: 16px;
	fill: var(--color-light-grey);
}




.container--fullscreen, .container--mostscreen {
	display: flex;
	justify-content: center;

	position: relative;
	top: 0;
	left: 0;
	right: 0;

	width: 100%;
}

.container--fullscreen {
	
	height: 100dvh;
	height: -webkit-fill-available;
	height: fill-available;

	overflow: hidden;
}

.container--mostscreen {

	height: 90vh;

	overflow: hidden;

}

.container--overlay-invisible, .container--overlay {
	display: block;
	height: 100%;
	width: 100%;

	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;

	z-index: 10000;
}

.container--overlay {
	display: flex;
	align-items: center;
	align-content: center;
	background-color: rgba(0, 0, 0, 0.3);
	color: var(--color-white);
}

.container--overlay .text_container__header {
	color: var(--color-white);
}


.landing_page__logo {
	display: block;
	position: absolute;
	left: 20px;
	bottom: 10px;
	height: 100px;
}

/* || navbar */

.navbar, .navbar--active {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;

	z-index: 100000;

	display: flex;
	flex-direction: column;

	/*background-color: rgba(0,0,0,0);*/

	/*background-color: var(--color-off-white);*/

	/*filter: drop-shadow(0px -5px 4px #000000);*/

}

.navbar__top {
	display: block;
	justify-content: space-between;
	align-items: center;
	align-content: center;

	width: 100%;

	padding: 10px;
}

.navbar__mobile {
	display: flex;
	justify-content: space-between;
	align-items: center;
	align-content: center;

	width: 100%;

}

.navbar_container--filled .navbar__top {
	background-color: var(--color-off-white);
}

.navbar__logo {
	display: flex;
	justify-content: center;
	align-items: center;
	/*padding-top: 10px;*/

	height: 40px;
	padding-top: 4px;
	padding-left: 3px;

}


.navbar_container .navbar__logo svg path:first-child {
	fill: var(--color-white);
}

.navbar_container .navbar__logo svg path, .navbar_container .navbar__logo svg circle, .navbar_container .navbar__menu svg path {
	stroke:  var(--color-white);
}


.navbar__logo svg {
	display: block;
	width: 240px;
	max-width: calc(100vw - 128px);
}

.navbar_container--logo-hidden .navbar__logo svg {
	display: none;
}

.navbar_container--logo-hidden .navbar__logo svg path:first-child {
	fill: var(--color-black);
}

.navbar_container--logo-hidden .navbar__logo svg path, .navbar_container--logo-hidden .navbar__logo svg circle {
	stroke: var(--color-black);
}

.navbar_container--logo-hidden .navbar__menu svg path {
	stroke: var(--color-white);
}

.navbar_container--inverted .navbar__logo svg path:first-child{ 
	fill: var(--color-black);
}

.navbar_container--inverted .navbar__logo svg path, .navbar_container--filled .navbar__logo svg path, .navbar_container--inverted .navbar__logo svg circle, .navbar_container--filled .navbar__logo svg circle, .navbar_container--filled .navbar__logo svg path:first-child, .navbar_container--inverted .navbar__menu svg path, .navbar_container--filled .navbar__menu svg path  { 
	stroke: var(--color-black);
}

.navbar_container--inverted .navbar__link {
	color: var(--color-black);
}

.navbar_container--inverted .navbar__link:hover {
	color: var(--color-dark-grey);
}

.navbar_container--fixed #navbar {
	position: fixed;
}

.navbar_container--fixed .navbar__top {
	background-color: var(--color-off-white);
}


.navbar_container--fixed svg {
	display: block;
}

.navbar_container--fixed .navbar__logo svg path:first-child {
	fill: var(--color-black);
	transition: 0s;
}

.navbar_container--fixed .navbar__logo svg path, .navbar_container--fixed .navbar__logo svg circle, .navbar_container--fixed .navbar__menu svg path {
	stroke: var(--color-black);
	transition: 0s;
}

.navbar_container--fixed .navbar__link, .navbar_container--filled .navbar__link {
	color: var(--color-black);
	transition: 0s;
}

.navbar__menu {
	display: flex;
	justify-content: center;
	align-items: center;
	align-content: center;
	margin-right: 0px;
	height: 40px;
	width: 40px;
	padding: 10px;
	cursor: pointer;

}

.navbar__links {
	display: none;
	flex-direction: column;
	flex-wrap: nowrap;
	justify-content: flex-start;
	align-items: flex-start;
	height: 0px;
	min-height: 0;
	width: 100%;
	overflow: hidden;
	flex-grow: 0;

	margin-top: 30px;
	margin-right: 20px;


}

.navbar__filler {
	display: none;
	flex-grow: 10;
	cursor: pointer;
}


.navbar--active {
	position: fixed;
	background-color: rgba(0, 0, 0, 0.7);
	bottom: 0;

	overflow-y: scroll;
}

.navbar--active .navbar__top {
	background-color: var(--color-white);
}

.navbar--active .navbar__logo svg {
	display: block;
}

.navbar--active .navbar__menu svg {
	transform: rotate(90deg);
}

.navbar--active .navbar__logo svg path:first-child  {
	fill: var(--color-black);
}

.navbar--active .navbar__logo svg path, .navbar--active .navbar__logo svg circle, .navbar--active .navbar__menu svg path {
	stroke: var(--color-black);
}

.navbar--active .navbar__links {
	display: flex;
	height: auto;
	flex-grow: 1;
}

.navbar--active .navbar__filler {
	display: block;
}

.navbar__link {
	display: block;
	text-align: center;
	font-size: 14px;
	font-weight: 400;
	letter-spacing: 1px;
	color: var(--color-black);
	padding: 20px 0;
	cursor: pointer;
	user-select: none;

	line-height: 20px;

	width: 100%;

	letter-spacing: 7%;

}

.navbar__link:hover {
	font-weight: 300;
	transition: 0s;
}

.navbar__button {
	display: block;
	padding: 16px 70px;
	color: var(--color-white);
	background-color: var(--color-black);
	font-weight: 300;
	font-size: 14px;
	cursor: pointer;
	transition: 0.1s;
	user-select: none;

	margin: 20px 0;

	width: 100%;

	transition: 0s;

	border-radius: 4px;


	letter-spacing: 50%;

}

.navbar__button:hover {
	background-color: var(--color-dark-grey);
	transition: 0.3s;
}

.navbar_spacer {
	height: 60px;
}

/* text container */

.text_container, .text_container--justify {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 100%;

	padding-top: 60px;
	padding-bottom: 40px;
	padding-left: 20px;
	padding-right: 20px;

}

.text_container--justify {
	align-items: flex-start;
}

.text_container__header {
	font-size: 36px;
	font-weight: 800;

	padding-bottom: 30px;

	color: var(--color-black);
}

.text_container__subheading {
	font-size: 26px;
	font-weight: 400;

	padding-top: 20px;

	color: var(--color-black);
}

.text_container__body {
	font-size: 20px;
	font-weight: 200;
	line-height: 33px;

	padding-bottom: 30px;

	width: 100%;
	max-width: 800px;
}

.justify {
	text-align: justify;
}

.list--undecorated li {
	list-style-type: none;
	text-align: justify;

	padding-bottom: 10px;
}

.text_container--justify .text_container__header, .text_container--justify .text_container__body {
	text-align: justify;
}


.text_container--pink, .text_container--pink .text_container__header, .text_container--pink .text_container__subheader,
.text_container--pink .text_container__body {
	background-color: var(--color-pink);
	color: var(--color-white);
}

.text_container--purple, .text_container--purple .text_container__header, .text_container--purple .text_container__subheader,
.text_container--purple .text_container__body {
	background-color: var(--color-purple);
	color: var(--color-white);
}

.text_container--red, .text_container--red .text_container__header, .text_container--red .text_container__subheader,
.text_container--red .text_container__body {
	background-color: #941818;
	color: var(--color-white);
}

.text_container--blue, .text_container--blue .text_container__header, .text_container--blue .text_container__subheader,
.text_container--blue .text_container__body {
	background-color: #0c2978;
	color: var(--color-white);
}




.floating_container {
	width: 100%;
	padding-left: 0;
	padding-right: 0;
}

.floating_container__inner {

	width: 100%;

	overflow: hidden;
}


/* image containers */

.image_container--bordered {
	display: flex;
	justify-content: center;
	width: 100%;
	padding-left: 0px;
	padding-right: 0px;

	margin-bottom: 60px;
	margin-top: 60px;
}

.image_container--bordered img {

	max-width: 1200px;
}

.image_container--panorama {
	height: 600px;
	position: relative;

	overflow: hidden;

}

.container--bottom {
	align-items: flex-end;
}

.image_selection, .image_selection--fullscreen {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: center;
	width: 100%;
	max-width: 1200px;
	padding-left: 0px;
	padding-right: 0px;
	/*margin-top: -20px;*/
	margin-bottom: 60px;

	gap: 10px;
}

.image_selection--fullscreen {
	flex-direction: column;
	flex-wrap: nowrap;
	max-width: 100%;
	margin-top: 0px;
	margin-bottom: 10px;
	margin-left: 10px;
	margin-right: 10px;
	height: calc(100vh - 100px);

	gap: 10px;
}

.image_selection__image, .image_selection__image--bigger {
	width: 340px;
	height: 340px;
	/*margin-bottom: 10px;*/


	flex-grow: 2;
}

.image_selection--fullscreen .image_selection__image, .image_selection--fullscreen .image_selection__image--bigger {
	width: 100%;
	height: 100px;
	/*margin-bottom: 10px;*/
}

.image_selection__image--bigger {
	flex-grow: 4;
}


.maps_container {
	width: 100%;
	max-width: 1200px;
	height: 600px;
}



/* snippet container */

.snippet_container, .snippet_container--reverse {
	display: flex;
	justify-content: center;
	align-items: flex-start;

	width: 100%;

	padding-left: 0px;
	padding-right: 0px;
	margin-top: 70px;
	margin-bottom: 70px;
}

.snippet_container__inner, .snippet_container--reverse .snippet_container__inner {
	display: flex;
	flex-direction: column-reverse;
	justify-content: flex-end;
	align-items: stretch;
	/*max-width: 1200px;*/
}

.snippet_container__text {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	align-self: center;
	width: 100%;
	height: 100%;
/*
	margin-top: 30px;
	margin-bottom: 100px;*/

	padding-left: 30px;
	padding-right: 30px;
	padding-top: 30px;
	padding-bottom: 0px;
	max-width: 700px;

	flex-grow: 0;
}

.snippet_container__header {
	font-size: 36px;
	font-weight: 800;

	color: var(--color-black);

	padding-bottom: 20px;
	text-align: center;
	width: 100%;
}

.snippet_container__body {
	font-size: 20px;
	font-weight: 200;
	line-height: 33px;

	padding-bottom: 20px;

	max-width: 800px;
	text-align: justify;
}

.snippet_container__image {
	display: flex;
	width: 100%;
	min-height: 360px;
	height: inherit;
	overflow: hidden;
}

.snippet_container__text .button, .snippet_container__text .button--inverted {
	align-self: center;
}



/* event container */

.event_container, .event_container--reverse, .event_container--vertical {
	display: flex;
	justify-content: center;
	align-items: flex-start;

	width: 100%;

	padding-left: 0px;
	padding-right: 0px;
	/*margin-top: 50px;*/
	margin-bottom: 50px;
}

.event_container__inner, .event_container--reverse .event_container__inner {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	align-items: stretch;
	max-width: 1300px;
}

.event_container__text {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	align-self: center;
	width: 100%;
	height: 100%;
/*
	margin-top: 30px;
	margin-bottom: 100px;*/

	padding-left: 30px;
	padding-right: 30px;
	padding-top: 25px;
	padding-bottom: 0px;
	/*max-width: 700px;*/

	flex-grow: 0;
}

.event_container__header {
	font-size: 32px;
	line-height: 44px;
	font-weight: 300;

	color: var(--color-black);

	padding-bottom: 12px;
	text-align: center;
	width: 100%;
}

.event_container__subheader {
	font-size: 20px;
	font-weight: 800;

	color: var(--color-black);

	padding-bottom: 15px;
	text-align: center;
	width: 100%;
}

.event_container__body {
	font-size: 18px;
	font-weight: 200;
	line-height: 33px;

	padding-bottom: 15px;

	/*max-width: 800px;*/
	text-align: center;
}

.event_container__image {
	display: flex;
	width: 100%;
	height: 350px;
	/*height: inherit;*/
	overflow: hidden;
}

.event_container__text .button, .event_container__text .button--inverted {
	align-self: left;
}


/* map container */

.map_container, .map_container--reverse {
	display: flex;
	justify-content: center;
	align-items: flex-start;

	width: 100%;

	padding-left: 0px;
	padding-right: 0px;
	/*margin-top: 50px;*/
	margin-bottom: 50px;
}

.map_container__inner, .map_container--reverse .map_container__inner {
	display: flex;
	flex-direction: column-reverse;
	justify-content: flex-end;
	align-items: stretch;
	max-width: 1300px;
	width: 100%;
}

.map_container__text {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	align-self: center;
	min-width: 300px;
	max-width: 100%;
	height: 100%;
/*
	margin-top: 30px;
	margin-bottom: 100px;*/

	padding-left: 30px;
	padding-right: 30px;
	padding-top: 25px;
	padding-bottom: 0px;
	/*width: 500px;*/

	flex-grow: 0;
}

.map_container__header {
	font-size: 32px;
	line-height: 44px;
	font-weight: 300;

	color: var(--color-black);

	padding-bottom: 12px;
	text-align: center;
	width: 100%;
}

/*.map_container__subheader {
	font-size: 20px;
	font-weight: 800;

	color: var(--color-black);

	padding-bottom: 15px;
	text-align: center;
	width: 100%;
}*/

.map_container__address {
	font-size: 18px;
	font-weight: 200;
	line-height: 33px;

	padding-bottom: 15px;

	/*max-width: 800px;*/
	text-align: center;
}

.map_container__link {
	display: block;
	font-size: 18px;
	font-weight: 300;
	line-height: 33px;

	margin: 0;

	padding-left: 0;
	padding-right: 0;
	padding-bottom: 15px;

	/*max-width: 800px;*/
	text-align: center;

	color: darkblue;
}

.map_container__link:hover {
	text-decoration: underline;
}

.map_container__map {
	display: flex;
	max-width: 100%;
	width: 1000px;
	min-height: 400px;
	height: inherit;
	overflow: hidden;

	flex-grow: 2;
}

.map_container__text .button, .map_container__text .button--inverted {
	align-self: left;
}

.map_container__iframe {
	width: 100%;
	height: 100%;
	min-height: 400px;
	border: 0;
}



/* Mini Carousel */

.mini_carousel {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	
	width: 100%;

	max-width: 100%;

	padding-left: 20px;
	padding-right: 20px;
	padding-bottom: 25px;

}

.mini_carousel__item {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: flex-start;
	padding: 10px;

	width: 300px;
}

.mini_carousel__image {
	width: 100%;
	height: 200px;

	border-radius: 4px;
	overflow: hidden;
}

.mini_carousel__text {
	padding-top: 7px;
	padding-bottom: 4px;
	padding-left: 10px;

	font-size: 24px;
	font-weight: 300;
	text-align: left;

	color: var(--color-black);
}

.mini_carousel__link {

	padding-left: 10px;
	padding-bottom: 15px;
	font-size: 14px;
	font-weight: 400;
	text-align: left;

	color: darkblue;
}

.mini_carousel__item:hover .mini_carousel__link {
	text-decoration: underline;
}




/* Team Container */


.team_container, .team_container--reverse {
	display: flex;
	justify-content: center;
	align-items: flex-start;
	flex-direction: column;

	width: 100%;
}

.team_container__item {
	width: 100%;
}

.team_container__image_container {
	display: flex;
	align-content: flex-end;
	justify-content: center;
	width: 100%;
	padding-top: 40px;
}

.team_container__image {
	width: 600px;
	max-width: 100%;
	max-height: 80vh;
}

.team_container__text_container {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	width: 100%;

}

.team_container__name {
	font-size: 46px;
	font-weight: 300;

	padding-top: 15px;

}

.team_container__title {
	font-size: 24px;
	font-weight: 700;

	padding-top: 0px;
}

.team_container__description {
	font-size: 18px;
	font-weight: 300;

	padding-top: 20px;
	padding-bottom: 80px;
}

.team_container--purple .team_container__image_container {
	background-color: var(--color-purple);
}

.team_container--pink .team_container__image_container {
	background-color: var(--color-pink);
}


/* Image List Container */

.image_list_container {
	display: flex;
	flex-direction: column;

	width: 100%;
}

.image_list__item {
	position: relative;/*
	justify-content: center;
	align-content: center;
	align-items: center;*/

	width: 100%;
	height: 30vh;

	margin: 0;
	padding: 0;

	cursor: pointer;
}

.image_list__item:hover .image_list__overlay {
	background: linear-gradient(0deg, rgba(0,0,0,0.4) 0%, rgba(0,0,0,0.1) 35%, rgba(255,255,255,0) 100%);
}

.image_list__overlay {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	position: absolute;

	top: 0;
	left: 0;
	bottom: 0;

	width: 100%;
	z-index: 100000;
	/*background-color: rgba(0, 0, 0, 0.4);*/
	/*background: rgb(0, 0, 0);*/
	background: linear-gradient(0deg, rgba(0,0,0,0.4) 0%, rgba(0,0,0,0.3) 35%, rgba(255,255,255,0) 100%);

	margin: 0;
	padding: 0;

	transition: 0.3s;
}

.image_list__header {
	font-size: 36px;
	font-weight: 300;
	color: var(--color-white);

	padding-top: 20px;
	padding-bottom: 5px;
}

.image_list__subheader {
	font-size: 20px;
	font-weight: 500;
	color: var(--color-white);

	padding-bottom: 30px;

}

.image_list__link_text {
	font-size: 12px;
	font-weight: 300;
	color: var(--color-white);

	padding-bottom: 25px;

	bottom: 0;
	position: absolute;
}

.image_list__image {
	max-height: 34vh;
	width: 100%;
	object-fit: cover;

	user-select: none;

	margin: 0;
	padding: 0;
}



/* Header Container */

.header_container__image {
	width: 100%;
	min-height: 70vh;
}

.header_container {
	display: flex;
	justify-content: center;
	flex-direction: column-reverse;

	position: relative;

	width: 100%;
	min-height: 80vh;

	background-color: var(--color-purple);
	color: var(--color-white);
}

.header_container__text {
	display: flex;
	justify-content: center;
	align-items: center;
	align-content: center;
	flex-direction: column;
	padding-top: 40px;
	padding-left: 40px;
	padding-right: 40px;
	padding-bottom: 60px;

	width: 100%;

}

.header_container__header {
	font-size: 36px;
	font-weight: 800;
	line-height: 49px;

	padding-bottom: 20px;

	width: 100%;

	text-align: center;
}

.header_container__body {
	font-size: 20px;
	font-weight: 300;
	padding-bottom: 20px;

	line-height: 34px;

	width: 100%;

	text-align: center;
}


/* button */

.inline_buttons_container {
	display: flex;
	flex-direction: column;

	width: 100%;

	column-gap: 16px;

}

.button, .button--inverted, .button--grey, .button--disabled {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 16px 70px;
	margin-top: 12px;
	margin-bottom: 12px;
	background-color: var(--color-black);
	color: var(--color-white);
	font-weight: 300;
	font-size: 16px;
	cursor: pointer;
	transition: 0.2s;
	user-select: none;

	border-radius: 5px;
}

.button:hover{
	background-color: var(--color-dark-grey);
	transition: 0.3s;
}

.button--inverted {
	background-color: var(--color-white);
	color: var(--color-black);
}

.button--inverted:hover {
	background-color: var(--color-light-grey);
}

.button--350 {
	width: 350px;
	max-width: 100%;
}

.button--grey {
	background-color: var(--color-light-grey);
	color: var(--color-black);
}

.button--grey:hover {
	background-color: var(--color-grey);
	color: var(--color-white);
}

.button--disabled {
	background-color: darkgrey;
	color: grey;

}

.button__icon {
	align-self: center;
	display: inline-block;
	width: 15px;

	margin-right: 10px;
	padding-top: 2px;
}

.slider {
	width: 100%;
	overflow: hidden;

	margin-bottom: 20px;

	cursor: grab;
	cursor: -moz-grab;
	cursor: -webkit-grab;
}

.slider:active {
	cursor: grabbing;
	cursor: -moz-grabbing;
	cursor: -webkit-grabbing;
}

.slides {
	display: flex;
	
	white-space: nowrap;
	overflow-x: scroll;
	scroll-snap-type: x mandatory;
	
	scroll-behavior: smooth;
	-webkit-overflow-scrolling: touch;
}

.slides.active {
	scroll-snap-type: none;
}

.slides::-webkit-scrollbar {
	display: none;
}

.slides {
	-ms-overflow-style: none;
	scrollbar-width: none;
}

.slide {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-shrink: 0;

	position: relative;

	width: 85%;
	max-height: calc(100vh - 180px);

	margin-right: 20px;
	
	scroll-snap-align: center;
	user-select: none;
}

.slide:first-child {
	margin-left: 20%;
}

.slide:last-child {
	margin-right: 20%;
}








/* -------------------------- SLIDESHOW STUFF -------------------------- */

.fullscreen_image {
	display: block;
	position: relative;
	top: 0;
	left: 0;
	right: 0;

	height: 100vh;
	width: 100%;

	overflow: hidden;

	z-index: 1000;

}

.slideshow {
	display: block;
	position: relative;
	/*left: 0;
	right: 0;*/
	margin: 0;
	width: 100%;
	height: 100vh;
	background-color: var(--color-white);
	z-index: 1100;

	overflow: hidden;
}

/* Hide the images by default */
.slideshow__slide {
	top: 0;
	left:0;
	right:0;
	margin:0;
	height: 100vh;
	width: inherit;
	display: none;
	position: relative;
	text-align: center;

	overflow: hidden;
}

.image_source {

	/*display: inline-block;*/
	width: 100%;
	height: inherit;
	max-height: 100%;
	object-fit: cover;

	user-select: none;
}

.video_background {
	display: flex;
	align-items: center;
	justify-content: center;

	position: relative;
	overflow: hidden;
	width: 100vw;
	height: 100vh;

	user-select: none;

	background-color: #000;
}

.video_background video, .video_background iframe  {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100vw;
	height: 100vh;
	transform: translate(-50%, -50%);
}

@media (min-aspect-ratio: 16/9) {
	.video_background video, .video_background iframe {
		/* height = 100 * (9 / 16) = 56.25 */
		height: 56.25vw;
	}
}
@media (max-aspect-ratio: 16/9) {
	.video_background video, .video_background iframe {
		/* width = 100 / (9 / 16) = 177.777777 */
		width: 177.78vh;
	}
}

.video_background__text {
	color: var(--color-white);
}



/* Next & previous buttons */
.slideshow__prev, .slideshow__next {
	position: absolute;
	top: 0;
	width: 50%;
	height: 100%;
	margin: 0;
	padding: 0em 1em;
	color: var(--color-white);
	font-weight: bold;
	font-size: 2em;
	transition: 0.5s ease;
	user-select: none;
	text-align: left;
	opacity: 0.075;

	transition: opacity 0.5s linear;


	z-index: 1200;
}

.slideshow__prev span, .slideshow__next span {
	cursor: pointer;
	position: relative;
	top: calc(50% - 1em);
	
}

/* Position the "next button" to the right */
.slideshow__next {
	right: 0;
	text-align: right;
}

/* Position the "next button" to the right */
.slideshow__prev {
	left: 0;
	text-align: left;
}

/* On hover, add a black background color with a little bit see-through */
.slideshow__prev:hover, .slideshow__next:hover {
	opacity: 0.4;
}

/* Fading animation */
.fade {
	-webkit-animation-name: fade;
	-webkit-animation-duration: 3s;
	animation-name: fade;
	animation-duration: 3s;
	animation-timing-function: ease-in;
}

@-webkit-keyframes fade {
	from {opacity: 0} 
	to {opacity: 1}
}

@keyframes fade {
	from {opacity: 0}
	to {opacity: 1}
} 

/* Fading animation */
.fadeout {
	-webkit-animation-name: fadeout;
	-webkit-animation-duration: 5s;
	animation-name: fadeout;
	animation-duration: 5s;
	animation-timing-function: ease-in;
}

@-webkit-keyframes fadeout {
	from {opacity: 1} 
	to {opacity: 0}
}

@keyframes fadeout {
	from {opacity: 1}
	to {opacity: 0}
} 




/* -------------------------- END SLIDESHOW STUFF -------------------------- */


/* || MODAL */


/* The Modal (background) */
.modal {
	display: none; /* Hidden by default */
	justify-content: center;
	position: fixed; /* Stay in place */
	z-index: 20000; /* Sit on top */
	left: 0;
	top: 0;
	width: 100%; /* Full width */
	height: 100vh; /* Full height */
	background-color: rgba(255,255,255,0.8); /* white w/ opacity */
}

/* Modal Content (Image) */
.modal-content {
	margin: auto;
	display: block;
	max-width: 100%;
	max-height: 90vh !important;
	object-fit: contain;
}

.modal-button { color: var(--color-white); }

.modal-content img {
	width: 100%;
}

/* Add Animation - Zoom in the Modal */
.modal-content { 
	animation-name: zoom;
	animation-duration: 0.6s;
}

@keyframes zoom {
	from {transform:scale(0)} 
	to {transform:scale(1)}
}

/* The Close Button */
.close {
	position: fixed;
	top: -0.5em;
	right: 0;
	color: var(--color-black);
	font-size: 4em;
	transition: 0.3s;
	z-index: 20100;
	padding: 0.5em;
}

.close:hover,
.close:focus {
	color: #bbb;
	text-decoration: none;
	cursor: pointer;
}

/* Next & previous buttons */
.prev, .next {
	cursor: pointer;
	position: absolute;
	top: 0;
	width: 50%;
	height: 100%;
	margin-top: 0;
	padding: 1em 1em;
	color: var(--color-black);
	font-weight: bold;
	font-size: 2em;
	transition: 0.5s ease;
	user-select: none;
	z-index: 20050;
	text-align: left;
	opacity: 0.3;

	transition: opacity 0.5s linear;
}

.prev span, .next span {

	position: relative;
	top: calc(50% - 1em);
	
}

/* Position the "next button" to the right */
.next {
	right: 0;
	text-align: right;
}

/* Position the "next button" to the right */
.prev {
	left: 0;
	text-align: left;
}

/* On hover, add a black background color with a little bit see-through */
.prev:hover, .next:hover {
	opacity: 0.5;
}



/*.gallery {
	display: grid;
	grid-template-columns: 1fr;
	grid-gap: 20px;
	align-items: center;
	justify-content: center;

	padding: 20px;

	width: 100%;

}*/

.gallery__item {
	height: 350px;
	width: inherit;

	cursor: pointer;
}

.header, .header--no-margin {
	margin-top: 20px;
	padding-top: 40px;
	padding-bottom: 20px;
}

.header--no-margin {
	margin-top: 0;
}

.header__text, .header__text--white {
	font-size: 42px;
	font-weight: 700;
	color: var(--color-black);
}

.header__text--white {
	color: var(--color-white);
}


.contact {
	background-color: var(--color-black);
	color: var(--color-white);

	margin: 0;
}

.contact__image {
	width: 100%;
	height: 60vh;
}











.booking_container {
	display: flex;
	flex-direction: column;
	align-items: flex-start;

	width: 800px;
	max-width: 100%;
	padding: 20px 10px 10px 10px;

	border-bottom: 1px solid #DDDDDD;
}

.booking_item, .booking_item--header {
	margin-right: 5px;
}

.booking_item--header {
	font-weight: 400;
}

.booking_item.button, .booking_item.button--grey {
	padding: 2px 15px;
}


.inline {
	display: flex;
	flex-direction: row;

}








.contact_container {
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	align-content: center;
	padding-top: 0px;
}

.contact_container__item {
	display: flex;
	flex-direction: column;
	align-items: center;
	
	font-family: Montserrat;
	width: 100%;
}

.contact_container__header {
	font-family: Montserrat;
	font-size: 36px;
	font-weight: 800;

	padding-top: 30px;
	padding-bottom: 15px;
	padding-left: 30px;
	padding-right: 30px;
}

.contact_container__body {

	font-family: Montserrat;
	font-size: 20px;
	font-weight: 400;
	line-height: 33px;

	text-align: center;

	padding-bottom: 30px;
	padding-left: 30px;
	padding-right: 30px;

	max-width: 800px;
}

form {
	display: flex;
	flex-direction: column;
	align-items: center;
	align-content: center;
	justify-content: center;
	justify-items: center;

	width: 100%;

	margin-bottom: 0px;
	padding: 0 10px;

}

form input, form textarea, form select, form button {
	margin: 8px 0;
	padding: 10px 14px;
	font-size: 16px;

	text-align: left;

	font-family: Montserrat;
	font-weight: 400;
	color: var(--color-black);
	background-color: var(--color-white);
	border: solid #515151 1px;
	border-radius: 5px;

	width: 500px;
	max-width: 100%;

	margin-bottom: 10px;
}

form button {
	border: 0;
}

form input:focus, form textarea:focus, form select:focus {
	border-color: var(--color-purple);
	outline: none;
}

.input_inline {
	display: inline-block;
	width: 500px;
	max-width: 100%;
}

form button {
	font-weight: 100;
	/*width: auto;*/
	background-color: var(--color-black);
	color: var(--color-white);
	padding: 16px 60px;
	font-weight: 300;
	text-align: center;

	border-radius: 5px;

	cursor: pointer;
}

.g-recaptcha { 
	width: 500px;
	max-width: 100%;
}

form button:hover, form button:active {
	background-color: var(--color-dark-grey);
	transition: 0.3s;
}

form button:active {
	transform: translateY(2px);
}

.content {
	padding-bottom: 40px;
	padding-top: 20px;

	min-height: calc(100vh - 39.5px);
}


.social_media {
	display: flex;
	justify-content: space-around;
	align-items: center;
	width: 100%;
	max-width: 600px;

	padding-bottom: 80px;
	margin: 0;
}

.social_media__item, .social_media__item--facebook, .social_media__item--instagram, .social_media__item--twitter, .social_media__item--youtube, .social_media__item--tiktok {
	padding: 20px;
	margin: 0;

	fill: var(--color-black);
}

.social_media__item--facebook:hover svg path {
	fill: var(--color-facebook);
}

.social_media__item--instagram:hover svg path {
	fill: var(--color-instagram);
}

.social_media__item--twitter:hover svg path {
	fill: var(--color-twitter);
}

.social_media__item--youtube:hover svg path {
	fill: var(--color-youtube);
}

.social_media__item--tiktok:hover svg path {
	fill: var(--color-tiktok);
}


.error, .success {
	font-family: Montserrat;
	font-weight: 100;
	text-align: center;
}

.error {
	color: red;
}

.success {
	color: darkgreen;
}

.hide_me {
	display: none;
}


.terms {
	margin-top: 200px;
	padding: 0 20px;
}


.footer {
	display: block;
	text-align: center;

	background-color: black;
	color: var(--color-white);
	font-size: 12px;
	font-weight: 300;

	width: 100%;

	padding: 7px 0;
}

.footer__item {
	font-weight: 300;
	display: inline-block;
	padding: 5px 10px;
}

.footer a:hover {
	text-shadow: 0.5px 0 var(--color-white);
}


.black_link {
	color: var(--color-black);
}

.black_link:hover {
	color: var(--color-light-grey);
}

.form {
	width: 520px;
	max-width: 100%;

	padding: 0 10px;
}

.form_item {
	width: 500px;
	max-width: 100%;
}

.form_link, .form_link--left {

	width: 500px;
	max-width: 100%;

	color: var(--color-grey);
	font-weight: 300;

	padding: 8px 0;
}

.form_link:hover, .form_link--left:hover {
	color: var(--color-light-grey);
}

.form_link--left {
	text-align: left;
}

.form_text, .form_text--left {
	display: inline;

	color: var(--color-black);
	font-weight: 400;

	padding-right: 10px;
}

.form_text--left {
	text-align: left;
}

.form_inline {
	display: inline;
	width: auto;
	max-width: 100%;
	flex-grow: 2;

	align-self: flex-end;
}

.form_elem {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 500px;
	max-width: 100%;
	overflow: hidden;
}

.form_elem .form_text--left {
	margin-bottom: 2px;
	margin-right: 3px;
	/*min-width: 125px;*/
}

.small_text_container {
	display: block;

	text-align: left;

	width: 100%;

	padding-top: 10px;
	padding-bottom: 10px;

	line-height: 20px;
}

.small_text {

	color: var(--color-black);
	font-weight: 300;
}

.small_text__link {

	display: inline-block;
	
	color: var(--color-black);
	font-weight: 400;
}

.small_text__link:hover {
	
	color: var(--color-grey);
}




/* Form Labels */

label {
	display: inline-block;
	width: 500px;
	max-width: 100%;
	height: 60px;

	overflow: hidden;
	cursor: text;

	text-align: left;

}

/*label input {
	display: block;
	height: 40px;
	width: 500px;
	max-width: 100%;
	padding: 18px 10px 0 10px;
	background-color: #EFEFEF;
	color: #444;
	font-size: 1em;
	border: 0;
	border-bottom: 2px solid #555;
	transition: 0.3s;
}*/

label span {
	position: relative;
	top: -41px;
	font-size: 16px;
	padding: 0 4px;
	transition: 0.3s;

	margin-left: 8px;

	background-color: var(--color-white);
	color: #B8B8B8;

	font-weight: 300;

	border-radius: 5px;
}

/*label:hover input, label input:focus {
	background-color: #F5F5F5;
}*/

label input:focus + span {
	top: -63px;
	font-size: 0.8em;
	color: var(--color-purple);

	font-weight: 400;
}

label input:focus {
	outline: none;
	color: var(--color-purple);
	border-color: var(--color-purple);

	font-weight: 400;
}

label input.input_not_blank + span {
	top: -63px;
	font-size: 0.8em;
	color: var(--color-black);

	font-weight: 400;
}

label input:focus.input_not_blank + span {
	color: var(--color-purple);

	font-weight: 400;
}




/* Hero Image */


.hero, .hero--video-detail {
	position: relative;
	display: block;
	width: 100%;
	height: 75vh;
}

.hero--video-detail {
	position: fixed;
	top: 0;
	left: 0;
	height: 100vh;
}

.hero__image {
	width: inherit;
	height: inherit;
}

.hero__image > img {
	width: inherit;
	height: inherit;
	object-fit: cover;
}

.hero__overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: inherit;

	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;

	/*padding-top: 0px;*/
	/*padding-bottom: 10%;*/
	padding-left: 30px;
	padding-right: 100px;

	background-image: linear-gradient(to right, rgba(0,0,0,0.8) , rgba(0,0,0,0));
}

.hero__title_image {
	width: 90%;
}

.hero__title_image > img {
	width: inherit;
	height: inherit;
	object-fit: contain;
	object-position: left;
}

.hero__description {
	padding: 8px 0 12px 10px;
}

.hero__button {

	max-width: 100%;

	text-align: center;
	font-size: 16px;
	font-weight: var(--font-weight-medium);
	color: var(--color-white);
	background-color: var(--color-black);

	padding: 12px 36px;
	margin: 8px 10px;

	border-radius: var(--default-border-radius);

	cursor: pointer;
}

.hero__button:hover {
	background-color: var(--color-black-80);
}

.bg--purple {
	background-color: var(--color-purple);
}

.bg--red {
	background-color: #941818;
}

.bg--blue {
	background-color: #0c2978;
}

.no_hover {
	pointer-events: none;
}

.hp_1 {
	visibility: hidden;
	height: 0;
	width: 0;
}




@media only screen and (max-width: 1100px) {
	.hide_on_mobile {
		display: none;
	}
}

@media only screen and (min-width: 1101px) {
	.hide_on_desktop {
		display: none;
	}
}


/* Extra small devices (phones, 768px and down) */
@media only screen and (min-width: 640px) {



	.text_container {
		padding-left: 40px;
		padding-right: 40px;
	}

	.image_container--bordered {
		padding-left: 40px;
		padding-right: 40px;
	}

	.image_selection--fullscreen {
		flex-direction: row;
		margin-top: 0;
		margin-bottom: 30px;
	}

	.image_selection--fullscreen .image_selection__image, .image_selection--fullscreen .image_selection__image--bigger {
		height: calc(100vh - 120px);
	}

	.snippet_container__image {
		padding-left: 30px;
		padding-right: 30px;
	}

	.snippet_container__image img {
		border-radius: 20px;
	}

	.event_container {
		padding-left: 30px;
		padding-right: 30px;
	}

	.events_container {
		display: flex;
		flex-direction: row;
		justify-content: center;

		width: 100%;
	}

	.events_container__inner {
		display: flex;
		flex-direction: row;
		justify-content: center;

		width: 100%;
		max-width: 1000px;
	}

	.event_container--vertical {
		width: 50%;
	}

	.event_container--vertical .event_container__text {
		padding-left: 60px;
		padding-right: 60px;
	}

	.event_container__text {
		align-items: flex-start;
	}

	.event_container__header {
		text-align: left;
	}

	.event_container__subheader {
		text-align: left;
	}

	.event_container__body {
		text-align: justify;
	}

	.event_container__image {
		padding-left: 30px;
		padding-right: 30px;
	}

	.event_container__image img {
		border-radius: 10px;
	}

	.map_container {
		padding-left: 30px;
		padding-right: 30px;
	}

	.map_container__map {
		padding-left: 30px;
		padding-right: 30px;
	}

	.social_media__item, .social_media__item--facebook, .social_media__item--instagram, .social_media__item--twitter, .social_media__item--youtube, .social_media__item--tiktok {
		margin: 0 20px;
	}


	.input_inline {
		width: 247.5px;
	}


	.hero__overlay {
		
		width: 75%;
		
		padding-left: 30px;
		padding-right: 60px;

	}

	.floating_container {
		
		margin-bottom: 50px;
	}

	.header_container {
		margin-bottom: 50px;
	}

	.inline_buttons_container {
		flex-direction: row;
	}

	.event_container--vertical .inline_buttons_container {
		flex-direction: column;
	}

	.mini_carousel {
		flex-direction: row;
		align-items: flex-start;
	}

	.mini_carousel__item {
		width: 400px;
	}

	.mini_carousel__image {
		height: 250px;
	}

}

@media only screen and (min-width: 700px) {


}

/* Small devices (portrait tablets and large phones, 768px and up) */
@media only screen and (min-width: 800px) {


	.slider {
		margin-bottom: 40px;
	}

	.contact_container {
		flex-direction: row;
	}


	.contact_container__item {
		align-items: flex-start;
		width: 50%;
	}

	.contact_container__image {
		height: calc(100vh - 100px);
		padding-left: 30px;
		padding-right: 30px;
	}

	.contact_container__body {
		text-align: justify;
	}

	.error, .success {
		text-align: justify;
	}


	.snippet_container__image {
		padding-left: 80px;
		padding-right: 80px;

		max-height: 400px;
	}

	.event_container__image {
		height: 450px;
	}

	.map_container__header {
		text-align: left;
	}

	.map_container__subheader {
		text-align: left;
	}

	.map_container__address {
		text-align: left;
	}

	.map_container__link {
		text-align: left;
	}

	.map_container__inner {
		flex-direction: row;
	}

	.map_container__text {

		align-items: flex-start;

		width: 500px;

		padding-bottom: 20px;
	}

	.map_container__text .button, .map_container__text .button--inverted {
		align-self: flex-start;
	}

	.map_container .map_container__map {
		padding-right: 10px;
		padding-left: 40px;
	}

	.map_container--reverse .map_container__map {
		padding-left: 10px;
		padding-right: 40px;
	}

	.map_container--reverse .map_container__inner {
		flex-direction: row-reverse;
	}

	.hero__overlay {
		
		width: 75%;
		
		padding-left: 60px;
		padding-right: 100px;

	}

	.image_list_container {
		flex-direction: row;
	}

	.image_list__item {
		height: calc(100vh - 100px);
	}

	.image_list__header {
		font-size: 44px;
	}

	.image_list__subheader {
		font-size: 26px;
		padding-bottom: 80px;
	}

	.image_list__link_text {
		font-size: 16px;

		bottom: 30px;
	}

	.padded_container {
		padding-left: 40px;
		padding-right: 40px;
	}

	.dashboard__row {
		flex-direction: row;
	}

	.dashboard__inner--small {
		width: 50%;
	}

	.dashboard {
		padding-top: 45px;
		padding-left: 60px;
		padding-right: 60px;
		padding-bottom: 60px;
	}

	.dashboard__col, .dashboard__col--small {
		border-radius: 20px;
	}

	.dashboard__col__inner {
		border-radius: 20px;
	}

	.dashboard__col_3 {
		width: 450px;
	}

	.dashboard .info_card {
		border-radius: 20px;
	}

	.dashboard__subtitle {
		padding-left: 10px;
	}
}

@media only screen and (min-width: 950px) {


	.snippet_container__text {
		max-width: 800px;
	}

	.snippet_container__image {
		padding-left: 120px;
		padding-right: 120px;

		max-height: 450px;
	}

/*	.event_container__image {
		padding-left: 120px;
		padding-right: 120px;

		max-height: 450px;
	}*/


	.hero__overlay {
		
		width: 75%;
		
		padding-left: 100px;
		padding-right: 25%;

	}

}

/* Large devices (laptops/desktops, 1050px and up) */
@media only screen and (min-width: 1100px) {
	

	.navbar__top {
		display: flex;
	}

	.navbar__mobile {
		width: auto;
	}

	.navbar__menu {
		display: none;
	}

	.navbar__logo {
		/*margin-left: 0;*/
		padding-left: 10px;
	}


	.navbar__links {
		display: flex;
		width: auto;
		flex-direction: row;
		height: auto;

		padding: 0;
		margin-top: 0;
	}

	.navbar__link {
		color: var(--color-white);
		padding: 10px 30px;
		font-size: 12px;

		width: auto;
	}

	.navbar__button, .navbar--active .navbar__button {
		background-color: var(--color-white);
		color: var(--color-black);
		width: auto;
		margin: 0 20px;
		padding: 12px 38px;
	}

	.navbar__button:hover, .navbar--active .navbar__button:hover {
		background-color: var(--color-light-grey);
		transition: 0.3s;
	}

	.navbar_container--fixed .navbar__button, .navbar_container--filled .navbar__button {
		color: var(--color-white);
		background-color: var(--color-black);
	}

	.navbar_container--fixed .navbar__button:hover, .navbar_container--filled .navbar__button:hover {
		background-color: var(--color-dark-grey);
	}


	.navbar--active {
		position: absolute;
		top: 0;
		left: 0;
		right: 0;

		z-index: 100000;

		display: flex;
		flex-direction: column;

		background-color: rgba(0,0,0,0);
	}

	.navbar--active .navbar__top {
		background-color: rgba(0,0,0,0);
	}

	.navbar_container--fixed .navbar--active .navbar__top, .navbar_container--filled .navbar--active .navbar__top {
		background-color: var(--color-white);
	}

	.navbar_container--logo-hidden .navbar--active .navbar__logo svg {
		display: none;
	}


	.navbar--active .navbar__logo svg path:first-child {
		fill: white;
	}

	.navbar--active .navbar__logo svg path, .navbar--active .navbar__logo svg circle {
		stroke: var(--color-white);
	}

	.navbar_container--fixed .navbar--active .navbar__logo svg path:first-child, .navbar_container--filled .navbar--active .navbar__logo svg path:first-child {
		fill: var(--color-black);
	}

	.navbar_container--fixed .navbar--active .navbar__logo svg path, .navbar_container--filled .navbar--active .navbar__logo svg path, .navbar_container--fixed .navbar--active .navbar__logo svg circle, .navbar_container--filled .navbar--active .navbar__logo svg circle  {
		stroke: var(--color-black);
	}

	.navbar--active .navbar__links {
		display: flex;
		width: auto;
		flex-direction: row;
		height: auto;

		padding: 0;

		flex-grow: 0;
	}

	.navbar--active .navbar__filler {
		display: none;
	}



	.snippet_container__image {
		max-width: 52%;
		max-height: 100%;
	}

	.event_container .event_container__image, .event_container--reverse .event_container__image {
		max-width: 45%;
		max-height: 100%;
	}

	.map_container__map {
		/*max-width: 45%;*/
		max-height: 100%;
	}




	.content {
		padding-left: 10vw;
		padding-right: 10vw;
	}


	.landing_page__logo {
		left: 25px;
		bottom: 15px;
	}

	.image_selection--fullscreen {
		margin-left: 20px;
		margin-right: 20px;

		gap: 20px;
	}

	.image_selection {
		gap: 20px;
	}

	.slider {
		margin-bottom: 60px;
	}

	.slide {
		margin-right: 30px;
	}

	.snippet_container__inner {
		flex-direction: row;
	}

	.snippet_container__header {
		text-align: left;
	}
	
	.snippet_container__text {
		padding-left: 80px;
		padding-right: 80px;
		padding-bottom: 80px;
		padding-top: 80px;
	}

	.snippet_container__text .button, .snippet_container__text .button--inverted {
		align-self: flex-start;
	}

	.snippet_container .snippet_container__image {
		padding-right: 0;
		padding-left: 0;
	}

	.snippet_container .snippet_container__image img {
		border-top-right-radius: 0;
		border-bottom-right-radius: 0;
	}

	.snippet_container--reverse .snippet_container__image {
		padding-left: 0;
		padding-right: 0;
	}

	.snippet_container--reverse .snippet_container__image img {
		border-top-left-radius: 0;
		border-bottom-left-radius: 0;
	}

	.snippet_container--reverse .snippet_container__inner {
		flex-direction: row-reverse;
	}


	.event_container .event_container__inner {
		flex-direction: row;
	}

	.event_container__header {
		text-align: left;
	}
	
	.event_container__text {
		padding-bottom: 20px;
	}

	.event_container .event_container__text .button, .event_container .event_container__text .button--inverted, .event_container--reverse .event_container__text .button, .event_container--reverse .event_container__text .button--inverted,  {
		align-self: flex-start;
	}

	.event_container .event_container__image {
		padding-right: 10px;
		padding-left: 0;
	}

	.event_container--reverse .event_container__image {
		padding-left: 10px;
		padding-right: 0;
	}

	.event_container--reverse .event_container__inner {
		flex-direction: row-reverse;
	}



	.floating_container {
		display: flex;
		justify-content: center;

		padding-left: 30px;
		padding-right: 30px;

	}

	.floating_container__inner {

		border-radius: 10px;
		max-width: 1300px;
	}


	.team_container--purple {
		background-color: var(--color-purple);
		color: var(--color-white);
	}

	.team_container--pink {
		background-color: var(--color-pink);
		color: var(--color-white);
	}

	.team_container {
		flex-direction: row-reverse;
		align-items: center;
	}

	.team_container--reverse {
		flex-direction: row;
		align-items: center;
	}

	.team_container .team_container__item {
		display: flex;
		justify-content: flex-end;
	}

	.team_container--reverse .team_container__item {
		display: flex;
		justify-content: flex-start;
	}


	.team_container .team_container__text_container {

		align-items: flex-start;
		padding-top: 20px;
		padding-left: 50px;
		padding-right: 30px;
		padding-bottom: 60px;

		max-width: 550px;
	}

	.team_container--reverse .team_container__text_container {

		align-items: flex-end;
		padding-top: 20px;
		padding-left: 30px;
		padding-right: 50px;
		padding-bottom: 60px;

		max-width: 550px;
	}


	.team_container .team_container__image_container {
		justify-content: flex-start;
	}

	.team_container--reverse .team_container__image_container {
		justify-content: flex-end;
	}

	.header_container {
		flex-direction: row;
	}

	.header_container__text {

		padding-top: 120px;
		padding-left: 100px;
		padding-right: 100px;
		padding-bottom: 120px;

		max-width: 50%;
	}

	.header_container__image {

		max-width: 50%;
		min-height: auto;
	}

	.header_container__header {
		
		font-size: 42px;
		line-height: 55px;

		text-align: left;
	}

	.header_container__body {
		
		text-align: justify;
	}

	.header_container .button--inverted, .header_container .button--disabled {
		align-self: flex-start;
	}

	.container, .container--reverse {
		flex-direction: row;
	}

	.padded_container {
		padding-left: 60px;
		padding-right: 60px;
	}

	.event_container__image {
		min-height: 350px;
		height: inherit;
	}

} 

@media only screen and (min-width: 1100px) {



}

/* Extra large devices (large laptops and desktops, 1200px and up) */
@media only screen and (min-width: 1200px) {
	

	.content {
		padding-left: 7vw;
		padding-right: 7vw;
	}

	.slide {
		margin-right: 40px;
	}

	.hero__overlay {
		
		width: 75%;
		
		padding-left: 100px;
		padding-right: 35%;

	}


}

/* Extra Extra large devices (large laptops and desktops, 1400px and up) */
@media only screen and (min-width: 1500px) {
	
	.snippet_container .snippet_container__image {
		padding-right: 0px;
		margin-left: 40px;
	}

	.snippet_container .snippet_container__image img {
		border-top-right-radius: 0;
		border-bottom-right-radius: 0;
	}


	.snippet_container--reverse .snippet_container__image {
		padding-left: 0px;
		margin-right: 40px;
	}	

	.snippet_container--reverse .snippet_container__image img {
		border-top-left-radius: 0;
		border-bottom-left-radius: 0;
	}

}