/* Keep the legacy site layout when Contao 5 wraps content elements. */
.mod_article .content-text.left {
	text-align: left !important;
}

.mod_article .content-text.left p,
.mod_article .content-text.left strong {
	text-align: left !important;
}

/* Contao 5 adds .content-text where the legacy layout only styled .ce_text. */
.mod_article .content-text:not(.center):not(.button) {
	text-align: left !important;
}

.mod_article .content-text:not(.center):not(.button) p,
.mod_article .content-text:not(.center):not(.button) h1,
.mod_article .content-text:not(.center):not(.button) h2,
.mod_article .content-text:not(.center):not(.button) h3,
.mod_article .content-text:not(.center):not(.button) h4,
.mod_article .content-text:not(.center):not(.button) li,
.mod_article .content-text:not(.center):not(.button) strong {
	text-align: left !important;
}

/* Keep explicitly centered elements and testimonial slides centered. */
.mod_article .content-text.center:not(.left),
.mod_article .center .content-text:not(.left),
.mod_article .content-slider .content-text:not(.left) {
	text-align: center !important;
}

/* Contao 5 drops Contao 4's `.first` class from language-switcher items. */
.mod_changelanguage li:first-child::after {
	content: "/";
	padding-left: 5px;
}

/* Keep CTA buttons aligned with the surrounding copy. */
.mod_article .content-text.button,
.mod_article .content-text.button p {
	text-align: left !important;
}

/* Contao's Swipe slider uses these controls; the legacy theme hid them. */
.mod_article .ce_sliderStart .slider-wrapper > .rs-columns {
	clear: none !important;
}

.mod_article .ce_sliderStart .slider-control {
	display: flex !important;
	align-items: center;
	justify-content: center;
	gap: 12px;
	height: 42px;
	margin: 24px 0 30px;
}

.mod_article .ce_sliderStart .slider-control > a {
	display: none !important;
}

.mod_article .ce_sliderStart .slider-control > .slider-menu {
	position: static !important;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	width: auto;
	margin: 0;
	line-height: 1;
}

.mod_article .ce_sliderStart .slider-menu > b {
	display: inline-block;
	width: 14px;
	height: 14px;
	border: 1px solid #777;
	border-radius: 50%;
	background: #fff;
	font-size: 0;
}

.mod_article .ce_sliderStart .slider-menu > b.active {
	border-color: #d65347;
	background: #d65347;
}

#main .content-gallery > ul {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	margin: 0 !important;
	padding: 30px 0 29px !important;
}

#main .content-gallery > ul > li {
	position: relative;
	display: block;
	flex: 0 0 calc(25% - 10px);
	width: calc(25% - 10px);
	margin: 0 10px 14px 0;
	padding: 0 !important;
	list-style: none;
}

#main .content-gallery > ul > li::before {
	content: none !important;
	background: none !important;
}

#main .content-gallery .image_container {
	margin: 0;
}

#main .content-gallery--cols-4 > ul > li > figure {
	display: flex;
	align-items: center;
	justify-content: center;
}

#main .content-gallery img {
	display: block;
	max-width: 100%;
	height: auto;
}

.rs-column .content-image {
	padding-top: 20px;
}

#slider .content-image {
	margin-bottom: -20px;
}

/* Contao 5 renamed the content-element class used by the mobile menu. */
#mmenu .mm-navbar {
	display: none !important;
}

#mmenu .content-text {
	padding-right: 40px;
	padding-left: 40px;
	font-size: 17px;
	line-height: 22px;
}

#mmenu .content-text p {
	margin-top: 17px;
	margin-bottom: 17px;
}

@media screen and (max-width: 767px) {
	#mmenu .content-text {
		padding-right: 20px;
		padding-left: 20px;
		font-size: 16px;
	}
}
