:root {
    font-size: 13px;
}

html,
body {
	background: #fff;
	font-family: var(--font-family-1);
	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: 94px;
}
body.bg-lightgrey {
	background-color: #f8f8f8;
}


@media(min-width: 768px) {
	:root {
		font-size: 14px;
    }
    body {
        margin-top: 73px;
    }
}

@media(min-width: 992px) {
	:root {
		font-size: 16px;
	}

	body {
		margin-top: 83px;
	}
}


a, a:hover, a:focus,
button, button:hover, button:focus {
	transition: all ease-in-out .3s;
	-moz-transition: all ease-in-out .3s;
	-webkit-transition: all ease-in-out .3s;
	text-decoration: none;
	cursor: pointer;
	color: currentColor;
	outline: none;
	box-shadow: none;
}
*:focus {
	outline: none;
	box-shadow: none;
}
*::placeholder, *::-webkit-placeholder {
	color: currentColor;
}
*:-ms-input-placeholder {
	color: currentColor;
}


.container,
.container-fluid {
	position: relative;
	width: 100%;
	padding: 0 20px;
}
.container.container-full {
	max-width: 1700px; /* Layouts' fullscreen */
}


@media(min-width: 768px) {
	.container.container-sm {
		max-width: 890px; /* 850 + 40 padding */
	}
}

@media(min-width: 1200px) {
	.container {
		max-width: 1064px; /* 1024 + 40 padding */
	}
}


/*************************************/
/********** BUTTONS / LINKS **********/
/*************************************/

.button,
.button:hover,
.button:focus {
	font-family: var(--font-family-1);
	display: inline-block;
    padding: 20px 30px;
	font-size: 12px;
	font-weight: bold;
    color: rgb(var(--primary));
	letter-spacing: .02em;
	line-height: 1;
	text-transform: uppercase;
    position: relative;
    border: 2px solid transparent;
}
.button::before {
	content: "";
	position: absolute;
	top: -2px;bottom: -2px;
	left: -2px;right: -2px;
	border: 2px solid currentColor;
    transition: var(--transition);
    -webkit-transition: var(--transition);
    will-change: transform;
    pointer-events: none;
}
.button:hover::before {
	transform: scale(1.05);
}
.button[disabled] {
	opacity: 0.5;
	pointer-events: none;
}

.button.button-sm,
.button.button-sm:hover,
.button.button-sm:focus {
	padding: 12px 25px;
}

.button.button-grey {
	color: #a7a7a7;
}

.button.button-fill,
.button.button-white {
	color: white
}

.button.button-fill::before {
	border: 2px solid rgb(var(--primary));
	background-color: rgb(var(--primary));
}

.button > span {
	position: relative;
	z-index: 1;
	font-size: inherit;
	color: inherit;
	font-style: inherit;
}


@media(min-width: 992px) {
    .button,
	.button:hover,
	.button:focus {
		padding: 25px 40px;
        font-size: 14px;
	}

	.button.button-sm,
	.button.button-sm:hover,
	.button.button-sm:focus {
		font-size: 12px;
	}
}


.link,
.link:hover,
.link:focus {
	display: inline-block;
	position: relative;
	font-size: 16px;
	font-weight: 500;
	color: rgb(var(--primary));
	padding-right: 30px;
}
.link.link-reverse {
	padding-right: 0;
	padding-left: 30px;
}
.link::after {
	content: "";
	width: 16px;
	height: 9px;
	position: absolute;
	top: 0;bottom: 0;
	right: 0;
	margin: auto;
	background-image: url(/assets/img/arrow-link-color.svg);
	background-size: cover;
	/* background-position: -18px; */
	transition: all .4s ease-in-out;
}
.link.link-reverse::after {
	right: auto;
	left: 0;
	transform: rotate(180deg);
}
.link:hover::after {
	transform: translateX(10px);
}

/*******************************************/
/********** CONTENT PAGE TEMPLATE **********/
/*******************************************/

.content {
	background-color: #fff;
}

.content .template {
	font-family: var(--font-family-2);
	padding: 40px 0;
}

.content .template h2:first-child,
.content .template h3:first-child,
.content .template h4:first-child,
.content .template p:first-child,
.content .template ul:first-child,
.content .template ol:first-child {
	margin-top: 0;
}

.content .template h2:last-child,
.content .template h3:last-child,
.content .template h4:last-child,
.content .template p:last-child,
.content .template ul:last-child,
.content .template ol:last-child {
	margin-bottom: 0;
}

.content .template h2, .content .template .h2 {
	font-size: 2.25rem;
	font-weight: 400;
	color: var(--black);
	line-height: 1.25;
	margin: .75em 0;
}
.content .template h3, .content .template .h3 {
	font-size: 1.875rem;
	font-weight: 400;
	color: var(--black);
	line-height: 1.25;
	margin: .75em 0;
}
.content .template h4, .content .template .h4 {
	font-size: 1.5rem;
	font-weight: 400;
	color: rgb(var(--primary));
	line-height: 1.25;
	margin: .75em 0;
}

.content .template p,
.content .template ul,
.content .template ol {
	font-size: 1.125rem;
	font-weight: 300;
	color: var(--grey);
	line-height: 1.5;
	margin: 1em 0;
}
.content .template p b,
.content .template p strong {
	font-weight: 500;
	color: black;
}
.content .template p small {
	font-size: .875rem;
	font-weight: 300;
}
.content .template p big {
	display: inline-block;
	font-size: 1.5rem;
	font-weight: 500;
	font-style: italic;
	color: var(--black);
	padding: .5em 0 .5em;
}
.content .template p a:not(.button),
.content .template li a {
	color: rgb(var(--primary));
    border-bottom: 1px solid currentColor;
    display: inline;
}
.content .template p a:hover,
.content .template li a:hover {
	border-bottom: 1px solid transparent;
}

.content .template blockquote {
	display: block;
	padding: 1.5em 0 1.5em 40px;
	position: relative;
}
.content .template blockquote::before {
	content: "";
	position: absolute;
	left: 0;
	height: 20px;
	width: 20px;
	background-image: url(/assets/img/quotation-marks.svg);
	background-size: contain;
	background-repeat: no-repeat;
}
.content .template blockquote p {
	font-size: 1.25rem;
}

.content .template ul,
.content .template ol {
	padding-left: 2em;
	list-style: none;
	margin: 1.5em 0;
}
.content .template ul li,
.content .template ol li {
	position: relative;
}
.content .template ul li p,
.content .template ol li p {
	margin: 0;
}
.content .template ul li::before {
	content: "";
	display: inline-block;
	height: 12px;
	width: 1em;
	margin-left: -2em;
	margin-right: 1em;
	background-image: url(/assets/img/arrow-sm-color.svg);
	background-repeat: no-repeat;
}

.content .template ol {
	counter-reset: item;
}
.content .template ol li {
	counter-increment: item;
}
.content .template ol li::before {
	/* content: counter(item) "."; */
	content: counters(item, ".") ". ";
	display: inline-block;
	width: 2em;
	margin-left: -2em;
	color: rgb(var(--primary));
}

.content .template .template-module table,
.content .template .template-module table p,
.content .template .template-module table li {
	font-size: 1rem;
	border-spacing: 0;
	border-collapse: collapse;
}
.content .template .template-module table td,
.content .template .template-module table th {
	padding: 10px;
	border: 1px solid #e0dedd;
	font-weight: 300;
}
.content .template .template-module table th {
	color: white;
	font-weight: bold;
	background-color: #a800be;
}

@media(min-width: 768px) {
	.content .template {
		padding: 70px 0;
	}

	.content .template p big, 
	.content .template blockquote {
		padding-left: 100px;
	}

	.content .template blockquote::before {
		left: 45px;
		height: 25px;
		width: 25px;
	}
}

@media(min-width: 992px) {
	.content .template {
		padding: 85px 0 100px;
	}
}


/*****************************************/
/********** CONTENT PAGE BANNER **********/
/*****************************************/

.content .banner {
	padding: 40px 0;
	position: relative;
}

.content .banner .image {
	position: absolute;
	top: 0;bottom: 0;
	left: 0;right: 0;
	overflow: hidden;
}
.content .banner .image::after {
	content: "";
	position: absolute;
	top: 0;bottom: 0;
	left: 0;right: 0;
	background-color: #939191;
	/* opacity: .75; */
}
.content .banner .image img {
	position: relative;
	top: 50%;left: 50%;
	min-width: 100%;
	min-height: 100%;
	height: auto;
	transform: translate(-50%, -50%);
	/* opacity: .25; */
}

.content .banner ul {
	padding: 0;
	margin-bottom: 15px;
	list-style: none;
	font-size: 0;
	text-align: center;
}
.content .banner ul li {
	display: inline-block;
	font-size: .825rem;
	font-weight: 500;
}
.content .banner ul li::after {
	content: "/";
	padding-left: .5em;
	padding-right: .5em;
	color: #ffffff;
	opacity: 0.5
}

.content .banner ul li a.disabled {
	pointer-events: none;
}
.content .banner ul li:hover a,
.content .banner ul li:focus a {
	opacity: 1;
}

.content .banner h1 {
	font-family: var(--font-family-2);
	font-size: 2.625rem;
	font-weight: 400;
	color: white;
	margin: 0;
	text-align: center;
}


@supports(mix-blend-mode: multiply) {		
	.content .banner .image::after {
		mix-blend-mode: multiply;
		opacity: 1;
	}
	.content .banner .image img {
		height: 100%;
		width: 100%;
		object-fit: cover;
		position: static;
		transform: none;
		/* filter: grayscale(1); */
		/* filter: grayscale(100%); */
	}
}


@media(min-width: 768px) {
	.content .banner {
		padding: 70px 0 35px;
	}

	.content .banner ul {
		margin-bottom: 10px;
	}
}

@media(min-width: 992px) {
	.content .banner {
		padding: 100px 0 35px;
	}

	.content .banner ul li {
		font-size: .75rem;
	}
}


/************************************/
/********** CONTACT US BAR **********/
/************************************/

.contact-us-bar {
	padding: 50px 0;
	position: relative;
}

.contact-us-bar .image {
	position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    overflow: hidden;
}
.contact-us-bar .image::after {
	content: "";
	position: absolute;
	top: 0;bottom: 0;
	left: 0;right: 0;
	background-color: rgb(var(--primary));
	opacity: .75;
}
.contact-us-bar .image img {
	position: relative;
    top: 50%;
    left: 50%;
    min-width: 100%;
    min-height: 100%;
    height: auto;
    transform: translate(-50%, -50%);
    opacity: .2;
}

.contact-us-bar .container {
	display: flex;
	align-items: flex-start;
	flex-direction: column;
}
.contact-us-bar .container > div {
	flex: 1;
}

.contact-us-bar .container p {
	font-size: 1.125rem;
	font-weight: 300;
	color: white;
	margin: 0;
}
.contact-us-bar .container p.h3 {
	font-size: 2.25rem;
	margin-bottom: 15px;
}

.contact-us-bar .container > .button {
	padding: 20px 25px;
	margin-top: 30px;
}


@supports(mix-blend-mode: multiply) {		
	.contact-us-bar .image::after {
		mix-blend-mode: multiply;
		opacity: 1;
	}

	.contact-us-bar .image img {
		height: 100%;
		width: 100%;
		object-fit: cover;
		position: static;
		transform: none;
		filter: grayscale(1);
		filter: grayscale(100%);
	}
}


@media(min-width: 768px) {
	.contact-us-bar {
		padding: 65px 0;
	}

	.contact-us-bar .container {
		align-items: center;
		flex-direction: initial;
	}

	.contact-us-bar .container > .button {
		margin-top: 0;
	}
}

@media(min-width: 992px) {
	.contact-us-bar {
		padding: 75px 0;
	}

	.contact-us-bar .container > .button {
		padding: 25px 40px;
	}
}


/*************************************/
/********** CONTACT US PAGE **********/
/*************************************/

/********** MAP **********/

.content.contact-us .map {
	padding-top: 75%;
    height: 0;
    position: relative;
}

.content.contact-us .map > .image {
    position: absolute;
    top: 0;bottom: 0;
    left: 0;right: 0;
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
}

/********** DETAILS **********/

.content.contact-us .details {
	padding: 50px 0;
}

@media(min-width: 1200px) {
	.content.contact-us .details .container {
		padding: 0 130px;
	}
}

.content.contact-us .details .row {
	margin: -10px;
}
.content.contact-us .details .row > div {
	padding: 10px;
	display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.content.contact-us .details .row > div > div {
	padding-left: 50px;
	position: relative;
}
.content.contact-us .details .row > div > div::before {
	content: "";
	position: absolute;
	top: 4px;left: 0;
}
.content.contact-us .details .row > div > div.hq::before {
	background-image: url(/assets/img/contact-us-home-color.svg);
	background-repeat: no-repeat;
	height: 21px;
	width: 25px;
}
.content.contact-us .details .row > div > div.phone::before {
	background-image: url(/assets/img/contact-us-phone-color.svg);
	background-repeat: no-repeat;
	height: 21px;
	width: 21px;
}
.content.contact-us .details .row > div > div.email {
	margin-top: 15px;
}
.content.contact-us .details .row > div > div.email::before {
	background-image: url(/assets/img/contact-us-email-color.svg);
	background-repeat: no-repeat;
	height: 17px;
	width: 23px;
}

.content.contact-us .details p {
	font-family: var(--font-family-2);
	font-size: 1.125rem;
	color: var(--grey);
	margin: 0;
}
.content.contact-us .details p b {
	display: inline-block;
	color: black;
	font-size: 1.5rem;
	margin-bottom: 5px;
}
.content.contact-us .details p a {
	color: rgb(var(--primary));
	border-bottom: 1px solid transparent;
}
.content.contact-us .details p a:hover, .content.contact-us .details p a:focus {
	border-bottom: 1px solid currentColor;
}


@media(min-width: 768px) {
	.content.contact-us .map {
		padding-top: 36.57%;
	}

	.content.contact-us .details {
		padding: 70px 0;
	}

	.content.contact-us .details .row {
		margin: 0 -60px;
	}
	.content.contact-us .details .row > div {
		padding: 0 60px;
	}

	.content.contact-us .details .row > div > div::before {
		top: 5px;
	}
}

@media(min-width: 992px) {
	.content.contact-us .details {
		padding: 75px 0 90px;
	}
}


/**************************/
/********** FORM **********/
/**************************/

.form {
	position: relative;
}

.content .template .form h4,
.content .template .form .h4 {
	font-family: var(--font-family-1);
	font-weight: 500;
	text-align: center;
	text-transform: uppercase;
	margin-bottom: 40px;
}

.content .template .form .row {
    margin: -10px;
}
.content .template .form .row > div {
    padding: 10px;
    font-size: 0;
}

.content .template .form .honey-input,
form .honey-input {
	position: fixed;
	top: -100%;
	left: -100%;
}

.content .template .form label {
	display: block;
	font-size: 16px;
	font-weight: 500;
    color: var(--black);
    line-height: 1;
    margin: 0;
}
.content .template .form .col-4 label {
	width: calc(300% + 40px);
}
.content .template .form label a {
	color: rgb(var(--primary));
	border-bottom: 1px solid currentColor;
}
.content .template .form label a:hover,
.content .template .form label a:focus {
	border-bottom: 1px solid transparent;
}

.content .template .form span:not(.prefix) {
	display: block;
	font-size: 14px;
	color: var(--grey);
	line-height: 1;
}
.content .template .form .lower span {
	font-style: italic;
}

.content .template .form .input-wrapper,
.content .template .form .select-wrapper {
    padding-top: 12px;
    position: relative;
}
.content .template .form .input-wrapper label {
    position: absolute;
    top: 0;
    transform: translateY(31px);
    pointer-events: none;
    transition: var(--transition);
}
.content .template .form .input-wrapper input:focus + label,
.content .template .form .input-wrapper input[placeholder] + label,
.content .template .form .input-wrapper textarea:focus + label,
.content .template .form .input-wrapper textarea[placeholder] + label,
.content .template .form .input-wrapper.filled label {
    transform: translateX(0);
    font-size: 12px;
}

.content .template .form input,
.content .template .form textarea,
.content .template .form select {
	appearance: none;
	-webkit-appearance: none;
	font-family: var(--font-family-2);
	font-size: 16px;
	font-weight: 400;
	color: var(--grey);
	line-height: 1;
	width: 100%;
	padding: 15px 0;
	background-color: transparent;
    border: none;
    border-bottom: 1px solid #d0d1d1;
    resize: none;
	transition: var(--transition);
}
.content .template .form input.not-filled,
.content .template .form textarea.not-filled {
    border-bottom: 1px solid var(--warning);
}
.content .template .form textarea {
	line-height: 1.5;
}
.content .template .form select {
	line-height: 1.4;
}

.content .template .form .warning {
    font-size: 14px;
    font-weight: 400;
    color: var(--warning);
    height: 20px;
    margin: 0;
    margin-top: 10px;
    line-height: 20px;
    padding-left: 35px;
    position: relative;
}
.content .template .form .warning::before {
    content: "!";
    position: absolute;
    left: 0;
    height: 20px;
    width: 20px;
    background-color: var(--warning);
    border-radius: 100%;
    font-size: 17px;
    font-weight: 500;
    color: white;
    text-align: center;
}

.content .template .form .checkbox-wrapper {
	display: flex;
	align-items: flex-start;
	flex-wrap: wrap;
}

.content .template .form input[type='checkbox'],
.content .template .form input[type='radio'],
.content .banner .form input[type='checkbox'] {
	display: none;
}
.content .template .form input[type='checkbox'] + label,
.content .template .form input[type='radio'] + label
.content .template .form input[type='checkbox'] + label {
	display: inline-block;
	vertical-align: middle;
	height: 23px;
	width: 23px;
	background-color: white;
	cursor: pointer;
	position: relative;
	border: 1px solid #d0d1d1;
	transition: var(--transition);
}
.content .template .form input[type='radio'] + label {
	border-radius: 100%;
}
.content .template .form input[type='checkbox'].not-filled + label,
.content .template .form input[type='radio'].not-filled + label {
	border: 1px solid var(--warning);
}
.content .template .form input[type='checkbox'] + label::before,
.content .template .form input[type='radio'] + label::before,
.content .form input[type='checkbox'] + label::before {
	content: "";
	position: absolute;
	margin: auto;
	opacity: 0;
	pointer-events: none;
	transition: var(--transition);
}
.content .template .form input[type='checkbox'] + label::before,
.content .banner .form input[type='checkbox'] + label::before {
	top: -2px;bottom: 0;
	left: 0;right: 0;
	width: 5px;
	height: 10px;
	border-right: 2px solid var(--black);
	border-bottom: 2px solid var(--black);
	transform: rotate(45deg);
}
.content .template .form input[type='radio'] + label::before {
	top: 0;bottom: 0;
	left: 0;right: 0;
	width: 7px;
	height: 7px;
	background-color: var(--black);
	border-radius: 100%;
}
.content .template .form input[type='checkbox']:checked + label::before,
.content .template .form input[type='radio']:checked + label::before {
	opacity: 1;
}

.content .template .form input[type='checkbox'] + label + label,
.content .template .form input[type='radio'] + label + label,
.content .banner .form input[type='checkbox'] + label + label {
	display: inline-block;
	padding-left: 10px;
	color: var(--grey);
    font-weight: 300;
	line-height: 1.25;
	flex: 1;
	margin-top: 2px;
	cursor: pointer;
}

.content .template .form .lower {
	display: flex;
	flex-wrap: wrap;
}
.content .template .form .lower span {
	min-width: 100%;
	align-self: flex-end;
}


@media(min-width: 768px) {
	.content .template .form h4,
	.content .template .form .h4 {
		margin-bottom: 60px;
    }
    
    .content .template .form .row {
        margin: -15px -10px;
    }
    .content .template .form .row > div {
        padding: 15px 10px;
	}
	
	.content .template .form .col-4 label {
		width: auto;
	}
}

@media(min-width: 992px) {
	.content .template .form h4,
	.content .template .form .h4 {
		margin-bottom: 70px;
	}
}


/************************************/
/********** THANK YOU PAGE **********/
/************************************/

.content.thank-you .template {
	padding: 100px 0;
	text-align: center;
}

.content.thank-you .icon {
	width: 75px;
	height: 75px;
	margin: 0 auto 40px;
}

.content.thank-you h1 {
	margin-bottom: .75em;
}

.content.thank-you .button {
	margin-top: 30px;
}


@media(max-width: 991px) {
	.content.thank-you .template {
		padding: 70px 0;
	}

	.content.thank-you .button {
		padding: 20px 25px;
	}
}

@media(max-width: 767px) {
	.content.thank-you .template {
		padding: 50px 0;
	}
}


/*****************************************************/
/********** ARTICLE LISTING PAGE W/ SIDEBAR **********/
/*****************************************************/

.content .template.has-sidebar.has-sidebar-right {
    padding: 40px 0 0;
}
.content .template.has-sidebar.has-sidebar-left {
    padding: 0 0 40px;
}

.content .template.has-sidebar .container {
	display: flex;
    align-items: flex-start;
    flex-direction: column;
}
.content .template.has-sidebar .container > div:not(.sidebar) {
	flex: 1;
}
.content .template.has-sidebar.has-sidebar-left .container > div:not(.sidebar) {
    padding-top: 40px;
}


@media(min-width: 768px) {
    .content .template.has-sidebar.has-sidebar-right,
    .content .template.has-sidebar.has-sidebar-left {
        padding: 70px 0;
    }

    .content .template.has-sidebar .container {
		flex-direction: initial;
	}
	.content .template.has-sidebar.has-sidebar-right .container > div:not(.sidebar) {
		padding-right: 60px;
	}
	.content .template.has-sidebar.has-sidebar-left .container > div:not(.sidebar) {
        padding-top: 0;
		padding-left: 60px;
	}
}

@media(min-width: 992px) {
	.content .template.has-sidebar.has-sidebar-right,
    .content .template.has-sidebar.has-sidebar-left {
        padding: 100px 0;
    }
  
    .content .template.has-sidebar.has-sidebar-right .container > div:not(.sidebar) {
        padding-right: 80px;
    }
    .content .template.has-sidebar.has-sidebar-left .container > div:not(.sidebar) {
        padding-left: 80px;
    }
}


/*****************************/
/********** SIDEBAR **********/
/*****************************/

.content .template.has-sidebar .sidebar {
    margin: 0 -20px;
    width: calc(100% + 40px);
    padding: 40px 20px;
	background-color: #eeeeee;
}
.content.blog .template.has-sidebar .sidebar {
    margin-top: 40px;
}
.content .template.has-sidebar .sidebar.white {
	background-color: white;
}

/********** BLOG LISTING SIDEBAR **********/

.content.blog .template .sidebar .form {
    margin-bottom: 40px;
}

.content.blog .template .sidebar .form input {
	font-size: .875rem;
	padding: 16px 20px;
	padding-right: 53px;
	border: none;
	background-color: white;
}

.content.blog .template .sidebar .form label {
	font-size: 0;
	width: 0;
	height: 0;
}

.content.blog .template .sidebar .form [submit] {
	position: absolute;
	width: 49px;
	height: 49px;
	top: 0;right: 0;
}
.content.blog .template .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)
}

.content.blog .template .sidebar .h4 {
	color: var(--black);
}

.content.blog .template .sidebar ul {
    padding: 0;
    margin: 1em 0 2em;
    display: flex;
    flex-wrap: wrap;
}
.content.blog .template .sidebar ul:last-child {
	margin-bottom: 0;
}
.content.blog .template .sidebar ul li {
    flex-basis: 50%;
	max-width: 50%;
	font-size: .875rem;
	padding: 3px 0;
}
.content.blog .template .sidebar ul li::before {
	content: normal;
}

.content.blog .template .sidebar ul li a {
	border-bottom: 1px solid transparent;
}
.content.blog .template .sidebar ul li a:hover, .content.blog .template .sidebar ul li a:focus {
	border-bottom: 1px solid currentColor;
}


@media(min-width: 768px) {
	.content .template.has-sidebar .sidebar {
        margin: 0;
        width: 275px;
	    padding: 45px 30px;
	}

	.content.blog .template .sidebar .form {
        margin-bottom: 45px;
	}
	
	.content.blog .template .sidebar ul {
        margin: 0;
        margin-bottom: 3em;
        display: block;
	}
	.content.blog .template .sidebar ul li {
		max-width: none;
	}
}


/***************************************/
/********** BLOG CONTENT PAGE **********/
/***************************************/

/********** LOWER DETAILS SECTION (BLOG LISTING item inherits from here) **********/

.article .lower span {
	display: block;
	font-size: 14px;
	color: #b6b9b9;
	line-height: 1.25;
}
.article .lower span.date {
    padding-left: 20px;
	padding-bottom: 12px;
	position: relative;
}
.article .lower span.date::before {
	content: "\f073";
	font-family: "Font Awesome 5 Free";
	font-weight: 400;
	color: var(--black);
	position: absolute;
	left: 0;
}

.article .lower span a {
	color: rgb(var(--primary));
	border-bottom: 1px solid transparent;
}
.article .lower span a:hover, .article span a:focus {
	border-bottom: 1px solid currentColor;
}

.content .article-nav {
	border-top: 1px solid #e0dedd;
    margin-top: 20px;
    padding-top: 45px;
}

.content .article-nav .row {
    margin: -10px;
}
.content .article-nav .row > div {
    padding: 10px
}
.content .article-nav .row > div:nth-child(2) {
    text-align: center;
    order: 1;
}
.content .article-nav .row > div:last-child {
	text-align: right;
}
.content .article-nav .row > div a {
	font-size: 1.125rem;
	color: rgb(var(--primary));
}
.content .article-nav .row > div a:hover,
.content .article-nav .row > div a:focus {
	opacity: .5;
}
.content .article-nav .row > div.disabled a {
	opacity: .25;
	pointer-events: none;
}

.content .article-nav .row > div.prev a,
.content .article-nav .row > div.next a {
	padding-left: 40px;
	position: relative;
}
.content .article-nav .row > div.prev a::before,
.content .article-nav .row > div.next a::before {
	content: "";
	position: absolute;
	top: 0;bottom: 0;
    margin: auto;
    height: 9px;
	width: 20px;
	background-image: url(/assets/img/arrow-color.svg);
	background-repeat: no-repeat;
}

.content .article-nav .row > div.prev a {
	padding-left: 30px;
}
.content .article-nav .row > div.prev a::before {
	left: 0;
	transform: rotate(180deg);
}

.content .article-nav .row > div.next a {
	padding-right: 30px;
	padding-left: 0;
}
.content .article-nav .row > div.next a::before {
	right: 0;
}


@media(min-width: 992px) {	
    .content .article-nav .row > div.prev a,
    .content .article-nav .row > div.next a {
		padding-left: 40px;
	}
	.content .article-nav .row > div.next a {
		padding-right: 40px;
	}

	.content .article-nav .row > div.prev a::before, .content .article-nav .row > div.next a::before {
		height: 12px;
	    width: 27px;
	}
}

@media(min-width: 768px) {
	.content .article-nav {
		margin-top: 30px;
        padding-top: 65px;
	}

	.article .lower span.date {
		padding-left: 25px;
	}
	.content .article-nav .row > div:nth-child(2) {
        order: initial;
    }
}


/**************************************/
/********** CONTENT 404 PAGE **********/
/**************************************/

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

.content.page404 .template .container {
	text-align: center;
}

.content.page404 .template h1 {
	font-size: 3.125rem;
	color: black;
	font-weight: bold;
	line-height: 1;
	margin: 0;
}
.content.page404 .template h2 {
	font-size: 1.875rem;
	margin: .75em 0 1.5em;
}


/*********************************************/
/********** CALENDAR (FullCalendar) **********/
/*********************************************/

#calendar {
	font-family: var(--font-family-1);
	width: 230px;
	max-width: 100%;
	margin: 0 auto;
}

#calendar .fc-left,
#calendar .fc-right {
    float: none;
    position: relative;
}
#calendar .fc-right {
    order: 1;
}

#calendar .fc-center {
    flex: 1;
    display: flex;
}
#calendar .fc-center h2,
#calendar .fc-center select {
	color: black;
	font-size: 14px;
	font-weight: 500;
	letter-spacing: -.04em;
	text-transform: uppercase;
    margin: 0;
    text-align: center;
    width: 100%;
}
#calendar .fc-center .select-wrapper {
    flex: 1;
    margin: 0 5px;
    background-color: var(--white);
    position: relative;
}
#calendar .fc-center .select-wrapper::before {
    content: "";
    width: 8px;
    height: 5px;
    background-image: url(/assets/img/caret-color.svg);
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    top: 0;bottom: 0;
    right: 5px;
    margin: auto;
    pointer-events: none;
}
#calendar .fc-center select {
    appearance: none;
    -webkit-appearance: none;
    padding: 10px;
	border-radius: 0;
	background-color: transparent;
	font-family: inherit;
}

#calendar .fc-center label {
	font-size: 0;
	width: 0;
	height: 0;
}

#calendar .fc-toolbar {
	position: relative;
	font-size: 0;
    margin-bottom: 30px;
    display: flex;
    align-items: center;
}
#calendar .fc-toolbar button {
	background: transparent;
	box-shadow: none;
	border: none;
	border-radius: 0;
	padding: 5px;
	width: 30px;
    height: 19px;
}
#calendar .fc-toolbar button span {
	position: static;
	margin: 0;
	background-image: url(/assets/img/arrow-color.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: 12px;
	font-weight: 400;
	color: #434344;
	margin-bottom: 0;
	margin-top: 6px;
	float: none;
}
#calendar .fc-title {
	display: none;
}

#calendar .fc-event {
	display: block;
	background-color: rgb(var(--primary));
	border: none;
	border-radius: 10px;
	margin: 0 10px;
	margin-top: 5px;
	height: 12px;
	min-width: 12px;
	padding: 0;
}

#calendar .fc-head span {
	font-size: 12px;
	font-weight: bold;
	margin: 0;
	margin-bottom: 6px;
	color: black;
}
#calendar .fc-row {
	border-bottom: 1px solid #eeeded !important;
}
#calendar .fc-body .fc-row {
	min-height: 3em;
}
#calendar .fc-bg table tr td {
	border-right: 1px solid #eeeded !important;
}
#calendar .fc-bg table tr td.fc-today {
	background: rgba(var(--primary),.2)
}
#calendar .fc-bg table tr td:last-of-type {
	border-right: none !important;
}

/* Custom class for event details */
#calendar .fc-event-details {
	display: block;
	padding: 20px 15px;
	margin-top: 20px;
	background-color: rgb(var(--primary));
	text-decoration: none;
	position: relative;
}
#calendar .fc-event-details::before {
	content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: rgba(0, 0, 0, .15);
    opacity: 0;
    transition: var(--transition);
    -webkit-transition: var(--transition);
}
#calendar .fc-event-details:hover::before {
	opacity: 1;
}

#calendar .fc-event-details > * {
	position: relative;
	z-index: 1;
}

#calendar .fc-event-details p {
	color: black;
	font-size: 12px;
	font-weight: bold;
	text-transform: uppercase;
	margin-bottom: 5px;
}
#calendar .fc-event-details span {
	display: block;
	color: var(--black);
	font-size: 14px;
	font-weight: 400;
	color: white;
	line-height: 1.3;
}


/********************************/
/********** SWEETALERT **********/
/********************************/

.swal-overlay {
	background-color: rgba(0, 0, 0, .88);
	z-index: 9999999999;
}

.swal-modal {
	border-radius: 0;
	width: 515px;
}
.swal-title {
	font-size: 1.75rem;
	font-weight: 300;
	color: var(--black);
	text-transform: uppercase;
}
.swal-text {
	font-size: 1rem;
	font-weight: 300;
	color: #535252;
	text-align: center;
	padding: 0 65px;
	max-width: 100%;
}

.swal-footer {
	text-align: center;
	margin: 20px 0 45px;
	padding: 0;
}
.swal-button-container {
	margin: 0;
}
.swal-button,
.swal-button:not([disabled]):hover,
.swal-button:not([disabled]):focus {
	display: inline-block;
	padding: 20px 55px;
	background-color: rgb(var(--primary));
	font-size: .875rem;
	font-weight: 500;
	color: white !important;
	line-height: 1;
	text-transform: uppercase;
	border-radius: 0;
    position: relative;
	transition: var(--transition);
}