:root {
	/* Colors */
	--primary: #277AF5;
	--primary-bg: #e3f4ff;
	--primary-dark: #1457bb;
	--primary-light: #008fff;

	--secondary: #4D4D4D;
	--secondary-bg: #e4f1f7;
	--secondary-dark: #353535;
	--secondary-light: #6e6e6e;

	--tertiary: #778696;
	--tertiary-bg: #ecedef;
	--tertiary-dark: #607285;
	--tertiary-light: #8f9ba9;

	/* Fonts */
	--font-family-heading: "Barlow Condensed", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
		"Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif,
		"Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
	--font-family-sans-serif: "Barlow", -apple-system, BlinkMacSystemFont, "Segoe UI",
		Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif,
		"Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
	--line-height: 1.5;

	/* Borders */
	--button-border: 2px;
	--dropdown-border: 1px;
	--input-border: 2px;
	--panel-border: 1px;

	/* Radii */
	--button-radius: 0.25rem;
	--dropdown-radius: 0.25rem;
	--input-radius: 0.25rem;
	--panel-radius: 0.5rem;

	/* Padding */
	--button-padding: 1rem;
	--dropdown-padding: 1rem;
	--input-padding: 1rem;
	--panel-padding: 1rem;

	--navigation-height: 6rem;
}

/* Responsive breakpoints, mobile first. Graag bij gerelateerde component gebruiken, niet één per style sheet. */
@media only screen and (min-width: 576px) {
	/* Small (sm) */
}

@media only screen and (min-width: 768px) {
	/* Medium (md) */
}

@media only screen and (min-width: 992px) {
	/* Large (lg) */
}

@media only screen and (min-width: 1200px) {
	/* Extra large (xl) */
}

/* Scroll smooth naar anchors op de pagina. */
html {
	scroll-behavior: smooth;
}

@media (prefers-reduced-motion) {
	html {
		scroll-behavior: unset;
	}
}

h1 span,
h2 span {
	color: var(--primary);
}

/* Zorg dat er niet buiten de pagina gescrolt kan worden. */
body {
	overscroll-behavior-y: none;
}

hr {
	background-color: currentColor;
}

h3,
.h3 {
	font-size: 1.25rem;
	line-height: 1.75rem;
}

h4,
.h4 {
	font-size: 1.2rem;
	line-height: 1.7rem;
}

h5,
.h5 {
	font-size: 1.15rem;
	line-height: 1.65rem;
}

h6,
.h6 {
	font-size: 1.1rem;
	line-height: 1.6rem;
}

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

	/* Medium (md) */
	h3,
	.h3 {
		font-size: 1.25rem;
		line-height: 1.75rem;
	}

	h4,
	.h4 {
		font-size: 1.2rem;
		line-height: 1.7rem;
	}

	h5,
	.h5 {
		font-size: 1.15rem;
		line-height: 1.65rem;
	}

	h6,
	.h6 {
		font-size: 1.1rem;
		line-height: 1.6rem;
	}
}

input {
	accent-color: var(--primary-dark);
}

small,
.small {}

/* Navigatie balk mee laten scrollen. */
.nav-header {
	position: sticky;
	top: 0;
	z-index: 100;
	background-color: white;
}

@media screen and (min-width: 992px) {
	#adminbar+* .nav-header {
		top: 3.5rem;
	}
}

/* Navigatie toggler met open en sluit animatie. */
.navbar-toggler {
	border: none;
}

.navbar-toggler-icon {
	position: relative;
	background-image: none !important;
}

.navbar-toggler-icon i {
	display: block;
	position: absolute;
	height: 0.1em;
	width: 100%;
	left: 0;

	background-color: black;
	transition-property: left, top, transform, width;
	transition-duration: 250ms;
}

.navbar-toggler-icon i:nth-child(1) {
	top: calc(20% - 0.05em);
}

.navbar-toggler-icon i:nth-child(2) {
	top: calc(50% - 0.05em);
}

.navbar-toggler-icon i:nth-child(3) {
	top: calc(80% - 0.05em);
}

.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon i:nth-child(1) {
	top: calc(50% - 0.1em);
	transform: rotate(45deg);
}

.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon i:nth-child(2) {
	width: 0;
	left: 50%;
}

.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon i:nth-child(3) {
	top: calc(50% - 0.1em);
	transform: rotate(-45deg);
}

/* NAVBAR */

header ul .nav-item a span {
	color: var(--primary);
	font-family: var(--font-family-heading);
	transition: 0.3s ease-out;
	font-size: 1.25rem;
}

header .navbar-tel {
	font-size: 1rem;
	font-family: var(--font-family-sans-serif);
}

header ul .nav-item a::after {
	color: var(--primary);
	transition: 0.3s ease-out;
	transform: rotate(180deg);
}

header ul .nav-item.show a::after {
	transform: rotate(0deg);
}

header .navbar-tel:hover span,
header .navbar-tel:focus span {
	color: var(--primary);
}

header .navbar-tel:hover i,
header .navbar-tel:focus i {
	color: var(--primary);
}

header .navbar-tel span {
	transition: 0.3s ease-out;
	color: var(--secondary);
}

header ul .nav-item a:hover span,
header ul .nav-item a:focus span {
	color: var(--secondary);
}

header ul .nav-item a:hover::after,
header ul .nav-item .nav-link:focus::after {
	color: var(--secondary);
}

header .header-contact .btn-link {
	padding-right: 0;
}

header .active span,
header .active::after {
	color: var(--secondary) !important;
}

header .active:hover span,
header .active:focus span,
header .nav-link.active:hover::after,
header .nav-link.active:focus::after {
	color: var(--primary) !important;
}

header .dropdown-item.active {
	background-color: white;
}

header .dropdown-item.active:hover span,
header .dropdown-item.active:focus span {
	color: var(--primary);
}

header .dropdown-item:hover,
header .dropdown-item:focus {
	background-color: transparent;
}

header .dropdown-toggle {
	text-align: center;
}

.dropdown-menu {
	transform: scaley(0);
	display: block !important;
	transition: transform 0.3s ease;
	transform-origin: top;
	position: absolute !important;
	left: -53px;
	margin-top: 10px;
	border-radius: 0;
}

.dropdown-menu.show {
	transform: scaley(1);
	transform-origin: top;
	position: relative !important;
	left: 0;
}

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

	/* Medium (md) */
	.dropdown-menu {
		left: 0;
	}

	.dropdown-menu.show {
		position: absolute !important;
	}
}

/* Buttons */
.btn {
	font-family: var(--font-family-heading);
}

.btn-primary {
	background-color: white;
	color: var(--primary) !important;
	border-radius: 9999px !important;
}

.btn-primary:hover,
.btn-primary:focus {
	background-color: var(--primary);
	border-color: white;
	color: white !important;
	text-decoration: none !important;
}

.btn-secondary {
	background-color: white;
	color: var(--secondary) !important;
	border-radius: 9999px !important;
}

.btn-secondary:hover,
.btn-secondary:focus {
	background-color: var(--secondary);
	border-color: white;
	color: white !important;
	text-decoration: none !important;
}

.btn-tertiary {
	background-color: white;
	color: var(--tertiary) !important;
	border-radius: 9999px !important;
}

.btn-tertiary:hover,
.btn-tertiary:focus {
	background-color: var(--tertiary);
	border-color: white;
	color: white !important;
	text-decoration: none !important;
}

.btn-back {
	color: var(--secondary);
	font-size: 0.95rem;
	transition: 0.3s ease-out;
	padding-left: 0 !important;
	font-family: var(--font-family-sans-serif);
}

.btn-back::before {
	content: "\f053";
	font: var(--fa-font);
	margin-right: 0.5rem;
	transition: 0.3s ease-out;
	color: var(--primary) !important;
}

.btn-back:hover,
.btn-back:focus {
	color: var(--primary);
}

.btn-back:hover::before,
.btn-back:focus::before {
	margin-right: 1rem;
}

/* HEADER CAROUSEL */

.header {
	position: relative;
}

.header .header-tekst {
	text-align: left;
	position: absolute;
	bottom: 3rem;
	left: 0;
	right: 0;
	pointer-events: none;
}

[data-editor-mode="content"] .header .header-tekst {
	position: relative;
	pointer-events: all;
	bottom: 0;
}

[data-editor-mode="content"] .header .header-tekst p {
	color: black;
}

.header p {
	font-size: 1.125rem;
	line-height: 1.8rem;
	color: white;
}

.header .carousel-header-text {
	font-size: 2.5rem;
	font-family: var(--font-family-heading);
	line-height: 2.8rem;
}

.header video {
	min-height: 400px;
	object-fit: cover;
	max-height: 700px;
}

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

	/* Medium (md) */
	.header p {
		font-size: 1.25rem;
	}

	.header .carousel-header-text {
		font-size: 3.75rem;
		line-height: 3.75rem;
		font-family: var(--font-family-heading);
	}
}

@media only screen and (max-width: 991px) {
	.header p br {
		display: none;
	}
}

.header .carousel-inner img {
	min-height: 500px;
	object-fit: cover;
	object-position: 30%;
}

.header .carousel-inner:after {
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	background-color: rgba(0, 0, 0, 0.3);
}

/* DIENSTEN VIEW */

.trans-view .content-item-title {
	margin-top: 1rem;
	font-size: 2.2rem;
	color: var(--secondary);
	text-align: center;
	margin-bottom: 4rem;
}

.trans-view .content-item-preview .content p {
	color: #000000;
	font-size: 1rem;
	display: flex;
	flex-direction: column;
	height: 200px;
	justify-content: space-between;
}

.trans-view .content-item-preview .content .title {
	color: var(--secondary);
	font-size: 1.5rem;
	padding-top: 1rem;
	padding-bottom: 0.5rem;
	border-bottom-style: solid;
	border-bottom-color: var(--primary);
	border-bottom-width: 2px;
}

.trans-view .content-item-preview .content .intro .readmore {
	display: table;
	font-size: 1rem;
	color: var(--primary);
	transition: 0.3s ease-out;
}

.trans-view .content-item-preview .image img {
	border-radius: 0.5rem;
	aspect-ratio: 3.5/2;
	object-fit: cover;
}

.trans-view .flex-auto-responsive>* {
	min-width: 200px;
}

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

	/* Medium (md) */
	.trans-view .content-item-title {
		margin-top: 1rem;
		font-size: 3.125rem;
		color: var(--secondary);
		text-align: center;
		margin-bottom: 4rem;
	}

	.trans-view .content-item-preview .content p {
		color: #000000;
		font-size: 1.125rem;
		height: 175px;
	}

	.trans-view .content-item-preview .content .title {
		font-size: 1.7rem;
	}

	.trans-view .content-item-preview .content .intro .readmore {
		display: table;
		font-size: 1.125rem;
		color: var(--primary);
		transition: 0.3s ease-out;
	}

	.trans-view .content-item-preview .image img {
		border-radius: 0.5rem;
		aspect-ratio: 5/2;
		object-fit: cover;
	}

	.trans-view .flex-auto-responsive>* {
		min-width: 300px;
	}
}

.trans-view .is-empty {
	display: none;
}

.trans-view .content-item-preview {
	margin-right: 1.25rem;
	flex-basis: 33%;
}

/* Verwijder de underline on hover van de link */

.trans-view .content-item-preview a:hover {
	text-decoration: none;
}

.trans-view .content-item-preview:hover .content .intro .readmore,
.trans-view .content-item-preview:focus .content .intro .readmore {
	color: var(--secondary);
}

.trans-view .content-item-preview .content .intro .readmore::after {
	position: relative;
	display: inline-block;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
	font: var(--fa-font);
	content: "\f061";
	color: var(--primary);
	margin-left: 0.5rem;
	left: 0;
	transition: 0.3s all;
}

.trans-view .content-item-preview:hover .content .intro .readmore::after,
.trans-view .content-item-preview:focus .content .intro .readmore::after {
	left: 10px;
	color: #000;
}

/* Verander hier eventueel de minimale breedte van de panel items */

.trans-view .slider-control-prev {
	position: absolute;
	top: 25%;
	background-color: var(--primary);
	padding: 2rem 0.5rem;
	opacity: 1;
	left: 0;
	border-bottom-right-radius: var(--button-border);
}

.trans-view .slider-control-next {
	position: absolute;
	top: 25%;
	background-color: var(--primary);
	padding: 2rem 0.5rem;
	opacity: 1;
	right: 0;
	border-top-left-radius: var(--button-border);
}

/* Verander hier eventueel de icoontjes van de slider controls*/

.trans-view .slider-control-prev .slider-control-prev-icon::after {
	content: "\f053";
	color: inherit;
}

.trans-view .slider-control-next .slider-control-next-icon::after {
	content: "\f054";
	color: inherit;
}

/* Verwijder eventueel de slider controls op bredere schermformaten */

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

	.trans-view .slider-control-next,
	.trans-view .slider-control-prev {
		display: none;
	}
}

/* BOUWKUNDIG SECTIE */
.img-links-tekst-right .bouwkundig-title {
	font-size: 1.875rem;
	color: var(--secondary);
}

.content-subtemplate-home .img-links-tekst-right .unclamp-left-clamp-right {
	background-color: rgb(246, 246, 246);
}

.content-subtemplate-privacy {
	background-color: rgb(246, 246, 246);
}

.img-links-tekst-right p {
	font-size: 1.05rem;
	line-height: 2rem;
}

.img-links-tekst-right .tekst p:first-child {
	padding-bottom: 2rem;
}

.img-links-tekst-right .tekst p:last-child {
	text-align: center;
}

.img-links-tekst-right .tekst p:nth-child(2) a:last-child {
	background-color: var(--primary);
	color: white !important;
}

.img-links-tekst-right .tekst p:nth-child(2) a:hover:last-child,
.img-links-tekst-right .tekst p:nth-child(2) a:focus:last-child {
	background-color: white;
	border-color: var(--primary);
	color: var(--primary) !important;
}

.img-links-tekst-right .tekst p:nth-child(2) a:hover:first-child,
.img-links-tekst-right .tekst p:nth-child(2) a:focus:first-child {
	border-color: var(--primary);
}

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

	/* Medium (md) */
	.img-links-tekst-right .tekst {
		padding-left: 4rem;
	}

	.img-links-tekst-right .tekst p:last-child {
		text-align: left;
	}

	.img-links-tekst-right .bouwkundig-title {
		font-size: 2.8rem;
	}

	.img-links-tekst-right p {
		font-size: 1.2rem;
		line-height: 2rem;
	}
}

/* PROJECTEN BLOG */

.blog-overview .projecten-title {
	font-size: 1.875rem;
	color: var(--secondary);
}

.blog-item-preview-large .title {
	font-size: 1.55rem;
	color: white;
}

.blog-item-preview-large .readmore {
	color: white;
	font-size: 1rem;
	text-decoration: underline;
}

.blog-item-preview-large>.blog-item-preview .text {
	line-height: 1.375rem;
}

.blog-item-preview .image {
	background-color: black;
}

.blog-item-preview .blog-item-link img,
.blog-item-preview .blog-item-link .readmore {
	transition: 0.3s ease-out;
}

.blog-item-preview .blog-item-link:hover img,
.blog-item-preview .blog-item-link:focus img {
	opacity: 0.75;
}

.blog-item-preview .blog-item-link:hover .readmore,
.blog-item-preview .blog-item-link:focus .readmore {
	color: white;
}

.blog-item-preview-large .content {
	padding-left: 1rem !important;
}

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

	/* Medium (md) */
	.blog-overview .projecten-title {
		font-size: 2.8rem;
	}

	.blog-item-preview-large .title {
		font-size: 1.55rem;
		color: var(--secondary);
	}

	.blog-item-preview-large .readmore {
		color: var(--primary);
		font-size: 1.125rem;
	}

	.blog-item-preview-large .blog-item-link:hover .readmore,
	.blog-item-preview-large .blog-item-link:focus .readmore {
		color: var(--secondary-dark);
	}
}

/* PROJECTEN ITEM */

.blog-template-metro {
	background-color: rgb(246, 246, 246);
	padding-top: 1rem;
}

.blog-template-metro .blog-content {
	margin-bottom: 4rem;
}

.blog-template-metro .blog-content .blog-item-title {
	padding-top: 2rem;
}

.blog-template-metro .blog-collection h1 {
	padding: 3rem 0 2rem 0;
}

.blog-template-metro .blog-content h2 {
	font-size: 1.3rem;
	color: var(--primary);
	margin-top: 2rem;
}

.blog-template-metro .blog-content .blog-item-title,
.blog-template-metro .blog-collection h1 {
	font-size: 2.2rem;
	color: var(--primary);
}

.blog-content picture {
	max-width: none;
}

.blog-content .title {
	margin-left: 0;
}

.blog-template-metro [data-partial="text"] a {
	padding-left: 0 !important;
	transition: 0.3s ease-out;
	text-decoration: underline;
}

.blog-template-metro [data-partial="text"] a:hover,
.blog-template-metro [data-partial="text"] a:focus {
	color: var(--secondary);
	text-decoration: underline;
}

.blog-template-metro .blog-related {
	background-color: white;
}

.blog-template-metro .blog-related-title {
	font-size: 2.8rem;
	font-family: var(--font-family-heading);
	margin-top: 0;
	padding-top: 5rem;
	color: var(--secondary);
}

.blog-template-metro .blog-item-content {
	margin-top: 3rem;
}

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

	/* Medium (md) */
	.blog-template-metro .blog-content h2 {
		font-size: 1.55rem;
		color: var(--primary);
		margin-top: 2rem;
	}

	.blog-template-metro .blog-content .blog-item-title,
	.blog-template-metro .blog-collection h1 {
		font-size: 3.125rem;
		color: var(--primary);
	}
}

/* OVER ONS PAGINA */

/* header */

.content-subtemplate-over-ons .img-links-tekst-right .tekst h1 {
	font-size: 2.2rem;
	line-height: 2rem;
	padding-bottom: 1.5rem;
	color: var(--secondary);
}

.content-subtemplate-over-ons .img-links-tekst-right .tekst .content p:first-child {
	font-size: 1.05rem;
	line-height: 2rem;
}

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

	/* Medium (md) */
	.content-subtemplate-over-ons .img-links-tekst-right .tekst h1 {
		font-size: 3.125rem;
		line-height: 3.45rem;
		padding-bottom: 1.5rem;
	}

	.content-subtemplate-over-ons .img-links-tekst-right .tekst .content p:first-child {
		font-size: 1.2rem;
		line-height: 2rem;
	}
}

/* tekst links en rechts */

.tekst-left-right .over-ons-tekst-title {
	font-size: 1.875rem;
	line-height: 2rem;
	color: var(--secondary);
}

.tekst-left-right p {
	font-size: 1.05rem;
	line-height: 2rem;
}

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

	/* Medium (md) */
	.tekst-left-right .over-ons-tekst-title {
		font-size: 2.8rem;
		line-height: 3.45rem;
	}

	.tekst-left-right p {
		font-size: 1.2rem;
		line-height: 2rem;
	}
}

/* tekst links img rechts */

.tekst-links-img-right h2 {
	color: var(--primary);
	font-size: 1.875rem;
	line-height: 2rem;
}

.tekst-links-img-right p {
	font-size: 1.05rem;
	line-height: 2rem;
}

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

	/* Medium (md) */
	.tekst-links-img-right h2 {
		color: var(--primary);
		font-size: 2.8rem;
		line-height: 3.45rem;
	}

	.tekst-links-img-right p {
		font-size: 1.2rem;
		line-height: 2rem;
	}
}

.tekst-links-img-right .btn-primary {
	background-color: var(--primary);
	color: white !important;
	margin-top: 2rem;
}

.tekst-links-img-right .btn-primary:hover,
.tekst-links-img-right .btn-primary:focus {
	background-color: white;
	color: var(--primary) !important;
	border-color: var(--primary);
}

/* DIENSTEN */

.content-subtemplate-diensten h1 {
	font-size: 2.2rem;
	line-height: 2rem;
	padding-bottom: 1.5rem;
	color: var(--secondary);
}

.content-subtemplate-diensten h2 {
	color: var(--secondary);
	font-size: 1.875rem;
	line-height: 2rem;
}

.content-subtemplate-diensten p {
	font-size: 1.05rem;
	line-height: 2rem;
}

.content-subtemplate-diensten .unclamp-left-clamp-right,
.content-subtemplate-diensten .img-right-tekst-left {
	background-color: rgb(246, 246, 246);
}

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

	/* Medium (md) */
	.content-subtemplate-diensten h1 {
		font-size: 3.125rem;
		line-height: 3.45rem;
		padding-bottom: 1.5rem;
	}

	.content-subtemplate-diensten h2 {
		font-size: 2.8rem;
		line-height: 3.45rem;
	}

	.content-subtemplate-diensten p {
		font-size: 1.2rem;
		line-height: 2rem;
	}
}

.content-subtemplate-diensten .tekst-left-right ul {
	column-count: 2;
}

/* CONTACT */

.content-subtemplate-contact address {
	margin-bottom: 0;
}

.content-subtemplate-contact .contact-info a {
	color: var(--secondary);
}

.content-subtemplate-contact .contact-info i {
	color: var(--secondary);
	min-width: 20px;
}

.content-subtemplate-contact .contact-link a {
	width: fit-content;
	transition: 0.3s ease-out;
}

.content-subtemplate-contact a span {
	transition: 0.3s ease-out;
}

.content-subtemplate-contact .contact-link a:hover,
.content-subtemplate-contact .contact-link a:focus,
.content-subtemplate-contact a:hover span,
.content-subtemplate-contact a:focus span {
	color: var(--primary);
	text-decoration: none;
}

.content-subtemplate-contact .contact-maps section,
.content-subtemplate-contact .contact-maps section iframe {
	height: 100%;
}

/* FOOTER */

footer {
	background-color: var(--primary);
	color: white;
}

footer .top {
	padding-top: 3rem;
	padding-bottom: 3rem;
}

footer .top .h3 {
	font-size: 1.55rem;
}

footer .top a {
	transition: 0.3s ease-out;
	color: white;
}

footer .top a:hover,
footer .top a:focus {
	text-decoration: none;
	color: var(--secondary-dark);
}

footer .top .nav-link:hover,
footer .top .nav-link:focus {
	color: var(--secondary-dark);
}

footer .top .nav-item+.nav-item {
	margin-top: 0.5rem;
}

footer .top .nav-link {
	padding-left: 0;
}

footer .top .navlist-nav {
	margin-bottom: 0;
}

footer .top .nav-link::after {
	content: "\f061";
	font: var(--fa-font);
	margin-left: 0.5rem;
	font-size: 1em;
	transition: margin-left 0.3s ease-out;
}

footer .top .nav-link:hover::after,
footer .top .nav-link:focus::after {
	margin-left: 1rem;
}

footer .footer-contact {
	margin-top: 1.5rem;
}

footer .footer-contact .btn.btn-primary:not(.btn-admin) {
	line-height: 1.25;
	text-align: left;
	padding: 0.75rem 1.5rem;
}

footer .footer-contact .btn.btn-primary:not(.btn-admin):active,
footer .footer-contact .btn.btn-primary:not(.btn-admin):focus,
footer .footer-contact .btn.btn-primary:not(.btn-admin):hover {
	text-decoration: underline;
	color: inherit;
}

footer .footer-socials a {
	margin-right: 1rem;
	font-size: 1.5em;
	color: white;
}

footer .bottom a,
footer .bottom button {
	color: white;
	transition: 0.3s ease-out;
}

footer .bottom a:hover,
footer .bottom a:focus,
footer .bottom button:hover,
footer .bottom button:focus {
	background-color: white;
	color: var(--primary);
}

footer .bottom .container {
	border-top-style: solid;
	border-top-width: 1px;
}

/* STATIC FOOTER */

/* Place on the bottom of the screen. */
.navbar-static-bar {
	position: fixed;
	display: block;
	z-index: 1039;
	bottom: 0;
	left: 0;
	width: 100%;
	background-color: black;
	color: white;

	box-shadow: 0 -0.5rem 0.5rem rgba(0, 0, 0, 0.15);

	--static-bar-width: 50%;
	--static-bar-spacing: 0.2rem;
}

.navbar-static-bar:has(.navlist-nav .nav-item:nth-child(3)) {
	--static-bar-width: 33%;
}

.navbar-static-bar:has(.navlist-nav .nav-item:nth-child(4)) {
	--static-bar-width: 25%;
}

/* Make it a horizontally scrollable list. */
.navbar-static-bar .navlist-nav {
	list-style-type: none;
	padding: 0;
	margin: 0;
	overflow-x: auto;
}

/* Hide scrollbar. */
.navbar-static-bar .navlist-nav::-webkit-scrollbar {
	display: none;
}

.navbar-static-bar .nav-item {
	position: relative;
	display: inline-block;
	width: calc(var(--static-bar-width) - calc(3 * var(--static-bar-spacing)));
	margin-left: var(--static-bar-spacing);
	margin-right: var(--static-bar-spacing);
	vertical-align: middle;
}

/* Place a line in between each item. */
.navbar-static-bar .nav-item:after {
	content: "";
	position: absolute;
	display: block;
	width: 1px;
	top: 20%;
	bottom: 20%;
	left: calc(100% + var(--static-bar-spacing) + 1px);

	background-color: var(--secondary-light);
}

.navbar-static-bar .nav-item:last-child:after {
	display: none;
}

/* Place icon and text vertical. */
.navbar-static-bar .nav-link {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding: 0.75rem;
	color: var(--primary);
}

.navbar-static-bar .nav-icon {
	font-size: 1.25rem;
	margin-bottom: 0.5rem;
}

.navbar-static-bar .nav-indentation {
	display: none;
}

.navbar-static-bar .nav-title {
	font-size: 0.75rem;
	line-height: 0.75rem;
	font-weight: 300;
	text-align: center;
	color: white;
	font-family: var(--font-family-heading);
}

/* Highlight when selected. */
.navbar-static-bar .nav-link:active,
.navbar-static-bar .nav-link:hover,
.navbar-static-bar .nav-link:focus {
	text-decoration: none;
	color: black;
	background-color: white;
}

.navbar-static-bar .nav-link:active span,
.navbar-static-bar .nav-link:hover span,
.navbar-static-bar .nav-link:focus span {
	color: black;
}

/* Move asside for the admin bar. */
@media screen and (max-width: 991px) {
	[data-logged="true"] .navbar-static-bar {
		margin-bottom: 3.125rem;
	}
}

/* Offset height below the footer for the navigation bar. */
.navbar-static-bar-offset {
	height: 4.625rem;
}

/* Format the toggler if displayed inside the static bar. */
.navbar-static-bar button.navbar-toggler {
	color: inherit;
	text-align: center;
	width: 100%;
}

/* Style Whappie link. */
.navbar-static-bar .nav-link[href="$whappie_open"] .nav-icon {
	background-color: var(--whatsapp);
	color: white;
	/* color: var(--whatsapp); */
	border-radius: 999px;
	aspect-ratio: 1/1;
	text-align: center;
}