.color-cyan {
	color: $cyan;
}

.list-nude {
	margin: 0;
	padding: 0;
	list-style-type: none;
}

.download-link {
	&::after {
		content: "\00A0\f019";
		font-family: FontAwesome, sans-serif;
	}
}


%title {
	display: flex;
	margin-bottom: 1em;
	padding-bottom: 0;
	&::before {
		content: "";
		order: 1;
		height: 1px;
		flex: 1 0 0;
		align-self: center;
		background-color: currentColor;
		margin-left: .66em;
	}
}

%button {
	text-transform: uppercase;
	font-size: $fz-small;
	font-weight: 500;
	padding: 1em;
}

.button-right-arrow {
	@extend %button;
	display: inline-flex;
	align-items: center;
	padding: 0;
	padding-left: 15px;
	overflow: hidden;

	&::after {
		content: "→";
		color: white;
		background-color: $cyan;
		padding: 10px;
		font-weight: bold;
		margin-left: 1em;
	}
}

.button-left-arrow {
	@extend .button-right-arrow;
	padding-left: 0;
	padding-right: 1em;
	&::after {
		content: "←";
		order: -1;
		margin-left: 0;
		margin-right: 1em;
	}
}

label {
	font-weight: 600;
}

//
//	HEADER
//

#top {
	display: flex;
	flex-wrap: wrap;
	align-items: center;

	@media ($max-mobile-viewport) {
		height: 75px;
	}
	@media ($min-desktop-viewport) {
		padding-bottom: 20px;	
	}
}


#logo.has-logo{
	padding-left: 0;
	a {
		min-width: 0;
		width: 100px;
		height: 50px;
		@media ($min-desktop-viewport) {
			width: 180px;
			height: 85px;
			margin-right: 20px;
		}
	}
	@media ($max-mobile-viewport) {
		flex-grow: 1;
	}
}

.theme-header--baseline {
	font-size: $fz-small;
	text-transform: uppercase;
}

//
//	TOPLINKS
//

#toplinks {
	position: static;
	border: none;
	box-shadow: none;
	border-radius: 0;
	padding: 0;

	@media ($max-mobile-viewport) {
		padding-right: $mobile-header-height;
	}

	span {
		display: inline-block;
	}

	a {
		text-transform: uppercase;
		display: inline-block;

		&.login-link, &.logout {
			background-color: $gray-dark;
			color: white;
			padding: .66em 1em;
			&:hover {
				background-color: $cyan;
				text-decoration: none;
			}
		}

		&.registration {
			display: none;
		}
		&.account-link {
			color: $gray-medium;
			font-weight: 500;
		}
	}
	@media ($max-mobile-viewport) {
		a {
			display: block;
			font-size: $fz-small;
		}
	}
	@media ($min-desktop-viewport) {
		flex: 1 0 100%;
		order: -1;
		text-align: right;
	}
}

//
//	NAV
//

.site-nav {
	@media ($min-desktop-viewport) {
		flex-grow: 1;
		text-align: right;
		align-self: flex-end;
	}
}

div.gru-nav .gru-nav-button + ul {
	margin: 0;
	> li {
		a {
			font-weight: 500;
			> span {
				position: relative;
			}
		}
		> a {
			background: no-repeat white;
			@media ($max-mobile-viewport) {
				background-size: 2.1em;
				background-position: left 0.66em center ;
				border-radius: 1em !important;
				border-bottom: none;
				margin-bottom: 10px;
				padding-left: 3.5em;
				+ ul {
					display: none;
				}
			}
			@media ($min-desktop-viewport) {
				background-position: bottom 2.2em center ;
				padding-bottom: 0;
				padding-top: 4em;
			}
		}
	}
}
// submenu
div.gru-nav > ul ul {
	padding: .33em;
	a:hover {
		border-color: transparent;
		color: $nav-color;
	}
}
// badge
div.gru-nav span.badge, 
div.menucell span.badge {
	$size: 1.5em;
	&::before, &::after {
		content: none;
	}
	display: inline-block;
	width: $size;
	height: $size;
	line-height: $size;
	border-radius: 50%;
	text-align: center;
	background-color: #E10000;
	color: white;
	font-weight: bold;
}
div.gru-nav span.badge {
	position: absolute;
	right: calc(100% + .5em);
	bottom: 50%;
	@media ($min-desktop-viewport) {
		right: auto;
		bottom: calc( 100% + 2em);
		left: calc(50%);
	}
}

// right-to-left adaptation
@media ($max-mobile-viewport) {
	@if $responsive-menu == left-to-right {
		body {
			border-left: none;
		}
		div.gru-nav .gru-nav-button {
			border: 20px solid;
			left: auto;
			right: 0;
			top: 0;
			+ ul {
				transform: translateX(100%);
				left: auto;
				right: 0;
				width: auto;
				padding-left: 1em;
				padding-right: 1em;
			}
		}
	}
}

//
//	MAIN
//

main {
	padding-top: $columns-gutter;
}
.gru-content {
	padding-left: 0.7em;
	padding-right: 0.7em;
	flex-wrap: wrap;
}
#columns-wrapper {
	flex-basis: 0;
}
.content-top {
	flex: 0 0 100%;
	div.cell {
		margin-left: 0;
		margin-right: 0;
	}
	@media ($max-mobile-viewport) {
		padding: 0 0.7em;
	}
}

//
//	CELLS
//

// cell--body
.column div.a2-block,
.gru-content div.cell,
.block {
	margin-bottom: $columns-gutter;
	& h2 ~ div,
	.cell--body,
	&.menu-cell {
		background-color: white;
		border-radius: $cell-border-radius;
		overflow: hidden;
	}
}

// cell pagination
.cell-items-pagination {
	background: none !important;
}

// Custom search form
div.search-cell {
	> div {
		display: flex;
		flex-wrap: wrap;
		align-items: flex-start;
		.combo-search-form {
			flex: 1 0 100%;
			min-width: calc(100% - #{$sidebar-width} - #{$grid-gutter});
			@media ($min-desktop-viewport) {
				flex-basis: 0;
			}
		}
		.combo-search-keywords {
			flex: 1 1 $sidebar-width;
			text-align: right;
			@media (max-width: $very-small-limit) {
				display: none;
			}
		}
		.combo-search-results {
			flex: 1 0 100%;
		}
	}
	.combo-search-form {
		background-color: white;
		padding: 0;
		border: 1px solid $gray;
		border-radius: 10em;
		overflow: hidden;
		margin-bottom: 0.66em;
		input, input:focus {
			margin-right: 0;
			border: none !important;
		}
		button {
			border-radius: 50%;
			order: -1;
			background-color: $font-color;
			color: white;
			position: relative;
			padding: 5px;
			font-size: $fz-2;
			width: 3em;
			height: 3em;
			&:hover {
				background-color: $cyan;
				color: white;
			}
		}
	}
	.combo-search-keywords--button {
		text-transform: none;
		margin: 0 0 .66em .66em;
		padding: .66em 1em;
	}
}
.combo-search--button {
	&::before {
		content: "\f002";
		font-family: FontAwesome;
	}
	&-label {
		display: none;
	}
}

// Custom link cell
.btn-with-icon {
	&--link {
		@extend %button;
		text-transform: none;
		padding: 0;
		overflow: hidden;
		display: flex;
		align-items: center;
		text-align: left;
		margin-right: 0;
		margin-bottom: 0.5rem;
		font-size: 1rem;
		font-weight: normal;
		&:hover {
			background-color: $font-color;
		}
	}
	&--icon {
		background-color: white;
		background-origin: content-box;
		background-size: contain;
		background-position: center;
		background-repeat: no-repeat;
		display: inline-block;
		flex-basis: 3.2em;
		border: .5em solid transparent;
		border-left-width: 1em;
		align-self: stretch;
	}
	&--label {
		padding: .8em;
		display: inline-block;
		line-height: 1.2em;
	}
}
.big-btn-with-icon {
	.btn-with-icon {
		&--link {
			font-size: $fz-2;
			&:hover {
				background-color: $cyan;
			}
		}
	}
}
// custom .menu-cell
div.menu-cell ul {
	padding-top: 1rem;
	padding-bottom: 1rem;
	& > li {
		border-bottom: none !important;
	}
	& > li > a {
		color: $font-color;
		padding-top: .5rem;
		padding-bottom: .5rem;
		&::before {
			content: ">";
			color: $gray;
			font-weight: bold;
			margin-right: .33em;
		}
		&:hover {
			color: $cyan;
			background-color: transparent;
		}
	}
}


//
//	JSON CELLS (TILES)
//

// all tiles
.tiles--list {
	@extend .list-nude;
}
.tiles--item {
	margin-bottom: 0.5rem;
}
.tiles--btn {
	text-align: right;
	> a:last-child {
		margin-right: 0;
	}
}
.tile {
	color: inherit;
	text-decoration: none;
	display: block;
	position: relative;
	line-height: 1.4;

	&:hover {
		text-decoration: none;

		.tile--title {
			color: $cyan;
		}
	}
}
.tile--picture {
	background-color: white;
	display: block;
	position: relative;
	height: auto;
}
.tile--img {
	position: absolute;
	inset: 0 0 0 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.tile--body {
	background-color: white;
	padding: 2rem;

	& > * {
		margin-top: 0;
		&:last-child {
			margin-bottom: 0;
		}
	}
}
.actu--date,
.tile--date {
	color: $gray-medium;
	margin-bottom: 0.2rem;
}
.tile--title {
	font-size: $fz-2;
	text-transform: uppercase;
	font-weight: 600;
	line-height: 1.3;
}
// Actus tiles
.tile-actu {
	@media ($min-desktop-viewport) {
		display: flex;

		> * {
			flex-basis: 50%;
			flex-grow: 1
		}
	}
	.tile--picture {
		padding-top: 54%;
		@media ($min-desktop-viewport) {
			padding-top: 27%;
		}
	}
}
// tile actu small
.tile-actu-small {
	.tile--title {
		@media (min-width: $very-small-limit + 0.01) {
			min-height: 1.3em * 4;
		}
	}
	.tile--picture {
		padding-top: 64%;
		@media ($min-desktop-viewport) {
			padding-top: 32%;
		}
	}
}
// tile actu mini
.actus-mini--list {
	display: flex;
	flex-wrap: wrap;
	gap: 2px;
	margin-bottom: 0.5rem;
}
.actus-mini--item {
	min-width: 12rem;
	flex: 1 0 0;
	background-color: white;
	margin-bottom: 0;
}
.tile-actu-mini {
	display: block;
}
// People tiles
.peoples--list {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;

}
.peoples--item {
	background-color: white;
	flex: 1 1 20%;
	max-width: 15rem;
	min-width: 9rem;
	@media (max-width: $very-small-limit) {
		flex-basis: 40%;
	}
}
.tile-people {
	.tile--body {
		padding: .33em;
	}
	.tile--title {
		font-size: 1rem;
		margin-bottom: 0;
	}
	.tile--subtitle {
		color: $gray-medium;
		text-transform: uppercase;
		font-weight: normal;
	}
	.tile--picture {
		padding-top: 13rem;
	}
	.tile--badge {
		position: absolute;
		top: 0;
		left: 0;
		font-size: fz-small;
		text-transform: uppercase;
		margin: 0;
		background-color: hsla(0, 0%, 100%, 0.8);
		padding: .33em;
		color: $gray-dark;
	}
}
// actus
.actu--title {
	@extend %title;
	&::before {
		content: none;
	}
}
.actu--insert-title,
.actu--footer-title {
	font-size: $fz-2 !important;
	margin-bottom: 0.2em !important;
	&::before {
		content: none !important;
	}
}
.actu--picture {
	background-color: white;
	display: block;
}
.actu--legend {
	color: $gray-medium;
	font-size: $fz-small;
	padding: 1em;
}
.actu--body,
.actu-footer {
	line-height: 1.4;
}
.actu--insert {
	border-left: .33em solid $cyan;
	padding: .66em;
	background-color: hsla(0, 0%, 0%, 0.05);
}
.actu--footer {
	ul {
		@extend .list-nude;
		margin-bottom: 1em;
	}
	li {
		margin-bottom: 0.33em;
		&::before {
			content: ">";
			color: $gray;
			font-weight: bold;
			margin-right: .33em;
		}
	}
}


//
//	FORMS
//

div.buttons .submit-button button,
.gru-content form:not(.combo-search-form) button.submit-button, {
	@extend .button-right-arrow;
}

div.gru-content button.previous-button,
div.buttons .previous-button button {
	@extend .button-left-arrow;
}


//
//	WCS
//

div.widget div.title {
	margin-bottom: .25em;
}

