:root {
	--black:#1f1f1f;
	--grey:#747474;
	--lightgrey:#aeaeae;
	--white:#f4f4f4;
	
	--blue:#0083c0;
	
	--green:#05b085;
	
	--transition:all .2s ease-in-out;
}


html, body{
	background:white;
	font-family:"Ubuntu", sans-serif;
	font-weight:300;
	letter-spacing:0;
	padding:0;
	margin:0;
	color:var(--black);
	overflow-x:hidden;
}
html.lock, body.lock {
	overflow:hidden;
}

body {
	margin-top:193px;
	transition:var(--transition);
}
body.bg-lightgrey {
	background-color:#f8f8f8;
}
/*
body.header-sm {
	margin-top:129px;
}
*/

@media(max-width:991px) {	
	body {
		margin-top:60px;
	}
}

a, a:hover, a:focus,
button, button:hover, button:focus {
	transition:var(--transition);
	text-decoration:none;
	cursor:pointer;
	color:currentColor;
	outline:none;
	box-shadow:none;
}
*:focus {
	outline:none;
	box-shadow:none;
}
input::placeholder, textarea::placeholder, input::-webkit-placeholder, textarea::-webkit-placeholder {
	color:currentColor;
}
input:-ms-input-placeholder, textarea:-ms-input-placeholder {
	color:currentColor;
}

.container, .container-fluid {
	position:relative;
	width:100%;
	padding:0 20px;
}
.container.container-full {
	max-width:2000px; /* Layouts' fullscreen */
}

@media(min-width:1200px) {
	.container {
		max-width:1084px; /* 1044 + 40 padding */
	}
	
	.container.container-sm {
		max-width:930px; /* 890 + 40 padding */
	}
	
	.container.container-template {
		max-width:890px; /* 850 + 40 padding */
	}
}


/*************************************/
/********** BUTTONS / LINKS **********/
/*************************************/

.button {
	display:inline-block;
	padding:14px 40px;
	font-size:13px;
	font-weight:500;
	color:var(--black);
	text-transform:uppercase;
	position:relative;
	border-radius:50px;
	margin:2px;
}
.button::before {
	content:"";
	position:absolute;
	top:-2px;bottom:-2px;
	left:-2px;right:-2px;
	background:linear-gradient(to left, var(--blue) 0%, var(--green) 100%);
	border-radius:50px;
	transition:var(--transition);
}
.button::after {
	content:"";
	position:absolute;
	top:0;bottom:0;
	left:0;right:0;
	background:white;
	border-radius:50px;
	transition:var(--transition);
}
.button::before, .button::after {
	will-change:transform;
}
.button:hover::before, .button:hover::after {
	transform:scale(1.05);
}
.button.button-sm {
	font-size:12px;
	text-align:center;
	padding:10px 25px;
	min-width:125px;
}

.button > span {
	position:relative;
	z-index:2;
	color:inherit !important;
}

.button.button-fill {
	color:white
}
.button.button-fill::after, .button.green::after {
	display:none;
}

.button.green {
	margin:1px;
	color:#0d9fa2;
}
.button.green::before {
	top:-1px;bottom:-1px;
	left:-1px;right:-1px;
	background:transparent;
	border:1px solid #0d9fa2;
}


.link {
	display:inline-block;
	position:relative;
	font-size:16px;
	font-weight:500;
	padding-right:30px;
}
.link.link-reverse {
	padding-right:0;
	padding-left:30px;
}
.link::after {
	content:"";
	width:17px;
	height:10px;
	position:absolute;
	top:0;bottom:0;
	right:0;
	margin:auto;
	background-image:url(/assets/img/arrow.svg);
	background-size:cover;
	background-position:-17px;
	transition:all .4s ease-in-out;
}
.link.link-reverse::after {
	right:auto;
	left:0;
	transform:rotate(180deg);
}
.link.blue {
	color:var(--blue);
}
.link.blue::after {
	background-image:url(/assets/img/arrow-blue.svg);
}
.link.green {
	color:var(--green);
}
.link.green::after {
	background-image:url(/assets/img/arrow-green.svg);
}
.link:hover::after {
	background-position:18px;
}

@media(max-width:991px) {
	.button {
		padding:10px 25px;
		font-size:12px;
	}
}


/****************************/
/********** HEADER **********/
/****************************/

header {
	position:fixed;
	top:0;left:0;
	width:100vw;
	background-color:white;
	font-size:0;
	z-index:10;
	transition:var(--transition);
}
header.open {
	z-index:12;
	transition:none;
}

/********** UPPER SECTION **********/

header > .upper {
	padding:20px 40px;
	display:flex;
	transition:var(--transition)
}
header.header-sm > .upper {
	padding:15px 40px;
}

header > .upper > a {
	width:186px;
	position:relative;
}
header.header-sm > .upper > a {
	width:170px;
}

header > .upper > a img {
	transition:var(--transition);
}

header > .upper > div {
	flex:1;
	display:flex;
	align-items:center;
	justify-content:flex-end;
}


header > .upper .phone a {
	display:inline-block;
	font-size:24px;
	font-weight:300;
	color:var(--black);
	text-transform:uppercase;
	padding-left:42px;
	position:relative;
}
header > .upper .phone a::before {
	content:"";
	position:absolute;
	top:0;bottom:0;
	left:0;
	margin:auto;
	width:22px;
	height:22px;
	background-image:url(/assets/img/phone-green.svg);
}


/********** SEARCH **********/

header .upper .search {
	margin-left:40px;
	height:51px;
	position:relative;
	overflow:hidden;
	transition:var(--transition);
}
header .upper .search.open {
	padding-left:200px;
}
header .upper .search a {
	position:absolute;
	top:0;bottom:0;
	right:25px;
	margin:auto;
	width:15px;
	height:15px;
	display:block;
	font-size:0;
	background-image:url(/assets/img/lupe.svg);
}

header .upper .search .input-wrapper {
	position:relative;
	font-size:0;
	transition:var(--transition);
}
header .upper .search.open .input-wrapper {
	left:0;
}
header .upper .search .input-wrapper::before {
	content:"";
	position:absolute;
	top:0px;bottom:0px;
	left:0px;right:0px;
	background:linear-gradient(to left, var(--blue) 0%, var(--green) 100%);
	border-radius:50px;
}

header .upper .search .input-wrapper input {
	padding:14px 30px;
	padding-right:60px;
	position:relative;
	width:230px;
	margin:2px;
	border:none;
	border-radius:50px;
	background-color:white;
	font-size:13px;
	font-weight:500;
	color:var(--black);
}


/********** MENU TOGGLE **********/

header > .upper .menu-toggle {
	display:block;
	height:calc(100% + 16px);
	margin:-8px -8px -8px 20px;
	width:50px;
	background:linear-gradient(to right, var(--blue) 0%, var(--green) 100%);
	position:relative;
	transition:var(--transition);
}

header > .upper .menu-toggle > span {
	position:absolute;
	top:0;bottom:0;
	left:0;right:0;
	margin:auto;
	height:2px;
	width:20px;
	background-color:white;
	border-radius:2px;
	transition:all .2s ease-in-out;
	z-index:1;
}
header > .upper .menu-toggle > span:first-of-type {
	transform:translateY(-8px);
}
header > .upper .menu-toggle > span:last-of-type {
	transform:translateY(8px);
}
header.open > .upper .menu-toggle > span:first-of-type {
	transform:rotate(-45deg);
	width:26px;
}
header.open > .upper .menu-toggle > span:nth-of-type(2) {
	opacity:0;
}
header.open > .upper .menu-toggle > span:last-of-type {
	transform:rotate(45deg);
	width:26px;
}


/********** NAV SECTION **********/

header > .nav {
	background:linear-gradient(to right, var(--blue) 0%, var(--green) 100%);
}

header > .nav ul {
	padding:0;
	margin:0 -20px;
	list-style:none;
	display:flex;
	justify-content:center;
}
header > .nav ul li {
	position:relative;
}

header > .nav h3 {
	margin:0;
	font-size:16px;
	font-weight:500;
	color:white;
	text-transform:uppercase;
}
header > .nav h3 a {
	display:block;
	padding:30px 20px;
}
header > .nav li:hover h3 a, header > .nav li:focus h3 a, header > .nav li.active h3 a {
	background-color:rgba(31,31,31,.1);
}
header.header-sm > .nav h3 a {
	padding:25px 20px;
}

header > .nav ul li.sub ul {
	display:block;
	padding:23px 20px;
	min-width:100%;
	margin:0;
	background-color:var(--black);
	position:absolute;
	top:100%;
	left:0;
	opacity:0;
	pointer-events:none;
	transition:var(--transition);
}
header > .nav ul li.sub:hover ul, header > .nav ul li.sub:focus ul, header > .nav ul li.sub.open ul {
	opacity:1;
	pointer-events:auto;
}
header > .nav ul li.sub ul li {
	padding:7px 0;
}
header > .nav ul li.sub ul li h4 {
	font-size:12px;
	font-weight:400;
	text-transform:uppercase;
	color:white;
	white-space:nowrap;
	margin:0;
}
header > .nav ul li.sub ul li h4 a {
	opacity:.6;
}
header > .nav ul li.sub ul li h4 a:hover, header > .nav ul li.sub ul li h4 a:focus {
	opacity:1;
}


@media(max-width:991px) {
	
	/********** UPPER SECTION **********/
	
	header > .upper {
		padding:8px;
	}
	
	header > .upper > a {
		width:112px;
	}

	header > .upper .phone a {
		font-size:0;
	}
	header > .upper .phone a::before {
		height:20px;
		width:20px;
	}
	
	/********** SEARCH **********/
	
	header .upper .search::before {
		content:"";
		position:absolute;
		top:0;bottom:0;
		right:0;
		margin:auto;
		width:20px;
		height:20px;
		background-image:url(/assets/img/lupe.svg);
	}
	
	header .upper .search a {
		padding-top:13px;
	}
	
	header .upper .search, header .upper .search.open {
		height:40px;
		padding:0 10px;
		margin-left:0;
	}
	
	header .upper .search .input-wrapper {
		position:fixed;
		left:0;
		height:51px;
		max-height:0;
		overflow:hidden;
		top:60px;
		width:100%;
	}
	header .upper .search.open .input-wrapper {
		max-height:51px;
	}
	header .upper .search .input-wrapper::before {
		border-radius:0;
	}
	
	header .upper .search .input-wrapper input {
		width:calc(100% - 4px);
		border-radius:0;
	}
	
	/********** LANGUAGE **********/
	
	header .language, header .language:hover {
		position:absolute;
		top:15px;left:0;
		background-color:rgba(255,255,255,.35);
   	 	border:none;
		z-index:1;
	}
	
	header .language > div, header .language:hover > div {
		background-color:inherit;
		border:none;
		left:0;right:0;
	}
	
	header .language span, header .language > div a {
		color:white;
	}
	header .language span::before {
		border-top-color:white;
	}
	
	header .language > div hr {
		border-top:2px solid #a0dfe0;
	}
		
	/********** NAV SECTION **********/

	header > .nav {
		position:fixed;
		top:0;bottom:0;
		left:0;right:0;
		overflow:auto;
		transform:translateX(100%);
		transition:var(--transition);
	}
	header.open > .nav {
		transform:translateX(0%);
	}
	header > .nav .container-fluid {
		padding:0;
	}
	
	header > .nav ul {
		padding:100px 0 70px;
		margin:-15px 0;
		display:block;
		text-align:center;
	}
	
	header > .nav h3 a {
		padding:15px 20px;
	}
	header > .nav li:hover h3 a, header > .nav li:focus h3 a, header > .nav li.active h3 a {
		background-color:transparent;
	}
	
	header > .nav ul li.sub ul {
		padding:23px 20px;
		position:relative;
		opacity:1;
		pointer-events:auto;
	}
}


/*********************************************/
/********** HOMEPAGE BANNER SECTION **********/
/*********************************************/

.hp-banner {
	height:calc(100vh - 193px);
	position:relative;
	background-color:var(--white);
	display:flex;
	align-items:center;
}

/********** IMAGAE **********/

.hp-banner .image {
	position:absolute;
	top:0;bottom:0;
	right:0;
	width:50%;
	display:flex;
	justify-content:flex-end;
}

.hp-banner .image img {
	height:100%;
	max-width:none;
}

/********** DESCRIPTION **********/

.hp-banner .description {
	z-index:2;
}
.hp-banner .description .row {
	margin:0;
}
.hp-banner .description .row > div {
	padding:0;
}

.hp-banner .description h2 {
	font-size:40px;
	font-weight:300;
	color:var(--black);
	line-height:1.5;
	text-transform:uppercase;
	margin-bottom:20px;
}

.hp-banner .description p {
	font-size:16px;
	font-weight:300;
	color:var(--grey);
	margin-bottom:30px;
}
.hp-banner .description p i {
	color:var(--black);
	font-weight:400;
}

.hp-banner .button::after {
	background-color:var(--white);
}


@media(max-width:991px), (orientation:portrait) {
	.hp-banner {
		height:calc(100vh - 60px);
		flex-direction:column;
		background-color:var(--black);
	}	
	
	.hp-banner .description {
		padding:20px;
		padding-bottom:30px;
	}	
	
	.hp-banner .description h2 {
		font-size:36px;
		color:white;
	}
	
	.hp-banner .description p {
		font-size:14px;
		margin-bottom:20px;
	}
	.hp-banner .description p i {
		color:white;
	}
	
	.hp-banner .description .button {
		color:white;
	}
	.hp-banner .description .button::after {
		background-color:var(--black);
	}
	
	.hp-banner .image {
		position:relative;
		width:100%;
		overflow:hidden;
		display:block;
	}
	.hp-banner .image img {
		width:100%;
		height:auto;
	}
}
@media(min-width: 992px) and (orientation: portrait) {
	.hp-banner {
		height:calc(100vh - 193px);
	}
}

@media(max-width:767px) {
	.hp-banner {
		background-color:var(--white);
	}	
	
	.hp-banner .description {
		background-color:var(--black);
	}
		
	.hp-banner .description h2 {
		font-size:20px;
	}
	
	.hp-banner .description p {
		font-size:13px;
	}
	
	.hp-banner .image {
		height:0;
		padding-top:54.688%;
	}
	.hp-banner .image img {
		position:absolute;
		width:75%;
		top:0;
		left:0;right:0;
		margin:auto;
		height:auto;
	}
}


/******************************************/
/********** HOMEPAGE SCROLL DOWN **********/
/******************************************/

@keyframes scroll {
	0% 		{ transform:translateY(-6px) }
	100% 	{ transform:translateY(16px) }
}
@keyframes scroll-mobile {
	0% 		{ transform:translateY(16px) }
	100% 	{ transform:translateY(-16px) }
}

.scroll-down {
	position:absolute;
	bottom:50px;
	right:40px;
	width:20px;
	height:30px;
	border:2px solid var(--black);
	border-radius:20px;
	padding:5px;
	z-index:2;
}
.scroll-down > div {
	height:100%;
	width:100%;
	overflow:hidden;
}
.scroll-down span {
	display:block;
	height:6px;
	width:2px;
	background-color:var(--black);
	margin:0 auto;
	border-radius:2px;
	animation:scroll 2s infinite linear;
	animation-delay:-.43s
}


@media(max-width:991px) {
	.scroll-down {
		position:absolute;
		bottom:40px;
		width:32px;
		height:42px;
		border:none;
		border-radius:0;
		padding:0;
		background-image:url(/assets/img/scroll-mobile.svg);
		background-size:contain;
		background-repeat:no-repeat;
	}
	.scroll-down > div {
		position:absolute;
		top:0;left:0;
		height:16px;
		width:8px;
		overflow:hidden;
	}
	.scroll-down span {
		position:relative;
		height:16px;
		width:2px;
		animation:scroll-mobile 2s infinite linear;
		animation-delay:-1s;
		background-color:white;
	}
	.scroll-down span::before, .scroll-down span::after {
		content:"";
		position:absolute;
		top:0;left:50%;
		display:block;
		height:2px;
		width:5px;
		background-color:white;
		border-radius:2px;
		transform:rotate(45deg);
		transform-origin:left;
	}
	.scroll-down span::after {
		right:50%;
		left:auto;
		transform:rotate(-45deg);
		transform-origin:right;
	}
}

@media(max-width:767px) {
	.scroll-down {
		bottom:30px;
		right:20px;
	}
}


/***********************************************/
/********** HOMEPAGE ABOUT US SECTION **********/
/***********************************************/

.hp-about-us, .team-listing {
	padding:130px 0 100px;
	position:relative;
}

.hp-about-us > img {
	content:"";
	position:absolute;
	top:50px;
	left:0;right:0;
	margin:auto;
	width:255px;
	opacity:.05;
}

.hp-about-us .row {
	margin:70px -35px;
	justify-content:center;
}
.hp-about-us .row > div {
	padding:0 35px;
}

.hp-about-us h1, .team-listing h2 {
	font-size:44px;
	font-weight:300;
	color:var(--black);
	margin-bottom:25px;
	text-align:center;
}
.hp-about-us h2, .team-listing h3 {
	font-size:24px;
	font-weight:300;
	color:var(--green);
	text-align:center;
	text-transform:uppercase;
	margin:0;
}
.hp-about-us p {
	font-size:17px;
	display:block;
	font-weight:300;
	color:var(--grey);
	margin:0;
}
.hp-about-us p b, .hp-about-us p strong {
	font-weight:500;
	color:black;
}

.hp-about-us .button {
	left:50%;
	transform:translateX(-50%);
}


@media(max-width:991px) {
	.hp-about-us, .team-listing {
		padding:80px 0 40px;
		position:relative;
	}
	
	.hp-about-us .row {
		margin:25px -15px 20px;
	}
	.hp-about-us .row > div {
		padding:15px;
	}
	
	.hp-about-us > img {
		top:10px;
	}
	
	.hp-about-us h1, .team-listing h2 {
		font-size:36px;
		margin-bottom:15px;
	}
	.hp-about-us h2, .team-listing h3 {
		font-size:20px;
		line-height:1.75;
	}
	.hp-about-us p {
		font-size:15px;
	}
}

@media(max-width:767px) {
	.hp-about-us > img {
		width:200px;
	}
	
	.hp-about-us h1, .team-listing h2 {
		font-size:30px;
		margin-bottom:15px;
	}
	.hp-about-us h2, .team-listing h3 {
		font-size:18px;
	}
}


/*************************************************/
/********** HOMEPAGE HIGHLIGHTS SECTION **********/
/*************************************************/

.hp-highlights {
	padding:100px 0;
	background-color:var(--white);
}

.hp-highlights .row {
	margin:0 -50px;
}
.hp-highlights .row > div {
	padding:0 50px;
	display:flex;
	flex-direction:column;
}

.hp-highlights .icon {
	width:100px;
	height:100px;
	margin:0 auto;
	margin-bottom:35px;
	position:relative;
}
.hp-highlights .icon img {
	max-height:100%;
	max-width:100%;
}

.hp-highlights h3 {
	font-size:36px;
	font-weight:300;
	color:var(--black);
	line-height:1;
	text-align:center;
	margin-bottom:25px;
}
.hp-highlights p {
	font-size:15px;
	font-weight:300;
	color:var(--grey);
	line-height:1.65;
	text-align:center;
	margin-bottom:35px;
}

.hp-highlights .button {
	font-weight:400;
	align-self:center;
	justify-self:flex-end;
	margin-top:auto;
}


@media(max-width:991px) {
	.hp-highlights {
		padding:50px 0;
	}
	
	.hp-highlights .icon {
		margin-bottom:30px;
	}
	
	.hp-highlights .row {
		margin:-15px;
	}
	.hp-highlights .row > div {
		padding:15px;
	}
	
	.hp-highlights h3 {
		font-size:30px;
		margin-bottom:15px;
	}
	.hp-highlights p {
		font-size:15px;
		margin-bottom:15px;
	}
}

@media(max-width:767px) {
	.hp-highlights .row {
		margin:-25px;
	}
	.hp-highlights .row > div {
		padding:25px;
	}
}


/*****************************************************/
/********** HOMEPAGE SCROLL GALLERY SECTION **********/
/*****************************************************/

.hp-gallery {
	position:relative;
}
.hp-gallery.hp-gallery-fullscreen {
	position:fixed;
    top:0;bottom:0;
    left:0;right:0;
    z-index:10;
    background:rgba(32,32,32,.9);
	padding:100px;
	opacity:0;
	pointer-events:none;
	transition:var(--transition);
}
.hp-gallery.hp-gallery-fullscreen.visible {
	opacity:1;
	pointer-events:auto;
}

.hp-gallery .gallery-track {
	padding-top:35.7142%;
	max-height:800px;
	position:relative;
	height:auto;
	overflow-x:auto;
	overflow-y:hidden;
}
.hp-gallery.hp-gallery-fullscreen .gallery-track {
	height:100%;
	padding:0;
	max-height:none;
}
.hp-gallery .gallery-track::-webkit-scrollbar-track {
	background-color:#f8f7f7;
}
.hp-gallery .gallery-track::-webkit-scrollbar {
	height:17px;
	background-color:#f6f6f8;
}
.hp-gallery.hp-gallery-fullscreen .gallery-track::-webkit-scrollbar {
	height:0;
}
.hp-gallery .gallery-track::-webkit-scrollbar-thumb {
	background:linear-gradient(to right, var(--green), var(--blue));
	border-left:22px solid #f8f7f7;
	border-right:22px solid #f8f7f7;
	border-top:5px solid #f8f7f7;
	border-bottom:5px solid #f8f7f7;
}

.hp-gallery .gallery-track .gallery-list {
	position:absolute;
	top:0;left:0;
	display:flex;
	flex-wrap:nowrap;
	height:100%;
}
.hp-gallery.hp-gallery-fullscreen .gallery-track .gallery-list {
	position:relative;
}

.hp-gallery .gallery-slide {
	height:100%;
	top:0;
	overflow:hidden;
}
.hp-gallery.hp-gallery-fullscreen .gallery-slide {
	max-height:100%;
	min-width:100%;
	height:auto;
	display:flex;
}

.hp-gallery .gallery-track .gallery-slide img {
	max-height:100%;
	cursor:pointer;
	transition:var(--transition);
	will-change:transform;
}
.hp-gallery.hp-gallery-fullscreen .gallery-track .gallery-slide img {
	max-width:100%;
	display:block;
	margin:auto;
	cursor:default;
}
.hp-gallery:not(.hp-gallery-fullscreen) .gallery-track .gallery-slide img:hover {
	transform:scale(1.025);
}

.hp-gallery .gallery-arrows {
	position:absolute;
	top:0;left:0;
	right:0;bottom:17px;
	pointer-events:none;
}
.hp-gallery .gallery-arrows a {
	position:absolute;
	width:32px;
	height:62px;
	top:0;bottom:0;
	right:50px;
	margin:auto;
	background-image:url(/assets/img/chevron.svg);
	pointer-events:auto;
}
.hp-gallery .gallery-arrows a:first-of-type {
	left:50px;
	right:auto;
	transform:rotate(180deg);
}

.hp-gallery.disabled .gallery-arrows a {
	opacity:0;
	pointer-events:none;
}


@media(max-width: 991px) {
	.hp-gallery.hp-gallery-fullscreen {
		display:none;
	}
	
	.hp-gallery .gallery-track {
		padding-top:75%;
	}
}

@media(max-width: 767px) {
	.hp-gallery .gallery-track {
		padding-top:100%;
	}
	
	.hp-gallery .gallery-track::-webkit-scrollbar-thumb {
		border:5px solid #f8f7f7;
	}
	
	.hp-gallery .gallery-arrows a {
		width:25px;
		height:47px;
		right:20px
	}
	.hp-gallery .gallery-arrows a:first-of-type {
		left:20px;
	}
}


/*****************************************************/
/********** HOMEPAGE BLOG AND BOOKS SECTION **********/
/*****************************************************/

.hp-blog, .hp-books {
	padding:100px 0 110px;
}

.hp-blog .listing .header, .hp-books .listing .header {
	padding-bottom:10px;
	margin-bottom:40px;
	border-bottom:1px solid rgba(3,24,52,.1)
}
.hp-blog .listing .header h2, .hp-blog .listing .header .h2, .hp-books .listing .header h2, .hp-books .listing .header .h2 {
	font-size:30px;
	font-weight:400;
	color:var(--black);
	text-transform:uppercase;
}

.hp-blog .listing p, .hp-books .listing p {
	font-size:15px;
	color:var(--grey);
}
.hp-blog .listing p i, .hp-books .listing p i {
	color:var(--black);
	font-size:16px;
	font-weight:400;
}

.article .lower span {
	display: block;
	font-size: 12px;
	font-weight:500;
	color: #b6b9b9;
	text-transform:uppercase;
}
.article .lower span.date {
	padding-left: 25px;
	padding-bottom: 12px;
	position: relative;
}
.article .lower span.date:last-child {
	padding-bottom:0;
}
.article .lower span.date::before {
	content: "\f073";
	font-family: "Font Awesome 5 Free";
	font-size:14px;
	font-weight: 400;
	color: var(--black);
	position: absolute;
	left: 0;
	top: -1px;
}

.article .lower span a {
	font-weight:400;
	color: var(--green);
	border-bottom: 1px dotted transparent;
}
.article .lower span a:hover, .article span a:focus {
	border-bottom: 1px dotted currentColor;
}


.content .article-nav {
	margin-top: 30px;
	border-top: 1px solid #e0dedd;
	padding-top: 65px;
}
.content .article-nav .row > div:nth-child(2) {
	text-align: center;
}
.content .article-nav .row > div:last-child {
	text-align: right;
}
.content .article-nav .row > div a {
	font-size: 16px;
	color: var(--green);
	font-weight:500;
}
.content .article-nav .row > div a.disabled {
	opacity:.25;
	pointer-events:none;
}


@media(max-width:991px) {
	.hp-blog, .hp-books {
		padding:50px 0 55px;
	}
	
	.hp-books .row {
		margin:-34px;
	}
	.hp-books .row > div {
		padding:34px;
	}
	
	.hp-books .header h4, .news.news-related .header .h4 {
		font-size:26px;
	}
	
	.hp-books .header + .row, .news-related .header + .row {
		margin:-20px;
		margin-top:20px;
	}
	.hp-books .header + .row > div, .news-related .header + .row > div {
		padding:20px;
	}
}

@media(max-width:767px) {
	.content .article-nav {
		padding-top:40px:
	}
	
	.content .article-nav .row {
		margin:-10px
	}
	.content .article-nav .row > div {
		padding:10px;
	}
	.content .article-nav .row > div:nth-child(2) {
		order:1;
	}
}


/************************************/
/********** CONTACT US BAR **********/
/************************************/

.contact-us-bar {
	background-color:var(--black);
}

/********** MAP **********/

.contact-us-bar .map {
	position:relative;
	height:0;
	min-height:300px;
	padding-top:28.93%;
	overflow:hidden;
}
.contact-us-bar .map img {
	position:absolute;
	min-height:100%;
	min-width:100%;
	/* IE */
	top:50%;left:50%;
	transform:translate(-50%, -50%);
	width:auto;
	max-height:100%;
}

/********** CONTACTS **********/

.contact-us-bar .container {
	padding:35px 0 50px;
}

.contact-us-bar .row > div {
	display:flex;
}
.contact-us-bar .row > div:nth-of-type(2) {
	justify-content:center;
}
.contact-us-bar .row > div:nth-of-type(3) {
	justify-content:flex-end
}

.contact-us-bar .row > div .image {
	padding:0;
	width:38px;
	height:42px;
}
.contact-us-bar .row > div .image img {
	max-width:100%;
	max-height:100%;
}
.contact-us-bar .row > div > p {
	padding-left:20px;
}

.contact-us-bar .row > div span, .contact-us-bar .row > div p {
	font-size:16px;
	font-weight:400;
	display:block;
	color:white;
	line-height:1.75;
	margin:0;
}
.contact-us-bar .row > div span {
	color:var(--blue);
}
.contact-us-bar .row > div p a {
	border-bottom:1px dotted transparent
}
.contact-us-bar .row > div p a:hover, .contact-us-bar .row > div p a:focus {
	border-bottom:1px dotted currentColor;
}


@supports(mix-blend-mode: multiply) {		
	.contact-us-bar .map img {
		top:0;left:0;
		height:100%;
		width:100%;
		object-fit:cover;
		transform:none;
	}
}

@media(orientation: portrait) {
	.contact-us-bar .map {
		padding-top:50%;
	}
}


@media(max-width:991px) {
	.contact-us-bar .container {
		padding:35px 20px 50px;
	}
	
	.contact-us-bar .row {
		margin:-20px;
	}
	.contact-us-bar .row > div {
		padding:20px;
	}
	.contact-us-bar .row > div:nth-of-type(2) {
		justify-content:flex-start;
	}
	.contact-us-bar .row > div:nth-of-type(3) {
		justify-content:flex-start;
	}
}


/****************************/
/********** FOOTER **********/
/****************************/


/********** UPPER **********/

footer .upper {
	padding:70px 0 100px;
	background-color:#f8f7f7;
}

/********** UPPER NAVIGATION **********/

footer .upper ul {
	margin:0;
	padding:0;
	list-style:none;
	font-size:0;
}
footer .upper ul li {
	display:block;
}
footer .upper ul li h5 {
	font-size:12px;
	font-weight:500;
	color:var(--black);
	line-height:1.75;
	text-transform:uppercase;
}
footer .upper ul li h5 a:hover {
	opacity:.5;
}

/********** NEWSLETTER FORM **********/

footer .upper .row > div > div {
	display:flex;
	flex-direction:column;
	align-items:flex-end;
}

footer .upper .form {
	display:inline-block;
	margin:0;
	font-size:0;
	max-width:100%;
}
footer .upper .form .input-wrapper {
	position:relative;
	font-size:0;
	margin-bottom:15px;
	max-width:100%;
	padding:0;
}
footer .upper .form .input-wrapper::before {
	content:"";
	position:absolute;
	top:0px;bottom:0px;
	left:0px;right:0px;
	background:linear-gradient(to left, var(--blue) 0%, var(--green) 100%);
	border-radius:50px;
}

footer .upper .form .input-wrapper input {
	display:inline-block;
	padding:15px 40px;
	position:relative;
	width:425px;
	max-width:calc(100% - 4px);
	margin:2px;
	border:none;
	border-radius:50px;
	background-color:#f8f7f7;
	font-size:13px;
	font-weight:500;
	color:var(--black);
}

footer .upper .newsletter-remove .form .input-wrapper input {
	background-color:white;
}

footer .upper .form .input-wrapper a[submit] {
	position:absolute;
	top:0;bottom:0;
	right:35px;
	margin:auto;
}

footer .upper .form input[type='checkbox'] + label::after {
	background:#f8f7f7;
}

footer .upper .form a.remove {
	font-size:12px;
	font-weight:400;
	color:#aeaeae;
	line-height:1;
	vertical-align:middle;
	display:block;
	float:right;
	margin-top:7px;
}
footer .upper .form a.remove:hover, footer .upper .form a.remove:focus {
	color:var(--black);
}

/********** LOWER **********/

footer .lower {
	padding:30px 0 50px;
}

footer .lower span {
	font-size:14px;
	font-weight:400;
	color:#aeaeae;
	line-height:2;
	display:block;
}
footer .lower span a {
	color:var(--black);
	border-bottom:1px dotted transparent;
}
footer .lower span a:hover, footer .lower span a:focus {
	border-bottom:1px dotted currentColor;
}


footer .lower .row > div:last-of-type span {
	text-align:center;
	font-size:13px;
	margin-bottom:15px;
}

footer .lower .row > div:last-of-type > div {
	font-size:0;
	margin:0 -15px;
}
footer .lower .row > div:last-of-type > div img:first-of-type {
	width:40%;
	padding:0 15px;
}
footer .lower .row > div:last-of-type > div img:last-of-type {
	width:60%;
	padding:0 15px;
}

/********** SOCIAL MEDIA **********/

footer .lower .social {
	margin:0 -10px;
	margin-top:20px;
	font-size:0;
	text-align:right;
}
footer .lower .social a {
	margin:0 10px;
	font-size:20px;
	color:var(--black);
}
footer .lower .social a:hover, footer .upper .social a:focus {
	color:#16becf;
}



@media(max-width:991px) {
	footer .upper {
		padding:45px 0 50px;
	}
	
	footer .lower span {
		font-size:12px;
	}
	footer .lower span a:last-of-type {
		display:block;
	}
}

@media(max-width:767px) {
	
	/********** UPPER **********/
	
	footer .upper ul {
		text-align:center;
	}
	
	footer .upper .row > div > div {
		align-items:center;
	}
	
	footer .upper .form {
		margin-top:45px;
	}
	
	footer .upper .form .input-wrapper input {
		padding:15px 25px;
	}
	footer .upper .form .input-wrapper a[submit] {
		right:25px;
	}
	
	footer .upper .form a.remove {
		float:none;
		margin-top:20px;
	}
	
	footer .upper .social {
		margin-top:45px;
	}
	
	/********** LOWER **********/
	
	footer .lower {
		padding:45px 0;
	}
	
	footer .lower .container {
		padding:0 15px;
	}
	
	footer .lower .row {
		margin:-25px;
		flex-direction:column-reverse
	}
	footer .lower .row > div {
		padding:25px;
	}
	
	footer .lower .row > div:last-of-type > div {
		font-size:0;
		text-align:center;
	}
	footer .lower .row > div:last-of-type > div img:first-of-type {
		width:60%;
		padding:20px;
		display:block;
		margin:0 auto;
	}
	footer .lower .row > div:last-of-type > div img:last-of-type {
		width:100%;
		padding:20px;
	}
	
	footer .lower span {
		text-align:center;
	}
}


/**************************************/
/********** NEWSLETTER POPUP **********/
/**************************************/

.overlay {
    position:fixed;
	top:0;bottom:0;
	left:0;right:0;
	background-color:rgba(0,0,0,.9);
	z-index:10;
	opacity:0;
	pointer-events:none;
	transition:var(--transition);
}
.overlay.open {
    opacity:1;
	pointer-events:auto;
}

.newsletter-remove {
    position:fixed;
    background-color:white;
    width:440px;
    height:300px;
    top:0;
    bottom:0;
    right:0;
    left:0;
    margin:auto;
    padding:30px 30px 40px;
	z-index:10;
	opacity:0;
	pointer-events:none;
	transition:var(--transition);
}
.newsletter-remove.open {
    opacity:1;
	pointer-events:auto;
}

.newsletter-remove img {
	width:240px;
	display:block;
	margin:0 auto;
}

.newsletter-remove p {
	margin:20px 0 30px;
}


/**************************/
/********** FORM **********/
/**************************/

.form {
	position:relative;
	font-size:0;
}
.content .form {
	width:560px;
	max-width:100%;
	margin:0 auto;
}

.form .row {
	margin:-10px;
}
.form .row > div {
	padding:10px;
}

.form .input-wrapper {
	width:100%;
	position:relative;
	padding-top:20px;
}

.form label {
	font-size:12px;
}
.form .input-wrapper input + label {
	position:absolute;
	top:0;left:0;
	transform:translateY(35px);
	transition:var(--transition);
	pointer-events:none;
}
.form .input-wrapper > label:first-child {
	margin-top:10px;
}

.form input, .form textarea, .form label {
	font-weight:500;
	color:var(--black);
	line-height:1;
}
.form input, .form textarea {
	border:0;
	display:block;
	width:100%;
	background-color:#f1f1f1;
	padding:20px;
	resize:none;
	border-radius:26px;
	font-size:11px;
	text-transform:uppercase;
}
.content .form input, .content .form textarea {
	letter-spacing:.12em;
}

.form input[type='checkbox'] {
	display:none;
}
.form input[type='checkbox'] + label {
	display:inline-block;
	position:relative;
	margin:0;
	height:20px;
	width:20px;
	cursor:pointer;
	vertical-align:middle;
	background-color:#f1f1f1;
}
footer .form input[type='checkbox'] + label {
	margin:2px;
	height:18px;
	width:18px;
}
footer .form input[type='checkbox'] + label::before {
	content:"";
	position:absolute;
	top:-2px;bottom:-2px;
	left:-2px;right:-2px;
	background:linear-gradient(to left, var(--blue) 0%, var(--green) 100%);
}
.form input[type='checkbox'] + label::after {
	content:"\f00c";
	color:transparent;
	font-family:"Font Awesome 5 Free";
	font-size:12px;
	font-weight:900;
	line-height:20px;
	text-align:center;
	position:absolute;
	top:0;bottom:0;
	left:0;right:0;
	background:#f1f1f1;
	transition:var(--transition)
}
.form input[type='checkbox']:checked + label::after {
	color:var(--black);
}

.form input[type='checkbox'] + label + label {
	vertical-align:middle;
	display:inline-block;
	margin:0;
	margin-left:13px;
}
footer .form input[type='checkbox'] + label + label {
	color:#aeaeae;
}
.form input[type='checkbox'] + label + label a {
	color:var(--black);
	border-bottom:1px solid currentColor;
}
.form input[type='checkbox'] + label + label a:hover, .form input[type='checkbox'] + label + label a:focus {
	border-bottom:1px solid transparent;
}

.form .button {
	padding-left:50px;
	padding-right:50px;
	margin-top:30px;
}

.form .form-footer {
	display:flex;
	align-items:center;
	margin-top:20px;
}
.form .form-footer .button {
	justify-self:flex-end;
	margin-left:auto;
	margin:0;
}


.template .content .form h2 {
	font-size:36px;
	font-weight:300;
}
.template .content .form h4 {
	font-size:20px;
	font-weight:300;
	color:var(--green);
}

@media(max-width:991px) {
	
}

@media(max-width:767px) {
	
}


/***************************************************************/
/********** TEAM LISTING (Inherits from .hp-about-us) **********/
/***************************************************************/

.team-listing {
	padding-top:90px;
	background-color:var(--white);
}

.team-listing .row {
	margin:35px -35px 90px;
	justify-content:center;
}
body.index .team-listing .row {
	margin:35px -35px;
}

.team-listing .row:first-child {
	margin-top:-40px;
}
.team-listing .row:last-child {
	margin-bottom:-40px;
}

.team-listing .row > div {
	padding:40px 35px;
}

.team-listing .row > div .image {
	margin:0 30px;
	margin-bottom:30px;
}
.team-listing .row > div .image > a {
	display:block;
	position:relative;
	padding-top:100%;
	height:0;
	background-color:white;
	border-radius:100%;
	overflow:hidden;
}

.team-listing .row > div .image > a .filter {
	position:absolute;
	top:0;bottom:0;
	left:0;right:0;
	background-color:var(--blue);
	opacity:0;
	transition:var(--transition);
}
.team-listing .row > div .image > a::before, .team-listing .row > div .image > a::after {
	content:"";
	width:46px;
	height:2px;
	background-color:white;
	position:absolute;
	top:0;bottom:0;
	left:0;right:0;
	margin:auto;
	z-index:1;
	opacity:0;
	transition:var(--transition);
}

.team-listing .row > div .image > a::after {
	transform:rotate(90deg);
}
.team-listing .row > div .image > a:hover .filter, .team-listing .row > div .image > a:hover::before, .team-listing .row > div .image > a:hover::after {
	opacity:1;
}

.team-listing .row > div .image img {
	position:absolute;
	bottom:0;
	max-width:100%;
	max-height:100%;
	filter:grayscale(1);
	filter:grayscale(100%);
	transition:var(--transition);
}
.team-listing .row > div .image > a:hover img {
	opacity:.2;
}

.team-listing .row > div p {
	font-size:24px;
	color:var(--black);
	margin-bottom:15px;
	text-align:center;
}

.team-listing .row > div span {
	display:block;
	font-size:15px;
	color:var(--grey);
	text-align:center;
}

.team-listing .button {
	position:relative;
	left:50%;
	transform:translateX(-50%);
}
.team-listing .button::after {
	background-color:var(--white);
}


@supports(mix-blend-mode: multiply) {		
	.team-listing .row > div .image > a .filter {
		mix-blend-mode:multiply;
	}
}


@media(max-width:991px) {
	.team-listing .row, body.index .team-listing .row {
		margin:30px -15px;
	}
	.team-listing .row > div {
		padding:30px 15px;
	}
	
	.team-listing .row > div .image {
		margin:0 15px;
		margin-bottom:30px;
	}
}

@media(max-width:767px) {
	.team-listing {
		padding:50px 0;
	}
	
	.team-listing .row, body.index .team-listing .row {
		margin:20px -10px;
	}
	.team-listing .row > div {
		padding:20px 10px;
	}
	
	.team-listing .row > div .image {
		margin:0;
		margin-bottom:25px;
	}
	
	.team-listing .row > div p {
		font-size:20px;
		margin-bottom:10px;
	}
	.team-listing .row > div span {
		font-size:13px;
	}
}



/*****************************************/
/********** CONTENT PAGE BANNER **********/
/*****************************************/

.template .banner {
	padding:85px 0 35px;
	background:linear-gradient(to right, var(--blue) 0%, var(--green) 100%);
	position:relative;
	text-align:center;
	min-height:270px;
}
.template .banner.has-date {
	padding-bottom:50px;
}
.template .banner::before {
	content:"";
	position:absolute;
	top:0;bottom:0;
	left:0;right:0;
	background-color:var(--black);
	opacity:.7;
	pointer-events:none;
	mix-blend-mode:multiply;
}

.template .banner .image {
	position:absolute;
	top:0;bottom:0;
	left:0;right:0;
	overflow:hidden;
}
.template .banner .image::after {
	content:"";
	position:absolute;
	top:0;bottom:0;
	left:0;right:0;
	background-color:#18202c;
	mix-blend-mode:multiply;
	opacity:.75;
}
.template .banner .image img {
	position:relative;
	top:50%;left:50%;
	max-width:100%;
	height:auto;
	transform:translate(-50%, -50%);
}

.template .banner ul {
	padding:0;
	margin-bottom:20px;
	list-style:none;
	font-size:13px;
	font-weight:400;
	text-transform:uppercase;
	color:white;
}
.template .banner ul li {
	display:inline-block;
}
.template .banner ul li a {
	border-bottom:1px dotted transparent;
}
.template .banner ul li a.disabled {
	pointer-events:none;
}
.template .banner ul li a:hover, .template .banner ul li a:focus {
	border-bottom:1px dotted currentColor;
}

.template .banner h1 {
	font-size:35px;
	font-weight:300;
	text-transform:uppercase;
	line-height:1.4;
	color:white;
	margin:0;
}

.template .banner .date {
	font-size:14px;
    font-weight:bold;
    color:white;
	opacity:.35;
    text-transform:uppercase;
    display:block;
	margin-top:30px;
}

@supports(mix-blend-mode: multiply) {		
	.template .banner .image::after {
		mix-blend-mode:multiply;
	}
	.template .banner .image img {
		height:100%;
		width:100%;
		object-fit:cover;
		position:static;
		transform:none;
	}
}

@media(max-width:991px) {
	.template .banner {
		padding:70px 0;
		min-height:auto;
	}
	
	.template .banner h1 {
		font-size:24px;
	}
	.template .banner ul {
		font-size:11px;
		margin-bottom:15px;
	}
}

@media(max-width:767px) {
	.template .banner {
		padding:50px 0;
	}
}


/******************************************/
/********** CONTENT PAGE CONTENT **********/
/******************************************/

.template .content {
	padding:75px 0 90px;
}
.template .content.has-form {
	padding:90px 0;
}

.template .content h2:first-child, 
.template .content h3:first-child, 
.template .content h4:first-child, 
.template .content p:first-child, 
.template .content ul:first-child, 
.template .content ol:first-child, 
.template .content blockquote:first-child {
	margin-top:0;
}
.template .content h2:last-child, 
.template .content h3:last-child, 
.template .content h4:last-child, 
.template .content p:last-child, 
.template .content ul:last-child, 
.template .content ol:last-child, 
.template .content blockquote:last-child {
	margin-bottom:0;
}

.template .content h2, .template .content .h2 {
	font-size:30px;
	font-weight:400;
	color:var(--black);
	line-height:1.25;
	margin:0;
	margin:1em 0;
}

.template .content h3, .template .content .listing .accordion .description h3, .template .content h4, .template .content .h3, .template .content .h4 {
	font-size:16.9px;
	font-weight:bold;
	color:var(--blue);
	line-height:1.4;
	margin:0;
	text-transform:uppercase;
	margin:2em 0;
}
.template .content h3, .template .content .h3 {
	color:var(--black);
}

.template .content p, .template .content ul, .template .content ol, .template .content small {
	font-size:17px;
	font-weight:400;
	color:var(--grey);
	line-height:1.75;
	margin:1em 0;
}
.template .content p a,
.template .content li a,
.template .content h2 a,
.template .content h3 a,
.template .content h4 a,
.template .content h5 a {
	color:var(--green);
	border-bottom:1px dotted transparent;
}
.template .content p a:hover, .template .content p a:focus,
.template .content li a:hover, .template .content li a:focus,
.template .content h2 a:hover, .template .content h2 a:focus,
.template .content h3 a:hover, .template .content h3 a:focus,
.template .content h4 a:hover, .template .content h4 a:focus,
.template .content h5 a:hover, .template .content h5 a:focus {
	border-bottom:1px dotted currentColor;
}
.template .content p big,
.template .content blockquote p {
	font-size:24px;
	font-weight:300;
	font-style:italic;
	color:var(--black);
	line-height:1.5;
}
.template .content p big,
.template .content blockquote {
	font-size:24px;
	display:inline-block;
	padding:1em 0 1em 100px;
}
.template .content * > b,
.template .content * > strong {
	font-weight:500;
	color:black;
}
.template .content a > b,
.template .content a > strong {
	color:inherit;
}

.template .content small {
	font-size:14px;
	font-style:normal;
}

.template .content blockquote {
	display: block;
	position: relative;
	margin:.75em 0;
}
.template .content blockquote::before {
	content: "";
	position: absolute;
	left: 45px;
	height: 25px;
	width: 25px;
	background-image: url(/assets/img/quotation-marks.svg);
	background-size: contain;
	background-repeat: no-repeat;
}
.template .content blockquote *:first-child {
	margin-top:0;
}
.template .content blockquote *:last-child {
	margin-bottom:0;
}
.template .content blockquote p {
	margin:.5em 0;
}

.template .content ul, .template .content ol {
	list-style:none;
	margin:0;
	padding-left:2em;
}
.template .content ul li, .template .content ol li {
	position:relative;
}
.template .content ul li::before {
	content:"\f054\f054";
	font-family:"Font Awesome 5 Free";
	font-size:.7em;
	font-weight:900;
	color:var(--blue);
	letter-spacing:-.2em;
	width:2.6em;
	margin-left:-2.6em;
	display:inline-block;
	vertical-align:text-top;
}

.template .content ol {
	counter-reset:item;
}
.template .content ol li {
	counter-increment:item
}
.template .content ol li::before {
	content:counter(item) ".";
	font-weight:bold;
	color:var(--blue);
	width:2em;
	margin-left:-2em;
	display:inline-block;
}


@media(max-width:991px) {
	.template .content, .template .content.has-form {
		padding:40px 0 65px;
	}
	
	.template .content h2 {
		font-size:24px;
	}
	
	.template .content h3, .template .content .listing .accordion .description h3, .template .content h4 {
		font-size:15px;
	}
	
	.template .content p, .template .content ul, .template .content ol {
		font-size:15px;
	}
	
	.template .content * + .template-image {
		margin-top:50px;
	}
}

@media(max-width:767px) {
	.template .content p big, .template .content blockquote {
		font-size:20px;
		padding-left:40px;
	}
	
	.template .content blockquote::before {
		left:0;
	}
}


/*************************************************/
/********** VIDEO PAGE FULLSCREEN VIDEO **********/
/*************************************************/

.video-fullscreen {
	position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: rgba(1,1,1,.9);
    z-index: 10;
	opacity:0;
	pointer-events:none;
	transition:var(--transition);
}
.video-fullscreen.visible {
	opacity:1;
	pointer-events:auto;
}

.video-fullscreen div {
	padding:100px;
	height:100%;
	width:100%;
}
.video-fullscreen div iframe {
	height:100%;
	width:100%;
}

.video-fullscreen .close, .hp-gallery.hp-gallery-fullscreen .close {
	position:absolute;
	top:35px;
	right:35px;
	height:25px;
	width:25px;
	opacity:1;
}
.video-fullscreen .close::before, .video-fullscreen .close::after, .hp-gallery.hp-gallery-fullscreen .close::before, .hp-gallery.hp-gallery-fullscreen .close::after {
	content:"";
	position:absolute;
	top:0;
	left:0;
	height:2px;
	width:35px;
	background-color:white;
	transform:rotate(45deg);
	transform-origin:left
}
.video-fullscreen .close::after, .hp-gallery.hp-gallery-fullscreen .close::after {
	left:auto;right:0;
	transform:rotate(-45deg);
	transform-origin:right;
}


@media(max-width:991px) {
	.video-fullscreen div {
		padding: 80px 0 0;
	}
	
	.video-fullscreen .close, .hp-gallery.hp-gallery-fullscreen .close {
		top:25px;
		right:25px;
	}
}


/*********************************************/
/********** CONTENT PAGE NAVIGATION **********/
/*********************************************/

.template .content-nav {
	padding-top:80px;
}

.template .content-nav .row {
	margin:0 -10px;
	justify-content:center;
}
.template .content-nav .row > div {
	padding:0 10px;
}

.template .content-nav .button {
	font-size:16px;
	text-align:center;
	width:256px;
	max-width:100%;
}
.template .content-nav .button.active {
	color:white;
}
.template .content-nav .button.active::after {
	opacity:0;
}

.template .content-nav .content-nav-header, .template.private-area .sidenav .sidenav-header {
	padding:20px;
	position:relative;
	background-color:#010b1a;
	font-size:13px;
	font-weight:500;
	color:white;
	text-transform:uppercase;
	cursor:pointer;
	z-index:1;
}
.template .content-nav .content-nav-header::after, .template.private-area .sidenav .sidenav-header::after {
	content:"";
	position:absolute;
	top:-3px;bottom:0;
	right:20px;
	margin:auto;
	height:8px;
	width:8px;
	border-right:2px solid var(--blue);
	border-bottom:2px solid var(--blue);
	border-radius:2px;
	transform:rotate(-45deg);
	transition:var(--transition);
}
.template .content-nav.open .content-nav-header::after, .template.private-area .sidenav.open .sidenav-header::after {
	transform:rotate(45deg);
}


@media(max-width:991px) {
	.template .content-nav {
		padding-top:0;
	}
	
	.template .content-nav .container {
		max-width:100%;
		background-color:var(--black);
		overflow:hidden;
		max-height:0;
		transition:var(--transition);
	}
	.template .content-nav .row {
		margin:-10px;
		padding:40px 0;
	}
	.template .content-nav .row > div {
		padding:10px;
	}
	
	.template .content-nav .button {
		font-size:14px;
		color:white;
	}
	.template .content-nav .button::after {
		background-color:var(--black);
	}
}


/*****************************/
/********** SIDEBAR **********/
/*****************************/

.template .content.has-sidebar {
	padding: 100px 0;
}

.template .content.has-sidebar .container {
	display: flex;
	align-items: flex-start;
}
.template .content.has-sidebar .container > div:not(.sidebar) {
	flex: 1;
}
.template .content.has-sidebar.sidebar-right .container > div:not(.sidebar) {
	padding-right: 80px;
}
.template .content.has-sidebar.sidebar-left .container > div:not(.sidebar) {
	padding-left: 80px;
}

.template .content.has-sidebar .sidebar {
	width: 275px;
	padding: 45px 30px;
	background-color: var(--white);
}
.template .content.has-sidebar .sidebar.white {
	background-color: white;
}

/********** BLOG LISTING SIDEBAR **********/

.template.blog .content .sidebar .form {
	margin-bottom: 45px;
}

.template.blog .content .sidebar .form input {
	font-size: .875rem;
	font-weight:300;
	padding: 19px 20px;
	background-color:white;
	color:#888888;
	border-radius: 0;
    text-transform: none;
    letter-spacing: 0;
}

.template.blog .content .sidebar .form [submit] {
	position: absolute;
	width: 53px;
	height: 53px;
	top: 0;right: 0;
}
.template.blog .content .sidebar .form [submit]::before {
	content: "";
	width: 15px;
	height: 15px;
	position: absolute;
	top: 0;bottom: 0;
	left: 0;right: 0;
	margin: auto;
	background-image: url(/assets/img/lupe.svg)
}

.template.blog .content .sidebar .h4 {
	color: var(--black);
}

.template.blog .content .sidebar ul {
	padding-left: 0;
	margin-bottom: 3em;
}
.template.blog .content .sidebar ul:last-child {
	margin-bottom: 0;
}
.template.blog .content .sidebar ul li, .template.blog .content .sidebar ul li p {
	font-size: 12px;
	padding: 3px 0;
	color:var(--black);
	text-transform:uppercase;
	margin:0;
}
.template.blog .content .sidebar ul li::before {
	content: normal;
}

.template.blog .content .sidebar ul li.sub p {
	font-weight:500;
	padding:0;
	padding-left:20px;
	position:relative;
	cursor:pointer;
}
.template.blog .content .sidebar ul li p::before {
	content: "";
	background-image:url(/assets/img/chevron-black.svg);
	background-repeat:no-repeat;
	position:absolute;
	top:1px;bottom:0;
	left:0;
	margin:auto;
	height:10px;
	width:5px;
	transition:var(--transition);
}
.template.blog .content .sidebar ul li.open p::before {
	transform:rotate(90deg);
}
.template.blog .content .sidebar ul li.sub ul {
	padding-left:50px;
	max-height:0;
	overflow:hidden;
	transition:var(--transition);
}

.template.blog .content .sidebar ul li a {
	border-bottom: 1px dotted transparent;
}
.template.blog .content .sidebar ul li a:hover, .template.blog .content .sidebar ul li a:focus {
	border-bottom: 1px dotted currentColor;
}


@media(max-width: 991px) {
	.template .content.has-sidebar {
		padding: 70px 0;
	}

	.template .content.has-sidebar.sidebar-right .container > div:not(.sidebar) {
		padding-right: 60px;
	}
	.template .content.has-sidebar.sidebar-left .container > div:not(.sidebar) {
		padding-left: 60px;
	}
}

@media(max-width: 767px) {
	.template .content.has-sidebar {
		padding: 40px 0 0;
	}

	.template .content.has-sidebar .container {
		flex-direction: column;
	}
	.template.blog .content.has-sidebar.sidebar-right .container > div:not(.sidebar), .template.blog .content.has-sidebar.sidebar-left .container > div:not(.sidebar) {
		padding: 0;
	}
	
	
	.template .content.has-sidebar .sidebar {
		margin: 0 -20px;
		width: calc(100% + 40px);
		padding: 40px 20px;
	}

	.template.blog .content .sidebar .form {
		margin-bottom: 40px;
	}
	
	.template.blog .content .sidebar ul {
		margin: 1em 0 2em;
		display: flex;
		flex-wrap: wrap;
	}
	.template.blog .content .sidebar ul li {
		flex-basis: 50%;
		max-width: 50%;
	}
	
	.template.blog .content .sidebar ul ul {
		display:block;
		margin:0;
	}
	.template.blog .content .sidebar ul li {
		max-width:none;
	}
}



/********************************/
/********** SWEETALERT **********/
/********************************/

.swal-overlay {
	background-color:rgba(0,0,0,.88);
}
.swal-overlay--show-modal .swal-modal {
	border-radius:0;
}
.swal-title, .swal-title:not(:last-child), .swal-title:not(:first-child) {
	font-size:30px;
	color:var(--black);
	margin-bottom:23px;
	padding-top:0;
}

.swal-text {
	font-size:"Ubuntu";
	color:var(--grey2);
	line-height:1.5;
	font-weight:300;
}

.swal-button, .swal-button:focus, .swal-button:active, .swal-button:hover {
	font-size:.8125rem;
    font-weight:500;
    text-align:center;
    padding:20px 60px;
	box-shadow:none;
	border-radius:0;
	color:var(--black);
	position:relative;
	background-color:transparent !important;
}
.swal-button::before {
	content:"";
	position:absolute;
	top:0;bottom:0;
	left:0;right:0;
	border:1px solid var(--black);
	transition:var(--transition);
}
.swal-button:hover::before {
	transform:scale(1.1);
}
.swal-button-container {
	margin:0;
}

.swal-footer {
	text-align:center;
	padding-bottom:40px;
}


/*********************************************/
/********** CALENDAR (FullCalendar) **********/
/*********************************************/

#calendar {
	width:230px;
	max-width:100%;
	margin:0 auto;
}

#calendar .fc-center h2 {
	color:#bbbbbb;
	font-size:.8125rem;
	font-weight:500;
	text-transform:uppercase;
	margin:0;
}

#calendar .fc-toolbar {
	position:relative;
	font-size:0;
	margin-bottom:30px;
}
#calendar .fc-toolbar button {
	background:transparent;
	box-shadow:none;
	border:none;
	border-radius:0;
	padding:5px;
	position:absolute;
	top:0;bottom:0;
	margin:auto;
	width:37px;
    height:18px;
}
#calendar .fc-toolbar button span {
	position:static;
	margin:0;
	background-image:url('/img/arrow-lg-grey.svg');
	background-repeat:no-repeat;
	height:100%;
	width:100%;
}
#calendar .fc-toolbar button span::after {
	display:none;
}
#calendar .fc-toolbar .fc-left button {
	left:0;
	transform:rotate(180deg);
}
#calendar .fc-toolbar .fc-right button {
	right:0;
}

#calendar * {
	border:none !important;
}
#calendar td {
	width:auto;
	padding:0;
	text-align:center;
	display:table-cell;
}
#calendar span {
	font-size:.75rem;
	font-weight:400;
	color:#434344;
	margin-bottom:0;
	margin-top:6px;
}
#calendar .fc-title {
	display:none;
}

#calendar .fc-head span {
	font-size:.875rem;
	font-weight:bold;
	line-height:1;
	margin:0;
	margin-bottom:6px;
	display:block;
}
#calendar .fc-row {
	border-bottom:1px solid #eeeded !important;
}
#calendar .fc-bg table tr td {
	border-right:1px solid #eeeded !important;
}
#calendar .fc-bg table tr td.fc-today {
	background:rgba(22,190,207,.2);
}
#calendar .fc-bg table tr td:last-of-type {
	border-right:none !important;
}

#calendar .fc-day:not(.fc-other-month) {
	background-color:white;
}

#calendar .fc-event {
	display:block;
	border:none;
	border-radius:10px;
	margin:0 10px;
	margin-top:5px;
	height:12px;
	min-width:12px;
	padding:0;
	background-color:var(--blue);
}

/* Custom class to display calendar legends */

#calendar .fc-calendar-legend {
	margin:0 -15px;
	margin-top:40px;
	font-size:0;
}

#calendar .fc-calendar-legend > span {
	display:inline-block;
	padding:0 15px 0 35px;
	font-size:.75rem;
	font-weight:500;
	line-height:1;
	color:#a8a6a6;
	text-transform:uppercase;
	margin:0;
	position:relative;
}
#calendar .fc-calendar-legend > span::before {
	content:"";
	position:absolute;
	top:0;bottom:0;
	left:15px;
	margin:auto;
	height:12px;
	width:12px;
	border-radius:100%;
}

/* Custom class to display event's tooltip */

#calendar .fc-calendar-tooltip {
	position:fixed;
	opacity:0;
	pointer-events:none;
	max-width:154px;
	padding:17px;
	background-color:transparent;
	margin-bottom:7px;
	font-family:"Ubuntu", sans-serif;
	font-size:.875rem;
	color:white;
	transition:opacity .2s ease-in-out, background-color .2s ease-in-out;
	z-index:2;
}
#calendar .fc-calendar-tooltip.visible {
	opacity:1;
}
#calendar .fc-calendar-tooltip {
	background-color:rgba(3,24,52,.85)
}