.download-element a{padding:3px 6px 3px 22px;background:url(../../assets/contao/images/iconPLAIN.svg) left center no-repeat}ul.enclosure{padding-left:0}li.download-element{list-style-type:none}.ext-xl a{background-image:url(../../assets/contao/images/iconXL.svg)}.ext-xls a{background-image:url(../../assets/contao/images/iconXLS.svg)}.ext-xlsx a{background-image:url(../../assets/contao/images/iconXLSX.svg)}.ext-hqx a{background-image:url(../../assets/contao/images/iconHQX.svg)}.ext-cpt a{background-image:url(../../assets/contao/images/iconCPT.svg)}.ext-bin a{background-image:url(../../assets/contao/images/iconBIN.svg)}.ext-doc a{background-image:url(../../assets/contao/images/iconDOC.svg)}.ext-docx a{background-image:url(../../assets/contao/images/iconDOCX.svg)}.ext-word a{background-image:url(../../assets/contao/images/iconWORD.svg)}.ext-cto a{background-image:url(../../assets/contao/images/iconCTO.svg)}.ext-dms a{background-image:url(../../assets/contao/images/iconDMS.svg)}.ext-lha a{background-image:url(../../assets/contao/images/iconLHA.svg)}.ext-lzh a{background-image:url(../../assets/contao/images/iconLZH.svg)}.ext-exe a{background-image:url(../../assets/contao/images/iconEXE.svg)}.ext-class a{background-image:url(../../assets/contao/images/iconCLASS.svg)}.ext-so a{background-image:url(../../assets/contao/images/iconSO.svg)}.ext-sea a{background-image:url(../../assets/contao/images/iconSEA.svg)}.ext-dll a{background-image:url(../../assets/contao/images/iconDLL.svg)}.ext-oda a{background-image:url(../../assets/contao/images/iconODA.svg)}.ext-pdf a{background-image:url(../../assets/contao/images/iconPDF.svg)}.ext-ai a{background-image:url(../../assets/contao/images/iconAI.svg)}.ext-eps a{background-image:url(../../assets/contao/images/iconEPS.svg)}.ext-ps a{background-image:url(../../assets/contao/images/iconPS.svg)}.ext-pps a{background-image:url(../../assets/contao/images/iconPPS.svg)}.ext-ppt a{background-image:url(../../assets/contao/images/iconPPT.svg)}.ext-pptx a{background-image:url(../../assets/contao/images/iconPPTX.svg)}.ext-smi a{background-image:url(../../assets/contao/images/iconSMI.svg)}.ext-smil a{background-image:url(../../assets/contao/images/iconSMIL.svg)}.ext-mif a{background-image:url(../../assets/contao/images/iconMIF.svg)}.ext-odc a{background-image:url(../../assets/contao/images/iconODC.svg)}.ext-odf a{background-image:url(../../assets/contao/images/iconODF.svg)}.ext-odg a{background-image:url(../../assets/contao/images/iconODG.svg)}.ext-odi a{background-image:url(../../assets/contao/images/iconODI.svg)}.ext-odp a{background-image:url(../../assets/contao/images/iconODP.svg)}.ext-ods a{background-image:url(../../assets/contao/images/iconODS.svg)}.ext-odt a{background-image:url(../../assets/contao/images/iconODT.svg)}.ext-wbxml a{background-image:url(../../assets/contao/images/iconWBXML.svg)}.ext-wmlc a{background-image:url(../../assets/contao/images/iconWMLC.svg)}.ext-dmg a{background-image:url(../../assets/contao/images/iconDMG.svg)}.ext-dcr a{background-image:url(../../assets/contao/images/iconDCR.svg)}.ext-dir a{background-image:url(../../assets/contao/images/iconDIR.svg)}.ext-dxr a{background-image:url(../../assets/contao/images/iconDXR.svg)}.ext-dvi a{background-image:url(../../assets/contao/images/iconDVI.svg)}.ext-gtar a{background-image:url(../../assets/contao/images/iconGTAR.svg)}.ext-inc a{background-image:url(../../assets/contao/images/iconINC.svg)}.ext-php a{background-image:url(../../assets/contao/images/iconPHP.svg)}.ext-php3 a{background-image:url(../../assets/contao/images/iconPHP3.svg)}.ext-php4 a{background-image:url(../../assets/contao/images/iconPHP4.svg)}.ext-php5 a{background-image:url(../../assets/contao/images/iconPHP5.svg)}.ext-phtml a{background-image:url(../../assets/contao/images/iconPHTML.svg)}.ext-phps a{background-image:url(../../assets/contao/images/iconPHPS.svg)}.ext-js a{background-image:url(../../assets/contao/images/iconJS.svg)}.ext-psd a{background-image:url(../../assets/contao/images/iconPSD.svg)}.ext-rar a{background-image:url(../../assets/contao/images/iconRAR.svg)}.ext-fla a{background-image:url(../../assets/contao/images/iconFLA.svg)}.ext-swf a{background-image:url(../../assets/contao/images/iconSWF.svg)}.ext-sit a{background-image:url(../../assets/contao/images/iconSIT.svg)}.ext-tar a{background-image:url(../../assets/contao/images/iconTAR.svg)}.ext-tgz a{background-image:url(../../assets/contao/images/iconTGZ.svg)}.ext-xhtml a{background-image:url(../../assets/contao/images/iconXHTML.svg)}.ext-xht a{background-image:url(../../assets/contao/images/iconXHT.svg)}.ext-zip a{background-image:url(../../assets/contao/images/iconZIP.svg)}.ext-m4a a{background-image:url(../../assets/contao/images/iconM4A.svg)}.ext-mp3 a{background-image:url(../../assets/contao/images/iconMP3.svg)}.ext-wma a{background-image:url(../../assets/contao/images/iconWMA.svg)}.ext-mpeg a{background-image:url(../../assets/contao/images/iconMPEG.svg)}.ext-wav a{background-image:url(../../assets/contao/images/iconWAV.svg)}.ext-ogg a{background-image:url(../../assets/contao/images/iconOGG.svg)}.ext-mid a{background-image:url(../../assets/contao/images/iconMID.svg)}.ext-midi a{background-image:url(../../assets/contao/images/iconMIDI.svg)}.ext-aif a{background-image:url(../../assets/contao/images/iconAIF.svg)}.ext-aiff a{background-image:url(../../assets/contao/images/iconAIFF.svg)}.ext-aifc a{background-image:url(../../assets/contao/images/iconAIFC.svg)}.ext-ram a{background-image:url(../../assets/contao/images/iconRAM.svg)}.ext-rm a{background-image:url(../../assets/contao/images/iconRM.svg)}.ext-rpm a{background-image:url(../../assets/contao/images/iconRPM.svg)}.ext-ra a{background-image:url(../../assets/contao/images/iconRA.svg)}.ext-bmp a{background-image:url(../../assets/contao/images/iconBMP.svg)}.ext-gif a{background-image:url(../../assets/contao/images/iconGIF.svg)}.ext-jpeg a{background-image:url(../../assets/contao/images/iconJPEG.svg)}.ext-jpg a{background-image:url(../../assets/contao/images/iconJPG.svg)}.ext-jpe a{background-image:url(../../assets/contao/images/iconJPE.svg)}.ext-png a{background-image:url(../../assets/contao/images/iconPNG.svg)}.ext-tiff a{background-image:url(../../assets/contao/images/iconTIFF.svg)}.ext-tif a{background-image:url(../../assets/contao/images/iconTIF.svg)}.ext-svg a{background-image:url(../../assets/contao/images/iconSVG.svg)}.ext-svgz a{background-image:url(../../assets/contao/images/iconSVGZ.svg)}.ext-webp a{background-image:url(../../assets/contao/images/iconWEBP.svg)}.ext-avif a{background-image:url(../../assets/contao/images/iconAVIF.svg)}.ext-heic a{background-image:url(../../assets/contao/images/iconHEIC.svg)}.ext-jxl a{background-image:url(../../assets/contao/images/iconJXL.svg)}.ext-eml a{background-image:url(../../assets/contao/images/iconEML.svg)}.ext-asp a{background-image:url(../../assets/contao/images/iconASP.svg)}.ext-css a{background-image:url(../../assets/contao/images/iconCSS.svg)}.ext-scss a{background-image:url(../../assets/contao/images/iconSCSS.svg)}.ext-less a{background-image:url(../../assets/contao/images/iconLESS.svg)}.ext-html a{background-image:url(../../assets/contao/images/iconHTML.svg)}.ext-htm a{background-image:url(../../assets/contao/images/iconHTM.svg)}.ext-md a{background-image:url(../../assets/contao/images/iconMD.svg)}.ext-shtml a{background-image:url(../../assets/contao/images/iconSHTML.svg)}.ext-txt a{background-image:url(../../assets/contao/images/iconTXT.svg)}.ext-text a{background-image:url(../../assets/contao/images/iconTEXT.svg)}.ext-log a{background-image:url(../../assets/contao/images/iconLOG.svg)}.ext-rtx a{background-image:url(../../assets/contao/images/iconRTX.svg)}.ext-rtf a{background-image:url(../../assets/contao/images/iconRTF.svg)}.ext-xml a{background-image:url(../../assets/contao/images/iconXML.svg)}.ext-xsl a{background-image:url(../../assets/contao/images/iconXSL.svg)}.ext-mp4 a{background-image:url(../../assets/contao/images/iconMP4.svg)}.ext-m4v a{background-image:url(../../assets/contao/images/iconM4V.svg)}.ext-mov a{background-image:url(../../assets/contao/images/iconMOV.svg)}.ext-wmv a{background-image:url(../../assets/contao/images/iconWMV.svg)}.ext-webm a{background-image:url(../../assets/contao/images/iconWEBM.svg)}.ext-qt a{background-image:url(../../assets/contao/images/iconQT.svg)}.ext-rv a{background-image:url(../../assets/contao/images/iconRV.svg)}.ext-avi a{background-image:url(../../assets/contao/images/iconAVI.svg)}.ext-ogv a{background-image:url(../../assets/contao/images/iconOGV.svg)}.ext-movie a{background-image:url(../../assets/contao/images/iconMOVIE.svg)}
/* normalize.css 2012-03-11T12:53 UTC - http://github.com/necolas/normalize.css */
/* =============================================================================
 * HTML5 display definitions
 * ========================================================================== */
/* Corrects block display not defined in IE6/7/8/9 & FF3 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
nav,
section,
summary {
	display: block;
}

/* Corrects inline-block display not defined in IE6/7/8/9 & FF3 */
audio,
canvas,
video {
	display: inline-block;
	*display: inline;
	*zoom: 1;
}

/* Prevents modern browsers from displaying 'audio' without controls
 * Remove excess height in iOS5 devices */
audio:not([controls]) {
	display: none;
	height: 0;
}

/* Addresses styling for 'hidden' attribute not present in IE7/8/9, FF3, S4
 * Known issue: no IE6 support */
[hidden] {
	display: none;
}

/* =============================================================================
 * Base
 * ========================================================================== */
/* 1. Corrects text resizing oddly in IE6/7 when body font-size is set using em units
 *    http://clagnut.com/blog/348/#c790
 * 2. Prevents iOS text size adjust after orientation change, without disabling user zoom
 *    www.456bereastreet.com/archive/201012/controlling_text_size_in_safari_for_ios_without_disabling_user_zoom/ */
html {
	font-size: 100%;
	/* 1 */
	-webkit-text-size-adjust: 100%;
	/* 2 */
	-ms-text-size-adjust: 100%;
	/* 2 */
	font-family: sans-serif;
}

/* Addresses font-family inconsistency between 'textarea' and other form elements. */
button,
input,
select,
textarea {
	font-family: sans-serif;
}

/* Addresses margins handled incorrectly in IE6/7 */
body {
	margin: 0;
}

/* =============================================================================
 * Links
 * ========================================================================== */
/* Addresses outline displayed oddly in Chrome */
a:focus {
	outline: thin dotted;
}
a:hover,
a:active {
	outline: 0;
}

/* Improves readability when focused and also mouse hovered in all browsers
 * people.opera.com/patrickl/experiments/keyboard/test */
/* =============================================================================
 * Typography
 * ========================================================================== */
/* Addresses font sizes and margins set differently in IE6/7
 * Addresses font sizes within 'section' and 'article' in FF4+, Chrome, S5 */
h1 {
	font-size: 2em;
	margin: 0.67em 0;
}

h2 {
	font-size: 1.5em;
	margin: 0.83em 0;
}

h3 {
	font-size: 1.17em;
	margin: 1em 0;
}

h4 {
	font-size: 1em;
	margin: 1.33em 0;
}

h5 {
	font-size: 0.83em;
	margin: 1.67em 0;
}

h6 {
	font-size: 0.75em;
	margin: 2.33em 0;
}

/* Addresses styling not present in IE7/8/9, S5, Chrome */
abbr[title] {
	border-bottom: 1px dotted;
}

/* Addresses style set to 'bolder' in FF3+, S4/5, Chrome */
b,
strong {
	font-weight: bold;
}

blockquote {
	margin: 1em 40px;
}

/* Addresses styling not present in S5, Chrome */
dfn {
	font-style: italic;
}

/* Addresses styling not present in IE6/7/8/9 */
mark {
	background: yellow;
	color: black;
}

/* Addresses margins set differently in IE6/7 */
p {
	margin: 1em 0;
}

pre {
	margin: 1em 0;
	font-family: monospace, serif;
	_font-family: "courier new", monospace;
	font-size: 1em;
}

/* Corrects font family set oddly in IE6, S4/5, Chrome
 * en.wikipedia.org/wiki/User:Davidgothberg/Test59 */
code,
kbd,
samp {
	font-family: monospace, serif;
	_font-family: "courier new", monospace;
	font-size: 1em;
}

/* Improves readability of pre-formatted text in all browsers */
pre {
	white-space: pre;
	white-space: pre-wrap;
	word-wrap: break-word;
}

/* 1. Addresses CSS quotes not supported in IE6/7
 * 2. Addresses quote property not supported in S4 */
/* 1 */
q {
	quotes: none;
}
q:before,
q:after {
	content: "";
	content: none;
}

/* 2 */
small {
	font-size: 75%;
}

/* Prevents sub and sup affecting line-height in all browsers
 * gist.github.com/413930 */
sub {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
	top: -0.25em;
}

sub {
	bottom: -0.2em;
}

/* =============================================================================
 * Lists
 * ========================================================================== */
/* Addresses margins set differently in IE6/7 */
dl,
menu,
ol,
ul {
	margin: 1em 0;
}

dd {
	margin: 0 0 0 40px;
}

/* Addresses paddings set differently in IE6/7 */
menu,
ol,
ul {
	padding: 0 0 0 40px;
}

/* Corrects list images handled incorrectly in IE7 */
nav ul,
nav ol {
	list-style: none;
	list-style-image: none;
}

/* =============================================================================
 * Embedded content
 * ========================================================================== */
/* 1. Removes border when inside 'a' element in IE6/7/8/9, FF3
 * 2. Improves image quality when scaled in IE7
 *    code.flickr.com/blog/2008/11/12/on-ui-quality-the-little-things-client-side-image-resizing/ */
img {
	border: 0;
	/* 1 */
	-ms-interpolation-mode: bicubic;
	/* 2 */
}

/* Corrects overflow displayed oddly in IE9 */
svg:not(:root) {
	overflow: hidden;
}

/* =============================================================================
 * Figures
 * ========================================================================== */
/* Addresses margin not present in IE6/7/8/9, S5, O11 */
figure,
form {
	margin: 0;
}

/* =============================================================================
 * Forms
 * ========================================================================== */
/* Corrects margin displayed oddly in IE6/7 */
/* Define consistent border, margin, and padding */
fieldset {
	border: 1px solid silver;
	margin: 0 2px;
	padding: 0.35em 0.625em 0.75em;
}

/* 1. Corrects color not being inherited in IE6/7/8/9
 * 2. Corrects text not wrapping in FF3
 * 3. Corrects alignment displayed oddly in IE6/7 */
legend {
	border: 0;
	/* 1 */
	padding: 0;
	white-space: normal;
	/* 2 */
	*margin-left: -7px;
	/* 3 */
}

/* 1. Corrects font size not being inherited in all browsers
 * 2. Addresses margins set differently in IE6/7, FF3+, S5, Chrome
 * 3. Improves appearance and consistency in all browsers */
button,
input,
select,
textarea {
	font-size: 100%;
	/* 1 */
	margin: 0;
	/* 2 */
	vertical-align: baseline;
	/* 3 */
	*vertical-align: middle;
	/* 3 */
}

/* Addresses FF3/4 setting line-height on 'input' using !important in the UA stylesheet */
button,
input {
	line-height: normal;
	/* 1 */
}

/* 1. Improves usability and consistency of cursor style between image-type 'input' and others
 * 2. Corrects inability to style clickable 'input' types in iOS
 * 3. Removes inner spacing in IE7 without affecting normal text inputs
 *    Known issue: inner spacing remains in IE6 */
button {
	cursor: pointer;
	/* 1 */
	-webkit-appearance: button;
	/* 2 */
	*overflow: visible;
	/* 3 */
}

input[type="button"],
input[type="reset"],
input[type="submit"] {
	cursor: pointer;
	/* 1 */
	-webkit-appearance: button;
	/* 2 */
	*overflow: visible;
	/* 3 */
}

/* Re-set default cursor for disabled elements */
button[disabled] {
	cursor: default;
}

input[disabled] {
	cursor: default;
}
input[type="checkbox"],
input[type="radio"] {
	box-sizing: border-box;
	/* 1 */
	padding: 0;
	/* 2 */
	*height: 13px;
	/* 3 */
	*width: 13px;
	/* 3 */
}
input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button {
	-webkit-appearance: none;
}

/* 1. Addresses box sizing set to content-box in IE8/9
 * 2. Removes excess padding in IE8/9
 * 3. Removes excess padding in IE7
 *    Known issue: excess padding remains in IE6 */
/* 1. Addresses appearance set to searchfield in S5, Chrome
 * 2. Addresses box-sizing set to border-box in S5, Chrome (include -moz to future-proof) */
/* Removes inner padding and search cancel button in S5, Chrome on OS X */
/* Removes inner padding and border in FF3+
 * www.sitepen.com/blog/2008/05/14/the-devils-in-the-details-fixing-dojos-toolbar-buttons/ */
button::-moz-focus-inner,
input::-moz-focus-inner {
	border: 0;
	padding: 0;
}

/* 1. Removes default vertical scrollbar in IE6/7/8/9
 * 2. Improves readability and alignment in all browsers */
textarea {
	overflow: auto;
	/* 1 */
	vertical-align: top;
	/* 2 */
}

/* =============================================================================
 * Tables
 * ========================================================================== */
/* Remove most spacing between table cells */
table {
	border-collapse: collapse;
	border-spacing: 0;
}

/* ===========================================
 * Icon classes
 * ======================================== */
.icon-donum:before {
  content: "\ea0b";
}
.icon-speaker:before {
  content: "\ea0c";
}
.icon-heart-stroke:before {
  content: "\ea0d";
}
.icon-plus:before {
  content: "\2b";
}
.icon-question-mark:before {
  content: "\3f";
}
.icon-at:before {
  content: "\40";
}
.icon-pilcrow:before {
  content: "\b6";
}
.icon-x:before {
  content: "\d7";
}
.icon-left-quote:before {
  content: "\201c";
}
.icon-right-quote:before {
  content: "\201d";
}
.icon-info:before {
  content: "\2139";
}
.icon-minus:before {
  content: "\2212";
}
.icon-plus-3:before {
  content: "\2295";
}
.icon-minus-2:before {
  content: "\2296";
}
.icon-x-2:before {
  content: "\2297";
}
.icon-fork:before {
  content: "\2443";
}
.icon-stop-small:before {
  content: "\25a0";
}
.icon-play:before {
  content: "\25b6";
}
.icon-chart:before {
  content: "\25d5";
}
.icon-sun:before {
  content: "\2600";
}
.icon-cloud:before {
  content: "\2601";
}
.icon-umbrella:before {
  content: "\2602";
}
.icon-star:before {
  content: "\2605";
}
.icon-sun-stroke:before {
  content: "\263c";
}
.icon-pen:before {
  content: "\270f";
}
.icon-check-3:before {
  content: "\2714";
}
.icon-download-2:before {
  content: "\2913";
}
.icon-plane:before {
  content: "\e002";
}
.icon-amazon:before {
  content: "\e004";
}
.icon-anchor:before {
  content: "\e005";
}
.icon-android:before {
  content: "\e006";
}
.icon-aperture:before {
  content: "\e007";
}
.icon-apple:before {
  content: "\e008";
}
.icon-arrow-2-down:before {
  content: "\e009";
}
.icon-arrow-2-left:before {
  content: "\e00a";
}
.icon-arrow-2-right:before {
  content: "\e00b";
}
.icon-arrow-2-up:before {
  content: "\e00c";
}
.icon-arrow-4-down:before {
  content: "\e011";
}
.icon-arrow-4-left:before {
  content: "\e012";
}
.icon-arrow-4-right:before {
  content: "\e013";
}
.icon-arrow-4-up:before {
  content: "\e014";
}
.icon-arrow-5-down:before {
  content: "\e015";
}
.icon-arrow-5-left:before {
  content: "\e018";
}
.icon-arrow-5-right:before {
  content: "\e019";
}
.icon-arrow-5-up:before {
  content: "\e01a";
}
.icon-arrow-down:before {
  content: "\e01d";
}
.icon-arrow-up:before {
  content: "\e022";
}
.icon-award:before {
  content: "\e023";
}
.icon-backspace:before {
  content: "\e024";
}
.icon-baidu:before {
  content: "\e025";
}
.icon-bars:before {
  content: "\e026";
}
.icon-basket:before {
  content: "\e027";
}
.icon-beaker:before {
  content: "\e028";
}
.icon-bell:before {
  content: "\e029";
}
.icon-binoculars:before {
  content: "\e02a";
}
.icon-bolt-2:before {
  content: "\e02e";
}
.icon-book-3:before {
  content: "\e030";
}
.icon-box:before {
  content: "\e033";
}
.icon-brush:before {
  content: "\e034";
}
.icon-calc:before {
  content: "\e035";
}
.icon-calendar:before {
  content: "\e037";
}
.icon-camera:before {
  content: "\e038";
}
.icon-cart-2:before {
  content: "\e039";
}
.icon-cart:before {
  content: "\e03a";
}
.icon-case:before {
  content: "\e03b";
}
.icon-cc:before {
  content: "\e03c";
}
.icon-cd:before {
  content: "\e03d";
}
.icon-chart-down-2:before {
  content: "\e03e";
}
.icon-chart-down:before {
  content: "\e03f";
}
.icon-chart-up-2:before {
  content: "\e040";
}
.icon-chart-up:before {
  content: "\e041";
}
.icon-check-2:before {
  content: "\e044";
}
.icon-chrome:before {
  content: "\e045";
}
.icon-clipboard:before {
  content: "\e048";
}
.icon-clock:before {
  content: "\e049";
}
.icon-code:before {
  content: "\e04c";
}
.icon-coffee:before {
  content: "\e04d";
}
.icon-cogs:before {
  content: "\e04e";
}
.icon-cone-2:before {
  content: "\e054";
}
.icon-contao:before {
  content: "\e056";
}
.icon-direction:before {
  content: "\e05f";
}
.icon-document-add:before {
  content: "\e060";
}
.icon-document-pdf:before {
  content: "\e064";
}
.icon-document-remove:before {
  content: "\e066";
}
.icon-document-zip:before {
  content: "\e069";
}
.icon-document:before {
  content: "\e06a";
}
.icon-documents:before {
  content: "\e06c";
}
.icon-download:before {
  content: "\e06d";
}
.icon-dribbble:before {
  content: "\e06f";
}
.icon-ember:before {
  content: "\e071";
}
.icon-equalizer:before {
  content: "\e072";
}
.icon-eye:before {
  content: "\e073";
}
.icon-fan:before {
  content: "\e077";
}
.icon-fax:before {
  content: "\e078";
}
.icon-firewire:before {
  content: "\e07d";
}
.icon-flag:before {
  content: "\e07f";
}
.icon-flickr:before {
  content: "\e081";
}
.icon-folder:before {
  content: "\e083";
}
.icon-folders:before {
  content: "\e084";
}
.icon-forrst:before {
  content: "\e088";
}
.icon-funnel:before {
  content: "\e08b";
}
.icon-gallery:before {
  content: "\e08c";
}
.icon-game:before {
  content: "\e08d";
}
.icon-glasses:before {
  content: "\e094";
}
.icon-globe:before {
  content: "\e095";
}
.icon-gplus-2:before {
  content: "\e096";
}
.icon-grid-2:before {
  content: "\e099";
}
.icon-grid:before {
  content: "\e09a";
}
.icon-headphones:before {
  content: "\e09c";
}
.icon-heart:before {
  content: "\e09e";
}
.icon-heartbeat:before {
  content: "\e09f";
}
.icon-help:before {
  content: "\e0a0";
}
.icon-home-2:before {
  content: "\e0a1";
}
.icon-info-2:before {
  content: "\e0a6";
}
.icon-ipad:before {
  content: "\e0a7";
}
.icon-iphone:before {
  content: "\e0a8";
}
.icon-ipod:before {
  content: "\e0a9";
}
.icon-laptop-2:before {
  content: "\e0ac";
}
.icon-laptop:before {
  content: "\e0ad";
}
.icon-layers:before {
  content: "\e0b0";
}
.icon-leave:before {
  content: "\e0b1";
}
.icon-left-quote-2:before {
  content: "\e0b2";
}
.icon-like:before {
  content: "\e0b3";
}
.icon-link:before {
  content: "\e0b5";
}
.icon-social-linkedin:before {
  content: "\e0b6";
}
.icon-list-2:before {
  content: "\e0b7";
}
.icon-list:before {
  content: "\e0b8";
}
.icon-lock:before {
  content: "\e0c3";
}
.icon-loop-left-2:before {
  content: "\e0c5";
}
.icon-loop-left:before {
  content: "\e0c6";
}
.icon-loop-right-2:before {
  content: "\e0c7";
}
.icon-magnifying-glass-2:before {
  content: "\e0c9";
}
.icon-magnifying-glass:before {
  content: "\e0cb";
}
.icon-mail-3:before {
  content: "\e0cd";
}
.icon-mail-stroke:before {
  content: "\e0ce";
}
.icon-mic:before {
  content: "\e0d6";
}
.icon-monitor:before {
  content: "\e0d7";
}
.icon-moon:before {
  content: "\e0d8";
}
.icon-mouse:before {
  content: "\e0d9";
}
.icon-movie:before {
  content: "\e0db";
}
.icon-new-window:before {
  content: "\e0dc";
}
.icon-news:before {
  content: "\e0dd";
}
.icon-paperclip:before {
  content: "\e0df";
}
.icon-pause-2:before {
  content: "\e0e1";
}
.icon-pause:before {
  content: "\e0e2";
}
.icon-pen-3:before {
  content: "\e0e5";
}
.icon-phone:before {
  content: "\e0e8";
}
.icon-picasa:before {
  content: "\e0ea";
}
.icon-pin:before {
  content: "\e0eb";
}
.icon-social-pinterest:before {
  content: "\e0ed";
}
.icon-play-2:before {
  content: "\e0ee";
}
.icon-plus-2:before {
  content: "\e0ef";
}
.icon-podcast-2:before {
  content: "\e0f0";
}
.icon-polaroids:before {
  content: "\e0f2";
}
.icon-power:before {
  content: "\e0f3";
}
.icon-printer-2:before {
  content: "\e0f4";
}
.icon-printer:before {
  content: "\e0f5";
}
.icon-question:before {
  content: "\e0f7";
}
.icon-read:before {
  content: "\e0f9";
}
.icon-recycle:before {
  content: "\e0fa";
}
.icon-responsive:before {
  content: "\e0fb";
}
.icon-right-quote-2:before {
  content: "\e0fc";
}
.icon-rocket:before {
  content: "\e0fd";
}
.icon-ruler:before {
  content: "\e100";
}
.icon-safari:before {
  content: "\e101";
}
.icon-save:before {
  content: "\e102";
}
.icon-share:before {
  content: "\e105";
}
.icon-shield-2-stroke:before {
  content: "\e106";
}
.icon-shield-2:before {
  content: "\e107";
}
.icon-shuffle:before {
  content: "\e109";
}
.icon-skype:before {
  content: "\e10a";
}
.icon-snowflake:before {
  content: "\e10c";
}
.icon-speedometer-2-medium:before {
  content: "\e110";
}
.icon-speedometer:before {
  content: "\e112";
}
.icon-star-stroke:before {
  content: "\e118";
}
.icon-stop-2:before {
  content: "\e119";
}
.icon-stumbleupon-2:before {
  content: "\e11a";
}
.icon-stumbleupon:before {
  content: "\e11b";
}
.icon-support:before {
  content: "\e11c";
}
.icon-tag-right:before {
  content: "\e11e";
}
.icon-tag-stroke:before {
  content: "\e11f";
}
.icon-tag:before {
  content: "\e120";
}
.icon-target-2:before {
  content: "\e121";
}
.icon-target:before {
  content: "\e122";
}
.icon-temperature-2:before {
  content: "\e123";
}
.icon-temperature:before {
  content: "\e124";
}
.icon-thumb-down:before {
  content: "\e125";
}
.icon-thumb-up:before {
  content: "\e126";
}
.icon-tie:before {
  content: "\e127";
}
.icon-tools-2:before {
  content: "\e128";
}
.icon-tools:before {
  content: "\e129";
}
.icon-trash:before {
  content: "\e12d";
}
.icon-truck:before {
  content: "\e12e";
}
.icon-users:before {
  content: "\e139";
}
.icon-vcard:before {
  content: "\e13a";
}
.icon-video:before {
  content: "\e13d";
}
.icon-wand:before {
  content: "\e142";
}
.icon-warning:before {
  content: "\e144";
}
.icon-wireless:before {
  content: "\e146";
}
.icon-wrench:before {
  content: "\e149";
}
.icon-x-2-stroke:before {
  content: "\e14a";
}
.icon-social-xing:before {
  content: "\e14b";
}
.icon-youtube-2:before {
  content: "\e14e";
}
.icon-youtube:before {
  content: "\e14f";
}
.icon-external:before {
  content: "\e151";
}
.icon-social-instagram:before {
  content: "\e152";
}
.icon-social-tictoc:before {
  content: "\e900";
}
.icon-social-facebook:before {
  content: "\e901";
}
.icon-accessibility:before {
  content: "\e902";
}
.icon-googlemaps:before {
  content: "\e903";
}
.icon-arrow-1-left:before {
  content: "\e904";
}
.icon-social-whatsapp:before {
  content: "\e905";
}
.icon-cancel-storno:before {
  content: "\e906";
}
.icon-arrow-left-long-solid-full:before {
  content: "\e907";
}
.icon-add-event:before {
  content: "\e908";
}
.icon-arrow-right-long-solid-full:before {
  content: "\e909";
}
.icon-arrow-top-link:before {
  content: "\e90a";
}
.icon-book-catalog:before {
  content: "\e90b";
}
.icon-ticket:before {
  content: "\e90c";
}
.icon-handy:before {
  content: "\e90d";
}
.icon-handy-gekippt:before {
  content: "\e90e";
}
.icon-handy-hand:before {
  content: "\e90f";
}
.icon-phone-call1:before {
  content: "\e910";
}
.icon-address-book:before {
  content: "\e911";
}
.icon-clock-alarm:before {
  content: "\e912";
}
.icon-bubble-anfrage:before {
  content: "\e913";
}
.icon-bookmarks:before {
  content: "\e914";
}
.icon-books:before {
  content: "\e915";
}
.icon-briefcase:before {
  content: "\e916";
}
.icon-bubble:before {
  content: "\e917";
}
.icon-bubbles:before {
  content: "\e918";
}
.icon-calculator:before {
  content: "\e919";
}
.icon-calendar3:before {
  content: "\e91a";
}
.icon-clock3:before {
  content: "\e91b";
}
.icon-award-2:before {
  content: "\e91c";
}
.icon-credit-card:before {
  content: "\e91d";
}
.icon-display:before {
  content: "\e91e";
}
.icon-drawer:before {
  content: "\e91f";
}
.icon-droplet:before {
  content: "\e920";
}
.icon-enter:before {
  content: "\e921";
}
.icon-exit:before {
  content: "\e922";
}
.icon-file-text:before {
  content: "\e923";
}
.icon-film:before {
  content: "\e924";
}
.icon-glass:before {
  content: "\e925";
}
.icon-hammer:before {
  content: "\e926";
}
.icon-house:before {
  content: "\e927";
}
.icon-library:before {
  content: "\e928";
}
.icon-libreoffice:before {
  content: "\e929";
}
.icon-location:before {
  content: "\e92a";
}
.icon-man:before {
  content: "\e92b";
}
.icon-man-woman:before {
  content: "\e92c";
}
.icon-mug:before {
  content: "\e92d";
}
.icon-newspaper:before {
  content: "\e92e";
}
.icon-office:before {
  content: "\e92f";
}
.icon-paint-format:before {
  content: "\e930";
}
.icon-paste:before {
  content: "\e931";
}
.icon-power-cord:before {
  content: "\e932";
}
.icon-printer3:before {
  content: "\e933";
}
.icon-profile:before {
  content: "\e934";
}
.icon-qrcode:before {
  content: "\e935";
}
.icon-services:before {
  content: "\e936";
}
.icon-services2:before {
  content: "\e937";
}
.icon-baby-solid-full:before {
  content: "\e938";
}
.icon-stats-bars:before {
  content: "\e939";
}
.icon-telephone:before {
  content: "\e93a";
}
.icon-arrow-1-down:before {
  content: "\e93b";
}
.icon-tree:before {
  content: "\e93c";
}
.icon-user-group:before {
  content: "\e93d";
}
.icon-user-tie:before {
  content: "\e93e";
}
.icon-woman:before {
  content: "\e93f";
}
.icon-arrow-1-right:before {
  content: "\e940";
}
.icon-arrow-1-top:before {
  content: "\e941";
}
.icon-zahn:before {
  content: "\e942";
}
.icon-arrow-left:before {
  content: "\e943";
}
.icon-arrow-right:before {
  content: "\e944";
}
.icon-paragraph:before {
  content: "\e945";
}
.icon-paragraph-bold:before {
  content: "\e946";
}
.icon-ac-unit:before {
  content: "\e947";
}
.icon-social-facebook-2:before {
  content: "\e948";
}
.icon-accessibility-2:before {
  content: "\e949";
}
.icon-add-reaction:before {
  content: "\e94a";
}
.icon-agriculture:before {
  content: "\e94b";
}
.icon-animals:before {
  content: "\e94c";
}
.icon-apartment:before {
  content: "\e94d";
}
.icon-app-registration:before {
  content: "\e94e";
}
.icon-article-person:before {
  content: "\e94f";
}
.icon-assignment-late:before {
  content: "\e950";
}
.icon-assist-walker:before {
  content: "\e951";
}
.icon-auto-stories:before {
  content: "\e952";
}
.icon-auto-towing:before {
  content: "\e953";
}
.icon-baby-changing-station:before {
  content: "\e954";
}
.icon-badge:before {
  content: "\e955";
}
.icon-bathroom:before {
  content: "\e956";
}
.icon-bathtub:before {
  content: "\e957";
}
.icon-bed:before {
  content: "\e958";
}
.icon-bedroom:before {
  content: "\e959";
}
.icon-bike:before {
  content: "\e95a";
}
.icon-bus-side-solid-full:before {
  content: "\e95b";
}
.icon-cardiology:before {
  content: "\e95c";
}
.icon-chair:before {
  content: "\e95d";
}
.icon-chair-counter:before {
  content: "\e95e";
}
.icon-chat-2:before {
  content: "\e95f";
}
.icon-chat-3:before {
  content: "\e960";
}
.icon-check_in_out:before {
  content: "\e961";
}
.icon-coin-euro-2:before {
  content: "\e962";
}
.icon-coin-euro-3:before {
  content: "\e963";
}
.icon-comment:before {
  content: "\e964";
}
.icon-communication:before {
  content: "\e965";
}
.icon-concierge:before {
  content: "\e966";
}
.icon-connecting-airports:before {
  content: "\e967";
}
.icon-construction:before {
  content: "\e968";
}
.icon-content-cut:before {
  content: "\e969";
}
.icon-creditcard-2:before {
  content: "\e96a";
}
.icon-deskphone:before {
  content: "\e96b";
}
.icon-detector-alarm:before {
  content: "\e96c";
}
.icon-devices-wearables:before {
  content: "\e96d";
}
.icon-dine-in:before {
  content: "\e96e";
}
.icon-cake-candles-solid-full:before {
  content: "\e96f";
}
.icon-elevator:before {
  content: "\e970";
}
.icon-escalator-warning:before {
  content: "\e971";
}
.icon-car-solid-full:before {
  content: "\e972";
}
.icon-child-reaching-solid:before {
  content: "\e973";
}
.icon-children-solid-full:before {
  content: "\e974";
}
.icon-family-restroom:before {
  content: "\e975";
}
.icon-favorite:before {
  content: "\e976";
}
.icon-fax-2:before {
  content: "\e977";
}
.icon-fire-truck:before {
  content: "\e978";
}
.icon-fitness-center:before {
  content: "\e979";
}
.icon-flashlight:before {
  content: "\e97a";
}
.icon-fork-spoon:before {
  content: "\e97b";
}
.icon-forklift:before {
  content: "\e97c";
}
.icon-cubes-stacked-solid-full:before {
  content: "\e97d";
}
.icon-garage:before {
  content: "\e97e";
}
.icon-grocery:before {
  content: "\e97f";
}
.icon-hiking:before {
  content: "\e980";
}
.icon-dgs:before {
  content: "\e981";
}
.icon-gifts-solid-full:before {
  content: "\e982";
}
.icon-keyboard:before {
  content: "\e983";
}
.icon-laundry:before {
  content: "\e984";
}
.icon-laundry-2:before {
  content: "\e985";
}
.icon-hand-point-right-solid-full:before {
  content: "\e986";
}
.icon-home-glas:before {
  content: "\e987";
}
.icon-local-cafe:before {
  content: "\e988";
}
.icon-local-dining:before {
  content: "\e989";
}
.icon-local-parking:before {
  content: "\e98a";
}
.icon-local-shipping:before {
  content: "\e98b";
}
.icon-login:before {
  content: "\e98c";
}
.icon-logout:before {
  content: "\e98d";
}
.icon-measuring-tape:before {
  content: "\e98e";
}
.icon-medical-info:before {
  content: "\e98f";
}
.icon-mobile-1:before {
  content: "\e990";
}
.icon-mobile-2:before {
  content: "\e991";
}
.icon-mobile-3:before {
  content: "\e992";
}
.icon-mode-cool-frost:before {
  content: "\e993";
}
.icon-monitor-heart:before {
  content: "\e994";
}
.icon-more-time-late:before {
  content: "\e995";
}
.icon-nutrition:before {
  content: "\e996";
}
.icon-parking-sign:before {
  content: "\e997";
}
.icon-plumbing:before {
  content: "\e998";
}
.icon-pool:before {
  content: "\e999";
}
.icon-radio-button:before {
  content: "\e99a";
}
.icon-restaurant:before {
  content: "\e99b";
}
.icon-room-service:before {
  content: "\e99c";
}
.icon-sauna:before {
  content: "\e99d";
}
.icon-schedule:before {
  content: "\e99e";
}
.icon-scooter:before {
  content: "\e99f";
}
.icon-shopping-cart:before {
  content: "\e9a0";
}
.icon-shower:before {
  content: "\e9a1";
}
.icon-smart-card-reader:before {
  content: "\e9a2";
}
.icon-smoke-free:before {
  content: "\e9a3";
}
.icon-sports-bar:before {
  content: "\e9a4";
}
.icon-sprinkler:before {
  content: "\e9a5";
}
.icon-stars:before {
  content: "\e9a6";
}
.icon-stethoscope:before {
  content: "\e9a7";
}
.icon-table-sign:before {
  content: "\e9a8";
}
.icon-tools-3:before {
  content: "\e9a9";
}
.icon-tools-4:before {
  content: "\e9aa";
}
.icon-touch-app:before {
  content: "\e9ab";
}
.icon-tv-sign-1:before {
  content: "\e9ac";
}
.icon-tv-sign-2:before {
  content: "\e9ad";
}
.icon-weekend:before {
  content: "\e9ae";
}
.icon-wheelchair:before {
  content: "\e9af";
}
.icon-wifi:before {
  content: "\e9b0";
}
.icon-woman-2:before {
  content: "\e9b2";
}
.icon-yard:before {
  content: "\e9b3";
}
.icon-cocktail-party:before {
  content: "\e9b4";
}
.icon-hairdryer:before {
  content: "\e9b5";
}
.icon-honeymoon:before {
  content: "\e9b6";
}
.icon-house-bar:before {
  content: "\e9b7";
}
.icon-shower-2:before {
  content: "\e9b8";
}
.icon-stairs:before {
  content: "\e9b9";
}
.icon-minibar:before {
  content: "\e9ba";
}
.icon-safe:before {
  content: "\e9bb";
}
.icon-vacuum-cleaner:before {
  content: "\e9bc";
}
.icon-car:before {
  content: "\e9bd";
}
.icon-hand-point-up-solid:before {
  content: "\e9be";
}
.icon-lightbulb-2:before {
  content: "\e9bf";
}
.icon-tennis:before {
  content: "\e9c0";
}
.icon-trackpad_input:before {
  content: "\e9c1";
}
.icon-train:before {
  content: "\e9c2";
}
.icon-bed-baby:before {
  content: "\e9c3";
}
.icon-beer-1:before {
  content: "\e9c4";
}
.icon-beer-2:before {
  content: "\e9c5";
}
.icon-beer-garden-chairs:before {
  content: "\e9c6";
}
.icon-bowling:before {
  content: "\e9c7";
}
.icon-candle-flame:before {
  content: "\e9c8";
}
.icon-catering:before {
  content: "\e9c9";
}
.icon-catering-2:before {
  content: "\e9ca";
}
.icon-christmas-hat:before {
  content: "\e9cb";
}
.icon-christmas-stutenkerl:before {
  content: "\e9cc";
}
.icon-christmas-tree:before {
  content: "\e9cd";
}
.icon-climate:before {
  content: "\e9ce";
}
.icon-coffee-cup:before {
  content: "\e9cf";
}
.icon-ice-cream-cup:before {
  content: "\e9d0";
}
.icon-party-balloons:before {
  content: "\e9d1";
}
.icon-party-birthday-cake:before {
  content: "\e9d2";
}
.icon-party-feuerwerk:before {
  content: "\e9d3";
}
.icon-party-luftschlangen:before {
  content: "\e9d4";
}
.icon-salt-pepper:before {
  content: "\e9d5";
}
.icon-animals-no:before {
  content: "\e9d6";
}
.icon-schreibtisch-table:before {
  content: "\e9d7";
}
.icon-masks-theater:before {
  content: "\e9d8";
}
.icon-number-1:before {
  content: "\e9b1";
}
.icon-number-2:before {
  content: "\e9d9";
}
.icon-number-3:before {
  content: "\e9da";
}
.icon-number-4:before {
  content: "\e9db";
}
.icon-number-5:before {
  content: "\e9dc";
}
.icon-number-6:before {
  content: "\e9dd";
}
.icon-number-7:before {
  content: "\e9de";
}
.icon-number-8:before {
  content: "\e9df";
}
.icon-number-9:before {
  content: "\e9e4";
}
.icon-social-instagram-2:before {
  content: "\e9e0";
}
.icon-social-youtube:before {
  content: "\e9e1";
}
.icon-produkt-hinweis:before {
  content: "\e9e2";
}
.icon-hand-pointer-solid:before {
  content: "\e9e3";
}
.icon-stoppuhr:before {
  content: "\e9e5";
}
.icon-black-board-fill:before {
  content: "\e9e6";
}
.icon-black-board-line:before {
  content: "\e9e7";
}
.icon-building-user-solid:before {
  content: "\e9e8";
}
.icon-phone-call:before {
  content: "\e9e9";
}
.icon-chalkboard-user:before {
  content: "\e9ea";
}
.icon-check-solid:before {
  content: "\e9eb";
}
.icon-check-to-slot-solid:before {
  content: "\e9ec";
}
.icon-circle-check-solid:before {
  content: "\e9ed";
}
.icon-coins-solid:before {
  content: "\e9ee";
}
.icon-compass-drafting-solid:before {
  content: "\e9ef";
}
.icon-compass-solid:before {
  content: "\e9f0";
}
.icon-download-rounded:before {
  content: "\e9f1";
}
.icon-download-solid:before {
  content: "\e9f2";
}
.icon-heat-pump-outline:before {
  content: "\e9f3";
}
.icon-heating-square:before {
  content: "\e9f4";
}
.icon-home:before {
  content: "\e9f5";
}
.icon-home-energy:before {
  content: "\e9f6";
}
.icon-home-work-rounded:before {
  content: "\e9f7";
}
.icon-house-chimney-user-solid:before {
  content: "\e9f8";
}
.icon-newsmode-outline-rounded:before {
  content: "\e9f9";
}
.icon-piggy-bank-solid:before {
  content: "\e9fa";
}
.icon-screwdriver-wrench-solid:before {
  content: "\e9fb";
}
.icon-seedling-solid:before {
  content: "\e9fc";
}
.icon-solution-outlined:before {
  content: "\e9fd";
}
.icon-square-check-solid:before {
  content: "\e9fe";
}
.icon-text-bullet-list-square-toolbox-20-regular:before {
  content: "\e9ff";
}
.icon-toolbox-solid:before {
  content: "\ea00";
}
.icon-trowel-bricks-solid:before {
  content: "\ea01";
}
.icon-work-item-parent:before {
  content: "\ea02";
}
.icon-phone-call2:before {
  content: "\ea03";
}
.icon-group-discussion:before {
  content: "\ea04";
}
.icon-group-roof:before {
  content: "\ea05";
}
.icon-people-outline:before {
  content: "\ea06";
}
.icon-building-home-16-regular:before {
  content: "\ea07";
}
.icon-mail-outline:before {
  content: "\ea08";
}
.icon-phone-outline:before {
  content: "\ea09";
}
.icon-map-outline:before {
  content: "\ea0a";
}

/*
 * Main Stylesheet
 *
 * @copyright Copyright (c) 2012 rocksolidthemes.com
 * @license   https://rocksolidthemes.com/agb   No free usage allowed
 */
/* ===========================================
 * # Index: The structure of this stylesheet
 *
 * - Imports (Sass only)
 * - Fonts
 * - Basic settings (Sass only)
 * - Colors (Sass only)
 * - General
 * - Buttons
 * - Wrapper elements
 * - Layout in order of appearance in HTML
 * - Content
 * - Forms
 * - Content elements
 * - Modules (Search, FAQ, News, Events, Comments)
 * - Sidebar / Widgets
 * - Footer
 * - Slider
 * - Grid (design + production helper)
 * ======================================== */
/* ===========================================
 * Fonts
 * ======================================== */
@font-face {
	font-family: "RockSolid Icons";
	src: url("../../files/tao/fonts/rocksolid-icons.woff") format("woff"), url("../../files/tao/fonts/rocksolid-icons.ttf") format("truetype"), url("../../files/tao/fonts/rocksolid-icons.svg") format("svg");
	font-weight: normal;
	font-style: normal;
}

@font-face {
	font-family: "Lato";
	font-weight: 300;
	font-style: normal;
	src: url("../../files/tao/fonts/lato-300.woff2") format("woff2");
}

@font-face {
	font-family: "Lato";
	font-weight: 400;
	font-style: normal;
	src: url("../../files/tao/fonts/lato-400.woff2") format("woff2");
}

@font-face {
	font-family: "Lato";
	font-weight: 700;
	font-style: normal;
	src: url("../../files/tao/fonts/lato-700.woff2") format("woff2");
}

/* ===========================================
 * General
 * ======================================== */
:root {
	--main-padding-x: 2.5rem;
	--safe-area-left: 0px;
	--safe-area-right: 0px;
	--safe-area-top: 0px;
	--safe-area-bottom: 0px;
	--page-padding-left: calc(var(--safe-area-left) + var(--main-padding-x));
	--page-padding-right: calc(var(--safe-area-right) + var(--main-padding-x));
	--page-inner-width: calc(100% - var(--page-padding-left) - var(--page-padding-right));
}
@media screen and (max-width: 1600px) {
	:root {
		--main-padding-x: 3.7037%;
	}
}
@media screen and (max-width: 1280px) {
	:root {
		--main-padding-x: 5.55556%;
	}
}
@supports (padding: calc(constant(safe-area-inset-left, 0px) / 1.5)) {
	:root {
		/* Non-standard iOS 11.1 syntax */
		--safe-area-left: calc(constant(safe-area-inset-left, 0px) / 1.5);
		--safe-area-right: calc(constant(safe-area-inset-right, 0px) / 1.5);
		--safe-area-top: constant(safe-area-inset-top, 0px);
		--safe-area-bottom: constant(safe-area-inset-bottom, 0px);
	}
}
@supports (padding: calc(max(0px, env(safe-area-inset-left, 0px) - 14px))) and (padding: calc(max(0px, 1px))) {
	:root {
		/* W3C standard and iOS 11.2 syntax */
		--safe-area-left: calc(max(0px, env(safe-area-inset-left, 0px) - 14px));
		--safe-area-right: calc(max(0px, env(safe-area-inset-right, 0px) - 14px));
		--safe-area-top: env(safe-area-inset-top, 0px);
		--safe-area-bottom: env(safe-area-inset-bottom, 0px);
	}
}

html {
	position: relative;
	box-sizing: border-box;
	font: 1.15rem/1.5625 Roboto, sans-serif;
	color: #333333;
	-webkit-tap-highlight-color: #b8440a;
}
@media screen and (max-width: 900px) {
	html {
		font-size: 1.05rem;
	}
}

body {
	background: #ffffff none 50% 0 no-repeat scroll;
	background-size: auto;
}
body[class^="icon-"]:before,
body[class*=" icon-"]:before {
	/* Ignore icon classes on the body element */
	content: none;
}
body.background-variation-1 {
	background: url("../../files/tao/img/demo/background-1.jpg") 50% 0 no-repeat;
	background-attachment: fixed;
}
body.background-variation-2 {
	background: url("../../files/tao/img/demo/background-10.jpg") 50% 0 no-repeat;
	background-size: cover;
	background-attachment: fixed;
}

* {
	box-sizing: inherit;
}

.rs-columns {
	clear: both;
	display: inline-block;
	vertical-align: top;
	width: 100%;
}

.rs-column {
	float: left;
	width: 100%;
	margin-top: 6.25%;
	margin-right: 6.25%;
}
.rs-column.-large-first {
	clear: left;
}
.rs-column.-large-last {
	margin-right: -5px;
}
.rs-column.-large-first-row {
	margin-top: 0;
}
.rs-column.-large-col-1-1 {
	width: 100%;
}
.rs-column.-large-col-2-1 {
	width: 46.875%;
}
.rs-column.-large-col-2-2 {
	width: 100%;
}
.rs-column.-large-col-3-1 {
	width: 29.16667%;
}
.rs-column.-large-col-3-2 {
	width: 64.58333%;
}
.rs-column.-large-col-3-3 {
	width: 100%;
}
.rs-column.-large-col-4-1 {
	width: 20.3125%;
}
.rs-column.-large-col-4-2 {
	width: 46.875%;
}
.rs-column.-large-col-4-3 {
	width: 73.4375%;
}
.rs-column.-large-col-4-4 {
	width: 100%;
}
.rs-column.-large-col-5-1 {
	width: 15%;
}
.rs-column.-large-col-5-2 {
	width: 36.25%;
}
.rs-column.-large-col-5-3 {
	width: 57.5%;
}
.rs-column.-large-col-5-4 {
	width: 78.75%;
}
.rs-column.-large-col-5-5 {
	width: 100%;
}
.rs-column.-large-col-6-1 {
	width: 11.45833%;
}
.rs-column.-large-col-6-2 {
	width: 29.16667%;
}
.rs-column.-large-col-6-3 {
	width: 46.875%;
}
.rs-column.-large-col-6-4 {
	width: 64.58333%;
}
.rs-column.-large-col-6-5 {
	width: 82.29167%;
}
.rs-column.-large-col-6-6 {
	width: 100%;
}
.rs-column.-large-col-7-1 {
	width: 8.92857%;
}
.rs-column.-large-col-7-2 {
	width: 24.10714%;
}
.rs-column.-large-col-7-3 {
	width: 39.28571%;
}
.rs-column.-large-col-7-4 {
	width: 54.46429%;
}
.rs-column.-large-col-7-5 {
	width: 69.64286%;
}
.rs-column.-large-col-7-6 {
	width: 84.82143%;
}
.rs-column.-large-col-7-7 {
	width: 100%;
}
.tao-no-sidebar .rs-column,
.mega-dropdown .rs-column,
.page-footer .rs-column {
	margin-top: 4%;
	margin-right: 4%;
}
.tao-no-sidebar .rs-column.-large-last,
.mega-dropdown .rs-column.-large-last,
.page-footer .rs-column.-large-last {
	margin-right: -5px;
}
.tao-no-sidebar .rs-column.-large-first-row,
.mega-dropdown .rs-column.-large-first-row,
.page-footer .rs-column.-large-first-row {
	margin-top: 0;
}
.tao-no-sidebar .rs-column.-large-col-1-1,
.mega-dropdown .rs-column.-large-col-1-1,
.page-footer .rs-column.-large-col-1-1 {
	width: 100%;
}
.tao-no-sidebar .rs-column.-large-col-2-1,
.mega-dropdown .rs-column.-large-col-2-1,
.page-footer .rs-column.-large-col-2-1 {
	width: 48%;
}
.tao-no-sidebar .rs-column.-large-col-2-2,
.mega-dropdown .rs-column.-large-col-2-2,
.page-footer .rs-column.-large-col-2-2 {
	width: 100%;
}
.tao-no-sidebar .rs-column.-large-col-3-1,
.mega-dropdown .rs-column.-large-col-3-1,
.page-footer .rs-column.-large-col-3-1 {
	width: 30.66667%;
}
.tao-no-sidebar .rs-column.-large-col-3-2,
.mega-dropdown .rs-column.-large-col-3-2,
.page-footer .rs-column.-large-col-3-2 {
	width: 65.33333%;
}
.tao-no-sidebar .rs-column.-large-col-3-3,
.mega-dropdown .rs-column.-large-col-3-3,
.page-footer .rs-column.-large-col-3-3 {
	width: 100.0%;
}
.tao-no-sidebar .rs-column.-large-col-4-1,
.mega-dropdown .rs-column.-large-col-4-1,
.page-footer .rs-column.-large-col-4-1 {
	width: 22%;
}
.tao-no-sidebar .rs-column.-large-col-4-2,
.mega-dropdown .rs-column.-large-col-4-2,
.page-footer .rs-column.-large-col-4-2 {
	width: 48%;
}
.tao-no-sidebar .rs-column.-large-col-4-3,
.mega-dropdown .rs-column.-large-col-4-3,
.page-footer .rs-column.-large-col-4-3 {
	width: 74%;
}
.tao-no-sidebar .rs-column.-large-col-4-4,
.mega-dropdown .rs-column.-large-col-4-4,
.page-footer .rs-column.-large-col-4-4 {
	width: 100%;
}
.tao-no-sidebar .rs-column.-large-col-5-1,
.mega-dropdown .rs-column.-large-col-5-1,
.page-footer .rs-column.-large-col-5-1 {
	width: 16.8%;
}
.tao-no-sidebar .rs-column.-large-col-5-2,
.mega-dropdown .rs-column.-large-col-5-2,
.page-footer .rs-column.-large-col-5-2 {
	width: 37.6%;
}
.tao-no-sidebar .rs-column.-large-col-5-3,
.mega-dropdown .rs-column.-large-col-5-3,
.page-footer .rs-column.-large-col-5-3 {
	width: 58.4%;
}
.tao-no-sidebar .rs-column.-large-col-5-4,
.mega-dropdown .rs-column.-large-col-5-4,
.page-footer .rs-column.-large-col-5-4 {
	width: 79.2%;
}
.tao-no-sidebar .rs-column.-large-col-5-5,
.mega-dropdown .rs-column.-large-col-5-5,
.page-footer .rs-column.-large-col-5-5 {
	width: 100.0%;
}
.tao-no-sidebar .rs-column.-large-col-6-1,
.mega-dropdown .rs-column.-large-col-6-1,
.page-footer .rs-column.-large-col-6-1 {
	width: 13.33333%;
}
.tao-no-sidebar .rs-column.-large-col-6-2,
.mega-dropdown .rs-column.-large-col-6-2,
.page-footer .rs-column.-large-col-6-2 {
	width: 30.66667%;
}
.tao-no-sidebar .rs-column.-large-col-6-3,
.mega-dropdown .rs-column.-large-col-6-3,
.page-footer .rs-column.-large-col-6-3 {
	width: 48.0%;
}
.tao-no-sidebar .rs-column.-large-col-6-4,
.mega-dropdown .rs-column.-large-col-6-4,
.page-footer .rs-column.-large-col-6-4 {
	width: 65.33333%;
}
.tao-no-sidebar .rs-column.-large-col-6-5,
.mega-dropdown .rs-column.-large-col-6-5,
.page-footer .rs-column.-large-col-6-5 {
	width: 82.66667%;
}
.tao-no-sidebar .rs-column.-large-col-6-6,
.mega-dropdown .rs-column.-large-col-6-6,
.page-footer .rs-column.-large-col-6-6 {
	width: 100%;
}
.tao-no-sidebar .rs-column.-large-col-7-1,
.mega-dropdown .rs-column.-large-col-7-1,
.page-footer .rs-column.-large-col-7-1 {
	width: 10.85714%;
}
.tao-no-sidebar .rs-column.-large-col-7-2,
.mega-dropdown .rs-column.-large-col-7-2,
.page-footer .rs-column.-large-col-7-2 {
	width: 25.71429%;
}
.tao-no-sidebar .rs-column.-large-col-7-3,
.mega-dropdown .rs-column.-large-col-7-3,
.page-footer .rs-column.-large-col-7-3 {
	width: 40.57143%;
}
.tao-no-sidebar .rs-column.-large-col-7-4,
.mega-dropdown .rs-column.-large-col-7-4,
.page-footer .rs-column.-large-col-7-4 {
	width: 55.42857%;
}
.tao-no-sidebar .rs-column.-large-col-7-5,
.mega-dropdown .rs-column.-large-col-7-5,
.page-footer .rs-column.-large-col-7-5 {
	width: 70.28571%;
}
.tao-no-sidebar .rs-column.-large-col-7-6,
.mega-dropdown .rs-column.-large-col-7-6,
.page-footer .rs-column.-large-col-7-6 {
	width: 85.14286%;
}
.tao-no-sidebar .rs-column.-large-col-7-7,
.mega-dropdown .rs-column.-large-col-7-7,
.page-footer .rs-column.-large-col-7-7 {
	width: 100%;
}
@media screen and (max-width: 1280px) {
	.rs-column,
	.tao-no-sidebar .rs-column,
	.mega-dropdown .rs-column,
	.page-footer .rs-column {
		margin-top: 6.25%;
		margin-right: 6.25%;
	}
	.rs-column.-large-first,
	.tao-no-sidebar .rs-column.-large-first,
	.mega-dropdown .rs-column.-large-first,
	.page-footer .rs-column.-large-first {
		clear: none;
	}
	.rs-column.-large-last,
	.tao-no-sidebar .rs-column.-large-last,
	.mega-dropdown .rs-column.-large-last,
	.page-footer .rs-column.-large-last {
		margin-right: 6.25%;
	}
	.rs-column.-large-first-row,
	.tao-no-sidebar .rs-column.-large-first-row,
	.mega-dropdown .rs-column.-large-first-row,
	.page-footer .rs-column.-large-first-row {
		margin-top: 6.25%;
	}
	.rs-column.-medium-first,
	.tao-no-sidebar .rs-column.-medium-first,
	.mega-dropdown .rs-column.-medium-first,
	.page-footer .rs-column.-medium-first {
		clear: left;
	}
	.rs-column.-medium-last,
	.tao-no-sidebar .rs-column.-medium-last,
	.mega-dropdown .rs-column.-medium-last,
	.page-footer .rs-column.-medium-last {
		margin-right: -5px;
	}
	.rs-column.-medium-first-row,
	.tao-no-sidebar .rs-column.-medium-first-row,
	.mega-dropdown .rs-column.-medium-first-row,
	.page-footer .rs-column.-medium-first-row {
		margin-top: 0;
	}
	.rs-column.-medium-col-1-1,
	.tao-no-sidebar .rs-column.-medium-col-1-1,
	.mega-dropdown .rs-column.-medium-col-1-1,
	.page-footer .rs-column.-medium-col-1-1 {
		width: 100%;
	}
	.rs-column.-medium-col-2-1,
	.tao-no-sidebar .rs-column.-medium-col-2-1,
	.mega-dropdown .rs-column.-medium-col-2-1,
	.page-footer .rs-column.-medium-col-2-1 {
		width: 46.875%;
	}
	.rs-column.-medium-col-2-2,
	.tao-no-sidebar .rs-column.-medium-col-2-2,
	.mega-dropdown .rs-column.-medium-col-2-2,
	.page-footer .rs-column.-medium-col-2-2 {
		width: 100%;
	}
	.rs-column.-medium-col-3-1,
	.tao-no-sidebar .rs-column.-medium-col-3-1,
	.mega-dropdown .rs-column.-medium-col-3-1,
	.page-footer .rs-column.-medium-col-3-1 {
		width: 29.16667%;
	}
	.rs-column.-medium-col-3-2,
	.tao-no-sidebar .rs-column.-medium-col-3-2,
	.mega-dropdown .rs-column.-medium-col-3-2,
	.page-footer .rs-column.-medium-col-3-2 {
		width: 64.58333%;
	}
	.rs-column.-medium-col-3-3,
	.tao-no-sidebar .rs-column.-medium-col-3-3,
	.mega-dropdown .rs-column.-medium-col-3-3,
	.page-footer .rs-column.-medium-col-3-3 {
		width: 100%;
	}
	.rs-column.-medium-col-4-1,
	.tao-no-sidebar .rs-column.-medium-col-4-1,
	.mega-dropdown .rs-column.-medium-col-4-1,
	.page-footer .rs-column.-medium-col-4-1 {
		width: 20.3125%;
	}
	.rs-column.-medium-col-4-2,
	.tao-no-sidebar .rs-column.-medium-col-4-2,
	.mega-dropdown .rs-column.-medium-col-4-2,
	.page-footer .rs-column.-medium-col-4-2 {
		width: 46.875%;
	}
	.rs-column.-medium-col-4-3,
	.tao-no-sidebar .rs-column.-medium-col-4-3,
	.mega-dropdown .rs-column.-medium-col-4-3,
	.page-footer .rs-column.-medium-col-4-3 {
		width: 73.4375%;
	}
	.rs-column.-medium-col-4-4,
	.tao-no-sidebar .rs-column.-medium-col-4-4,
	.mega-dropdown .rs-column.-medium-col-4-4,
	.page-footer .rs-column.-medium-col-4-4 {
		width: 100%;
	}
	.rs-column.-medium-col-5-1,
	.tao-no-sidebar .rs-column.-medium-col-5-1,
	.mega-dropdown .rs-column.-medium-col-5-1,
	.page-footer .rs-column.-medium-col-5-1 {
		width: 15%;
	}
	.rs-column.-medium-col-5-2,
	.tao-no-sidebar .rs-column.-medium-col-5-2,
	.mega-dropdown .rs-column.-medium-col-5-2,
	.page-footer .rs-column.-medium-col-5-2 {
		width: 36.25%;
	}
	.rs-column.-medium-col-5-3,
	.tao-no-sidebar .rs-column.-medium-col-5-3,
	.mega-dropdown .rs-column.-medium-col-5-3,
	.page-footer .rs-column.-medium-col-5-3 {
		width: 57.5%;
	}
	.rs-column.-medium-col-5-4,
	.tao-no-sidebar .rs-column.-medium-col-5-4,
	.mega-dropdown .rs-column.-medium-col-5-4,
	.page-footer .rs-column.-medium-col-5-4 {
		width: 78.75%;
	}
	.rs-column.-medium-col-5-5,
	.tao-no-sidebar .rs-column.-medium-col-5-5,
	.mega-dropdown .rs-column.-medium-col-5-5,
	.page-footer .rs-column.-medium-col-5-5 {
		width: 100%;
	}
	.rs-column.-medium-col-6-1,
	.tao-no-sidebar .rs-column.-medium-col-6-1,
	.mega-dropdown .rs-column.-medium-col-6-1,
	.page-footer .rs-column.-medium-col-6-1 {
		width: 11.45833%;
	}
	.rs-column.-medium-col-6-2,
	.tao-no-sidebar .rs-column.-medium-col-6-2,
	.mega-dropdown .rs-column.-medium-col-6-2,
	.page-footer .rs-column.-medium-col-6-2 {
		width: 29.16667%;
	}
	.rs-column.-medium-col-6-3,
	.tao-no-sidebar .rs-column.-medium-col-6-3,
	.mega-dropdown .rs-column.-medium-col-6-3,
	.page-footer .rs-column.-medium-col-6-3 {
		width: 46.875%;
	}
	.rs-column.-medium-col-6-4,
	.tao-no-sidebar .rs-column.-medium-col-6-4,
	.mega-dropdown .rs-column.-medium-col-6-4,
	.page-footer .rs-column.-medium-col-6-4 {
		width: 64.58333%;
	}
	.rs-column.-medium-col-6-5,
	.tao-no-sidebar .rs-column.-medium-col-6-5,
	.mega-dropdown .rs-column.-medium-col-6-5,
	.page-footer .rs-column.-medium-col-6-5 {
		width: 82.29167%;
	}
	.rs-column.-medium-col-6-6,
	.tao-no-sidebar .rs-column.-medium-col-6-6,
	.mega-dropdown .rs-column.-medium-col-6-6,
	.page-footer .rs-column.-medium-col-6-6 {
		width: 100%;
	}
	.rs-column.-medium-col-7-1,
	.tao-no-sidebar .rs-column.-medium-col-7-1,
	.mega-dropdown .rs-column.-medium-col-7-1,
	.page-footer .rs-column.-medium-col-7-1 {
		width: 8.92857%;
	}
	.rs-column.-medium-col-7-2,
	.tao-no-sidebar .rs-column.-medium-col-7-2,
	.mega-dropdown .rs-column.-medium-col-7-2,
	.page-footer .rs-column.-medium-col-7-2 {
		width: 24.10714%;
	}
	.rs-column.-medium-col-7-3,
	.tao-no-sidebar .rs-column.-medium-col-7-3,
	.mega-dropdown .rs-column.-medium-col-7-3,
	.page-footer .rs-column.-medium-col-7-3 {
		width: 39.28571%;
	}
	.rs-column.-medium-col-7-4,
	.tao-no-sidebar .rs-column.-medium-col-7-4,
	.mega-dropdown .rs-column.-medium-col-7-4,
	.page-footer .rs-column.-medium-col-7-4 {
		width: 54.46429%;
	}
	.rs-column.-medium-col-7-5,
	.tao-no-sidebar .rs-column.-medium-col-7-5,
	.mega-dropdown .rs-column.-medium-col-7-5,
	.page-footer .rs-column.-medium-col-7-5 {
		width: 69.64286%;
	}
	.rs-column.-medium-col-7-6,
	.tao-no-sidebar .rs-column.-medium-col-7-6,
	.mega-dropdown .rs-column.-medium-col-7-6,
	.page-footer .rs-column.-medium-col-7-6 {
		width: 84.82143%;
	}
	.rs-column.-medium-col-7-7,
	.tao-no-sidebar .rs-column.-medium-col-7-7,
	.mega-dropdown .rs-column.-medium-col-7-7,
	.page-footer .rs-column.-medium-col-7-7 {
		width: 100%;
	}
}
@media screen and (max-width: 900px) {
	.rs-column,
	.tao-no-sidebar .rs-column,
	.page-footer .rs-column {
		margin-right: 6.25%;
	}
	.rs-column.-medium-first,
	.tao-no-sidebar .rs-column.-medium-first,
	.page-footer .rs-column.-medium-first {
		clear: none;
	}
	.rs-column.-medium-last,
	.tao-no-sidebar .rs-column.-medium-last,
	.page-footer .rs-column.-medium-last {
		margin-right: 6.25%;
	}
	.rs-column.-medium-first-row,
	.tao-no-sidebar .rs-column.-medium-first-row,
	.page-footer .rs-column.-medium-first-row {
		margin-top: 6.25%;
	}
	.rs-column.-small-first,
	.tao-no-sidebar .rs-column.-small-first,
	.page-footer .rs-column.-small-first {
		clear: left;
	}
	.rs-column.-small-last,
	.tao-no-sidebar .rs-column.-small-last,
	.page-footer .rs-column.-small-last {
		margin-right: -5px;
	}
	.rs-column.-small-first-row,
	.tao-no-sidebar .rs-column.-small-first-row,
	.page-footer .rs-column.-small-first-row {
		margin-top: 0;
	}
	.rs-column.-small-col-1-1,
	.tao-no-sidebar .rs-column.-small-col-1-1,
	.page-footer .rs-column.-small-col-1-1 {
		width: 100%;
	}
	.rs-column.-small-col-2-1,
	.tao-no-sidebar .rs-column.-small-col-2-1,
	.page-footer .rs-column.-small-col-2-1 {
		width: 46.875%;
	}
	.rs-column.-small-col-2-2,
	.tao-no-sidebar .rs-column.-small-col-2-2,
	.page-footer .rs-column.-small-col-2-2 {
		width: 100%;
	}
	.rs-column.-small-col-3-1,
	.tao-no-sidebar .rs-column.-small-col-3-1,
	.page-footer .rs-column.-small-col-3-1 {
		width: 29.16667%;
	}
	.rs-column.-small-col-3-2,
	.tao-no-sidebar .rs-column.-small-col-3-2,
	.page-footer .rs-column.-small-col-3-2 {
		width: 64.58333%;
	}
	.rs-column.-small-col-3-3,
	.tao-no-sidebar .rs-column.-small-col-3-3,
	.page-footer .rs-column.-small-col-3-3 {
		width: 100%;
	}
	.rs-column.-small-col-4-1,
	.tao-no-sidebar .rs-column.-small-col-4-1,
	.page-footer .rs-column.-small-col-4-1 {
		width: 20.3125%;
	}
	.rs-column.-small-col-4-2,
	.tao-no-sidebar .rs-column.-small-col-4-2,
	.page-footer .rs-column.-small-col-4-2 {
		width: 46.875%;
	}
	.rs-column.-small-col-4-3,
	.tao-no-sidebar .rs-column.-small-col-4-3,
	.page-footer .rs-column.-small-col-4-3 {
		width: 73.4375%;
	}
	.rs-column.-small-col-4-4,
	.tao-no-sidebar .rs-column.-small-col-4-4,
	.page-footer .rs-column.-small-col-4-4 {
		width: 100%;
	}
	.rs-column.-small-col-5-1,
	.tao-no-sidebar .rs-column.-small-col-5-1,
	.page-footer .rs-column.-small-col-5-1 {
		width: 15%;
	}
	.rs-column.-small-col-5-2,
	.tao-no-sidebar .rs-column.-small-col-5-2,
	.page-footer .rs-column.-small-col-5-2 {
		width: 36.25%;
	}
	.rs-column.-small-col-5-3,
	.tao-no-sidebar .rs-column.-small-col-5-3,
	.page-footer .rs-column.-small-col-5-3 {
		width: 57.5%;
	}
	.rs-column.-small-col-5-4,
	.tao-no-sidebar .rs-column.-small-col-5-4,
	.page-footer .rs-column.-small-col-5-4 {
		width: 78.75%;
	}
	.rs-column.-small-col-5-5,
	.tao-no-sidebar .rs-column.-small-col-5-5,
	.page-footer .rs-column.-small-col-5-5 {
		width: 100%;
	}
	.rs-column.-small-col-6-1,
	.tao-no-sidebar .rs-column.-small-col-6-1,
	.page-footer .rs-column.-small-col-6-1 {
		width: 11.45833%;
	}
	.rs-column.-small-col-6-2,
	.tao-no-sidebar .rs-column.-small-col-6-2,
	.page-footer .rs-column.-small-col-6-2 {
		width: 29.16667%;
	}
	.rs-column.-small-col-6-3,
	.tao-no-sidebar .rs-column.-small-col-6-3,
	.page-footer .rs-column.-small-col-6-3 {
		width: 46.875%;
	}
	.rs-column.-small-col-6-4,
	.tao-no-sidebar .rs-column.-small-col-6-4,
	.page-footer .rs-column.-small-col-6-4 {
		width: 64.58333%;
	}
	.rs-column.-small-col-6-5,
	.tao-no-sidebar .rs-column.-small-col-6-5,
	.page-footer .rs-column.-small-col-6-5 {
		width: 82.29167%;
	}
	.rs-column.-small-col-6-6,
	.tao-no-sidebar .rs-column.-small-col-6-6,
	.page-footer .rs-column.-small-col-6-6 {
		width: 100%;
	}
	.rs-column.-small-col-7-1,
	.tao-no-sidebar .rs-column.-small-col-7-1,
	.page-footer .rs-column.-small-col-7-1 {
		width: 8.92857%;
	}
	.rs-column.-small-col-7-2,
	.tao-no-sidebar .rs-column.-small-col-7-2,
	.page-footer .rs-column.-small-col-7-2 {
		width: 24.10714%;
	}
	.rs-column.-small-col-7-3,
	.tao-no-sidebar .rs-column.-small-col-7-3,
	.page-footer .rs-column.-small-col-7-3 {
		width: 39.28571%;
	}
	.rs-column.-small-col-7-4,
	.tao-no-sidebar .rs-column.-small-col-7-4,
	.page-footer .rs-column.-small-col-7-4 {
		width: 54.46429%;
	}
	.rs-column.-small-col-7-5,
	.tao-no-sidebar .rs-column.-small-col-7-5,
	.page-footer .rs-column.-small-col-7-5 {
		width: 69.64286%;
	}
	.rs-column.-small-col-7-6,
	.tao-no-sidebar .rs-column.-small-col-7-6,
	.page-footer .rs-column.-small-col-7-6 {
		width: 84.82143%;
	}
	.rs-column.-small-col-7-7,
	.tao-no-sidebar .rs-column.-small-col-7-7,
	.page-footer .rs-column.-small-col-7-7 {
		width: 100%;
	}
}

/* Resetting box model for moo_mediabox and j_colorbox */
#mbCenter,
#colorbox {
	box-sizing: content-box;
}

::selection {
	background: #b8440a;
	color: #ffffff;
	text-shadow: none !important;
}

::-moz-selection {
	background: #b8440a;
	color: #ffffff;
	text-shadow: none !important;
}

button,
input,
select,
textarea {
	font-family: inherit;
}

table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	border: 1px solid #bbbbbb;
	border-radius: 0;
	background: #ffffff;
}
table th,
table td {
	border: solid #bbbbbb;
	border-width: 1px 0 0 1px;
}
table th:first-child,
table td:first-child {
	border-left: 0;
}
table > thead > tr:first-child > th,
table > thead > tr:first-child > td,
table > tbody:first-child > tr:first-child > th,
table > tbody:first-child > tr:first-child > td,
table > tfoot:first-child + tbody > tr:first-child > th,
table > tfoot:first-child + tbody > tr:first-child > td {
	/* First row of the table */
	border-top: 0;
}
table th {
	padding: 0.375em 0.625em;
	font-weight: bold;
	text-align: left;
}
table td {
	padding: 0.375em 0.625em;
}
table thead {
	background: rgba(0, 0, 0, 0.02);
}
table tfoot td {
	font-style: italic;
}

strong,
b {
	font-weight: bold;
}

a {
	color: #b8440a;
	text-decoration: none;
}
a:hover,
a:focus {
	text-decoration: underline;
}
a:hover,
a:active {
	outline: 0;
}
a.external-link:after {
	font: 0.8125em/1 "RockSolid Icons";
	content: "\e151";
	-webkit-font-smoothing: antialiased;
	font-smoothing: antialiased;
	text-rendering: geometricPrecision;
	text-indent: 0;
	display: inline-block;
	position: relative;
	margin-left: 0.25em;
}

/* Icon attribute */
*[data-icon]:before,
*[class^="icon-"]:before,
*[class*=" icon-"]:before {
	font: 100%/1 "RockSolid Icons";
	-webkit-font-smoothing: antialiased;
	font-smoothing: antialiased;
	text-rendering: geometricPrecision;
	text-indent: 0;
	display: inline-block;
	position: relative;
	margin-right: 0.25em;
}

*[data-icon]:before {
	content: attr(data-icon);
}
*[data-icon].after:before {
	content: none;
}
*[data-icon].after:after {
	font: 100%/1 "RockSolid Icons";
	content: attr(data-icon);
	-webkit-font-smoothing: antialiased;
	font-smoothing: antialiased;
	text-rendering: geometricPrecision;
	text-indent: 0;
	display: inline-block;
	position: relative;
	margin-left: 0.25em;
}

.clear {
	clear: both;
}

.invisible {
	position: absolute;
	height: 1px !important;
	width: 1px !important;
	clip: rect(0 0 0 0);
	margin: -1px;
	padding: 0 !important;
	overflow: hidden;
	border: 0;
}

.-no-border {
	border: 0 !important;
}

.no-margin {
	margin: 0 !important;
}

.no-margin-top {
	margin-top: 0 !important;
}

.no-margin-bottom {
	margin-bottom: 0 !important;
}

.left {
	float: left;
}

.right {
	float: right;
}

.margin-top-none {
	margin-top: 0 !important;
}
@media screen and (max-width: 900px) {
	.margin-top-none {
		margin-top: 0 !important;
	}
}

.margin-right-none {
	margin-right: 0 !important;
}
@media screen and (max-width: 900px) {
	.margin-right-none {
		margin-right: 0 !important;
	}
}

.margin-bottom-none {
	margin-bottom: 0 !important;
}
@media screen and (max-width: 900px) {
	.margin-bottom-none {
		margin-bottom: 0 !important;
	}
}

.margin-left-none {
	margin-left: 0 !important;
}
@media screen and (max-width: 900px) {
	.margin-left-none {
		margin-left: 0 !important;
	}
}

.padding-top-none {
	padding-top: 0 !important;
}
@media screen and (max-width: 900px) {
	.padding-top-none {
		padding-top: 0 !important;
	}
}

.padding-right-none {
	padding-right: 0 !important;
}
@media screen and (max-width: 900px) {
	.padding-right-none {
		padding-right: 0 !important;
	}
}

.padding-bottom-none {
	padding-bottom: 0 !important;
}
@media screen and (max-width: 900px) {
	.padding-bottom-none {
		padding-bottom: 0 !important;
	}
}

.padding-left-none {
	padding-left: 0 !important;
}
@media screen and (max-width: 900px) {
	.padding-left-none {
		padding-left: 0 !important;
	}
}

.margin-top-xxs {
	margin-top: 10px !important;
}
@media screen and (max-width: 900px) {
	.margin-top-xxs {
		margin-top: 5px !important;
	}
}

.margin-right-xxs {
	margin-right: 10px !important;
}
@media screen and (max-width: 900px) {
	.margin-right-xxs {
		margin-right: 5px !important;
	}
}

.margin-bottom-xxs {
	margin-bottom: 10px !important;
}
@media screen and (max-width: 900px) {
	.margin-bottom-xxs {
		margin-bottom: 5px !important;
	}
}

.margin-left-xxs {
	margin-left: 10px !important;
}
@media screen and (max-width: 900px) {
	.margin-left-xxs {
		margin-left: 5px !important;
	}
}

.padding-top-xxs {
	padding-top: 10px !important;
}
@media screen and (max-width: 900px) {
	.padding-top-xxs {
		padding-top: 5px !important;
	}
}

.padding-right-xxs {
	padding-right: 10px !important;
}
@media screen and (max-width: 900px) {
	.padding-right-xxs {
		padding-right: 5px !important;
	}
}

.padding-bottom-xxs {
	padding-bottom: 10px !important;
}
@media screen and (max-width: 900px) {
	.padding-bottom-xxs {
		padding-bottom: 5px !important;
	}
}

.padding-left-xxs {
	padding-left: 10px !important;
}
@media screen and (max-width: 900px) {
	.padding-left-xxs {
		padding-left: 5px !important;
	}
}

.margin-top-xs {
	margin-top: 25px !important;
}
@media screen and (max-width: 900px) {
	.margin-top-xs {
		margin-top: 13px !important;
	}
}

.margin-right-xs {
	margin-right: 25px !important;
}
@media screen and (max-width: 900px) {
	.margin-right-xs {
		margin-right: 13px !important;
	}
}

.margin-bottom-xs {
	margin-bottom: 25px !important;
}
@media screen and (max-width: 900px) {
	.margin-bottom-xs {
		margin-bottom: 13px !important;
	}
}

.margin-left-xs {
	margin-left: 25px !important;
}
@media screen and (max-width: 900px) {
	.margin-left-xs {
		margin-left: 13px !important;
	}
}

.padding-top-xs {
	padding-top: 25px !important;
}
@media screen and (max-width: 900px) {
	.padding-top-xs {
		padding-top: 13px !important;
	}
}

.padding-right-xs {
	padding-right: 25px !important;
}
@media screen and (max-width: 900px) {
	.padding-right-xs {
		padding-right: 13px !important;
	}
}

.padding-bottom-xs {
	padding-bottom: 25px !important;
}
@media screen and (max-width: 900px) {
	.padding-bottom-xs {
		padding-bottom: 13px !important;
	}
}

.padding-left-xs {
	padding-left: 25px !important;
}
@media screen and (max-width: 900px) {
	.padding-left-xs {
		padding-left: 13px !important;
	}
}

.margin-top-s {
	margin-top: 50px !important;
}
@media screen and (max-width: 900px) {
	.margin-top-s {
		margin-top: 25px !important;
	}
}

.margin-right-s {
	margin-right: 50px !important;
}
@media screen and (max-width: 900px) {
	.margin-right-s {
		margin-right: 25px !important;
	}
}

.margin-bottom-s {
	margin-bottom: 50px !important;
}
@media screen and (max-width: 900px) {
	.margin-bottom-s {
		margin-bottom: 25px !important;
	}
}

.margin-left-s {
	margin-left: 50px !important;
}
@media screen and (max-width: 900px) {
	.margin-left-s {
		margin-left: 25px !important;
	}
}

.padding-top-s {
	padding-top: 50px !important;
}
@media screen and (max-width: 900px) {
	.padding-top-s {
		padding-top: 25px !important;
	}
}

.padding-right-s {
	padding-right: 50px !important;
}
@media screen and (max-width: 900px) {
	.padding-right-s {
		padding-right: 25px !important;
	}
}

.padding-bottom-s {
	padding-bottom: 50px !important;
}
@media screen and (max-width: 900px) {
	.padding-bottom-s {
		padding-bottom: 25px !important;
	}
}

.padding-left-s {
	padding-left: 50px !important;
}
@media screen and (max-width: 900px) {
	.padding-left-s {
		padding-left: 25px !important;
	}
}

.margin-top-m {
	margin-top: 75px !important;
}
@media screen and (max-width: 900px) {
	.margin-top-m {
		margin-top: 38px !important;
	}
}

.margin-right-m {
	margin-right: 75px !important;
}
@media screen and (max-width: 900px) {
	.margin-right-m {
		margin-right: 38px !important;
	}
}

.margin-bottom-m {
	margin-bottom: 75px !important;
}
@media screen and (max-width: 900px) {
	.margin-bottom-m {
		margin-bottom: 38px !important;
	}
}

.margin-left-m {
	margin-left: 75px !important;
}
@media screen and (max-width: 900px) {
	.margin-left-m {
		margin-left: 38px !important;
	}
}

.padding-top-m {
	padding-top: 75px !important;
}
@media screen and (max-width: 900px) {
	.padding-top-m {
		padding-top: 38px !important;
	}
}

.padding-right-m {
	padding-right: 75px !important;
}
@media screen and (max-width: 900px) {
	.padding-right-m {
		padding-right: 38px !important;
	}
}

.padding-bottom-m {
	padding-bottom: 75px !important;
}
@media screen and (max-width: 900px) {
	.padding-bottom-m {
		padding-bottom: 38px !important;
	}
}

.padding-left-m {
	padding-left: 75px !important;
}
@media screen and (max-width: 900px) {
	.padding-left-m {
		padding-left: 38px !important;
	}
}

.margin-top-l {
	margin-top: 100px !important;
}
@media screen and (max-width: 900px) {
	.margin-top-l {
		margin-top: 50px !important;
	}
}

.margin-right-l {
	margin-right: 100px !important;
}
@media screen and (max-width: 900px) {
	.margin-right-l {
		margin-right: 50px !important;
	}
}

.margin-bottom-l {
	margin-bottom: 100px !important;
}
@media screen and (max-width: 900px) {
	.margin-bottom-l {
		margin-bottom: 50px !important;
	}
}

.margin-left-l {
	margin-left: 100px !important;
}
@media screen and (max-width: 900px) {
	.margin-left-l {
		margin-left: 50px !important;
	}
}

.padding-top-l {
	padding-top: 100px !important;
}
@media screen and (max-width: 900px) {
	.padding-top-l {
		padding-top: 50px !important;
	}
}

.padding-right-l {
	padding-right: 100px !important;
}
@media screen and (max-width: 900px) {
	.padding-right-l {
		padding-right: 50px !important;
	}
}

.padding-bottom-l {
	padding-bottom: 100px !important;
}
@media screen and (max-width: 900px) {
	.padding-bottom-l {
		padding-bottom: 50px !important;
	}
}

.padding-left-l {
	padding-left: 100px !important;
}
@media screen and (max-width: 900px) {
	.padding-left-l {
		padding-left: 50px !important;
	}
}

.margin-top-xl {
	margin-top: 150px !important;
}
@media screen and (max-width: 900px) {
	.margin-top-xl {
		margin-top: 75px !important;
	}
}

.margin-right-xl {
	margin-right: 150px !important;
}
@media screen and (max-width: 900px) {
	.margin-right-xl {
		margin-right: 75px !important;
	}
}

.margin-bottom-xl {
	margin-bottom: 150px !important;
}
@media screen and (max-width: 900px) {
	.margin-bottom-xl {
		margin-bottom: 75px !important;
	}
}

.margin-left-xl {
	margin-left: 150px !important;
}
@media screen and (max-width: 900px) {
	.margin-left-xl {
		margin-left: 75px !important;
	}
}

.padding-top-xl {
	padding-top: 150px !important;
}
@media screen and (max-width: 900px) {
	.padding-top-xl {
		padding-top: 75px !important;
	}
}

.padding-right-xl {
	padding-right: 150px !important;
}
@media screen and (max-width: 900px) {
	.padding-right-xl {
		padding-right: 75px !important;
	}
}

.padding-bottom-xl {
	padding-bottom: 150px !important;
}
@media screen and (max-width: 900px) {
	.padding-bottom-xl {
		padding-bottom: 75px !important;
	}
}

.padding-left-xl {
	padding-left: 150px !important;
}
@media screen and (max-width: 900px) {
	.padding-left-xl {
		padding-left: 75px !important;
	}
}

.margin-top-xxl {
	margin-top: 200px !important;
}
@media screen and (max-width: 900px) {
	.margin-top-xxl {
		margin-top: 100px !important;
	}
}

.margin-right-xxl {
	margin-right: 200px !important;
}
@media screen and (max-width: 900px) {
	.margin-right-xxl {
		margin-right: 100px !important;
	}
}

.margin-bottom-xxl {
	margin-bottom: 200px !important;
}
@media screen and (max-width: 900px) {
	.margin-bottom-xxl {
		margin-bottom: 100px !important;
	}
}

.margin-left-xxl {
	margin-left: 200px !important;
}
@media screen and (max-width: 900px) {
	.margin-left-xxl {
		margin-left: 100px !important;
	}
}

.padding-top-xxl {
	padding-top: 200px !important;
}
@media screen and (max-width: 900px) {
	.padding-top-xxl {
		padding-top: 100px !important;
	}
}

.padding-right-xxl {
	padding-right: 200px !important;
}
@media screen and (max-width: 900px) {
	.padding-right-xxl {
		padding-right: 100px !important;
	}
}

.padding-bottom-xxl {
	padding-bottom: 200px !important;
}
@media screen and (max-width: 900px) {
	.padding-bottom-xxl {
		padding-bottom: 100px !important;
	}
}

.padding-left-xxl {
	padding-left: 200px !important;
}
@media screen and (max-width: 900px) {
	.padding-left-xxl {
		padding-left: 100px !important;
	}
}

.font-size-xxs {
	font-size: 0.6em !important;
}
@media screen and (max-width: 900px) {
	.font-size-xxs {
		font-size: 0.8em !important;
	}
}

.font-size-xs {
	font-size: 0.8em !important;
}
@media screen and (max-width: 900px) {
	.font-size-xs {
		font-size: 0.9em !important;
	}
}

.font-size-s {
	font-size: 0.9em !important;
}
@media screen and (max-width: 900px) {
	.font-size-s {
		font-size: 0.95em !important;
	}
}

.font-size-m {
	font-size: 1.2em !important;
}
@media screen and (max-width: 900px) {
	.font-size-m {
		font-size: 1.1em !important;
	}
}

.font-size-l {
	font-size: 1.5em !important;
}
@media screen and (max-width: 900px) {
	.font-size-l {
		font-size: 1.25em !important;
	}
}

.font-size-xl {
	font-size: 2em !important;
}
@media screen and (max-width: 900px) {
	.font-size-xl {
		font-size: 1.5em !important;
	}
}

.font-size-xxl {
	font-size: 2.5em !important;
}
@media screen and (max-width: 900px) {
	.font-size-xxl {
		font-size: 1.75em !important;
	}
}

.centered {
	display: block;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}

.syndication {
	margin: 0.75em 0 0 1.25em;
	float: right;
}
.syndication a {
	margin-left: 0.125em;
}

.mime_icon {
	margin-bottom: -0.25em;
}

.download-element {
	padding-top: 0;
	padding-right: 0;
	padding-bottom: 0;
}

.content-toplink,
.ce_toplink,
.toplink {
	overflow: hidden;
	margin: 1.5em 0;
}
.content-toplink:after,
.ce_toplink:after,
.toplink:after {
	content: "";
	display: inline-block;
	vertical-align: middle;
	width: 100%;
	height: 0;
	overflow: visible;
	margin: 0 -100% 0 0.625em;
	border-top: 1px solid #bbbbbb;
}
.content-toplink > a:before,
.ce_toplink > a:before,
.toplink > a:before {
	font: 100%/1 "RockSolid Icons";
	content: "\e00c";
	-webkit-font-smoothing: antialiased;
	font-smoothing: antialiased;
	text-rendering: geometricPrecision;
	text-indent: 0;
	display: inline-block;
	position: relative;
	margin-right: 0.3125em;
}

[data-ajax-form=loading] {
	opacity: 0.5;
	pointer-events: none;
}

/* Style for dlh_googlemaps (if you don't use the plugin, you might want to delete this) */
.dlh_googlemap {
	box-sizing: content-box;
}

.main-content .dlh_googlemap,
.sidebar .dlh_googlemap {
	/* Setting the maps max-width to 100% is best practice, since it becomes fluid that way */
	max-width: 100%;
}

.main-content .dlh_googlemap img {
	max-width: none;
}

hr,
.headline-hr:before,
.headline-hr:after {
	clear: both;
	height: 0;
	overflow: visible;
	margin: 2.25em 0;
	border: 0;
	border-top: 1px solid #bbbbbb;
}

hr.-hr-dotted,
.headline-hr.-hr-dotted:before,
.headline-hr.-hr-dotted:after {
	border-top-style: dotted;
	border-top-color: #bbbbbb;
}

hr.-hr-shadow,
.headline-hr.-hr-shadow:before,
.headline-hr.-hr-shadow:after {
	height: 8px;
	background: radial-gradient(rgba(0, 0, 0, 0.1), rgba(255, 255, 255, 0) 60%);
	background-size: 100% 16px;
	background-position: 50% -8px;
}

.headline-hr {
	overflow: hidden;
}
.headline-hr:before,
.headline-hr:after {
	display: inline-block;
	vertical-align: middle;
	width: 100%;
	margin: 0 0.625em 0 calc(-100% - 0.625em);
}
.headline-hr:after {
	content: "";
	margin: 0 calc(-100% - 0.625em) 0 0.625em;
}
.headline-hr.-centered {
	text-align: center;
}
.headline-hr.-centered:before {
	content: "";
}
.headline-hr.-align-right {
	text-align: right;
}
.headline-hr.-align-right:before {
	content: "";
}
.headline-hr.-align-right:after {
	content: none;
}

.icon-hr {
	display: block;
}
.icon-hr:before {
	position: relative;
	display: block;
	bottom: -0.5em;
	width: 1.875em;
	margin: 0;
	background: #ffffff;
}
.icon-hr.-centered:before {
	width: 2.25em;
	margin: 0 auto;
	text-align: center;
}
.icon-hr.-align-right:before {
	margin: 0 0 0 auto;
	text-align: right;
}
.icon-hr hr {
	margin: 0;
}

.confirmation {
	color: #b8440a;
}

.information {
	color: #b8440a;
}

.warning {
	color: #b8440a;
}

p.confirmation,
p.information,
p.warning,
div.confirmation,
div.information,
div.warning,
span.confirmation,
span.information,
span.warning {
	position: relative;
	display: block;
	overflow: hidden;
	margin: 1.5625em 0;
	padding: 1em 6.25% 1em 12.5%;
	border: 1px solid #bbbbbb;
	border-radius: 0;
	color: #6f2906;
	background: #ffffff;
}
@media screen and (max-width: 900px) {
	p.confirmation,
	p.information,
	p.warning,
	div.confirmation,
	div.information,
	div.warning,
	span.confirmation,
	span.information,
	span.warning {
		padding-left: 4em;
	}
}
p.confirmation:before,
p.information:before,
p.warning:before,
div.confirmation:before,
div.information:before,
div.warning:before,
span.confirmation:before,
span.information:before,
span.warning:before {
	font: 1.5em/1 "RockSolid Icons";
	content: "\e044";
	-webkit-font-smoothing: antialiased;
	font-smoothing: antialiased;
	text-rendering: geometricPrecision;
	text-indent: 0;
	display: inline-block;
	position: relative;
	position: absolute;
	top: 50%;
	left: -0.41667em;
	width: 1.16667em;
	height: 1.16667em;
	margin: -1.25em 0 0;
	padding: 0.66667em;
	border-radius: 100%;
	color: #ffffff;
	text-align: center;
	background: #b8440a;
}
p.information,
div.information,
span.information {
	color: #6f2906;
}
p.information:before,
div.information:before,
span.information:before {
	content: "\e0a6";
	background: #b8440a;
}
p.warning,
div.warning,
span.warning {
	color: #6f2906;
}
p.warning:before,
div.warning:before,
span.warning:before {
	content: "\e143";
	background: #b8440a;
}

p.drop-cap:first-letter,
span.drop-cap {
	float: left;
	margin: 0.11111em 0.33333em 0 0;
	padding: 0.19444em;
	border: 1px solid #bbbbbb;
	border-radius: 0;
	font-size: 2.25em;
	font-weight: normal;
	/* Fixes line-height difference between gecko and webkit */
	line-height: 0.7;
	background: #ffffff;
	background-image: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.05));
}

p.drop-cap:first-letter {
	/* IE8 and IE9 calculate em's from the parent element */
	margin: 0.25em 0.75em 0 0 \9;
}

code {
	padding: 0.14286em 0.35714em;
	font-family: "Lucida Console", monospace;
	font-size: 0.875em;
	line-height: 1.35786;
	background-color: #bbbbbb;
	border-radius: 0;
}

pre {
	margin: 1.71429em 0;
	padding: 0.5em 1em;
	display: block;
	overflow: auto;
	border-radius: 0;
	font-family: "Lucida Console", monospace;
	font-size: 0.875em;
	line-height: 1.715;
	background-color: #bbbbbb;
}
pre .hljs,
pre code {
	font-size: 1em;
	padding: 0;
	line-height: inherit;
	background-color: transparent;
}

/* ===========================================
 * Buttons
 * ======================================== */
button.-secondary, .button.-secondary, input[type="submit"].-secondary, .header-login .formbody input[type=submit],
.header-dropdown > ul input[type=submit],
.pricing-table-plan.-highlighted a,
.feature-box-link.-secondary,
.headline-box-link.-secondary,
button.-tertiary,
.button.-tertiary,
input[type="submit"].-tertiary,
.rotating-boxes-item-content .rotating-boxes-item-link,
.pricing-table-plan a,
.feature-box-link.-tertiary,
.headline-box-link.-tertiary,
button.-quaternary,
.button.-quaternary,
input[type="submit"].-quaternary,
.feature-box-link.-quaternary,
.headline-box-link.-quaternary,
.highlight-box-link,
.feature-box-link,
.headline-box-link,
.footer-bar input[type=submit],
.footer-bar button,
button,
.button,
input[type="submit"],
input[type="reset"],
input[type="button"] {
	position: relative;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	display: inline-block;
	padding: 0.64286em 1.42857em;
	border: 1px solid;
	border-color: #a03b09 #883207 #6f2906;
	border-radius: 0;
	outline: none;
	font-size: 0.875em;
	line-height: 1.42929;
	color: #ffffff;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	text-shadow: 0 -1px 0 #883207;
	background: #b8440a;
	background: linear-gradient(#d04d0b, #a93f09);
	box-shadow: inset 0 1px #cd7c53;
}
button.-secondary:hover, .button.-secondary:hover, input[type="submit"].-secondary:hover, .header-login .formbody input[type=submit]:hover,
.header-dropdown > ul input[type=submit]:hover, button.-tertiary:hover, .button.-tertiary:hover, input[type="submit"].-tertiary:hover, .rotating-boxes-item-content .rotating-boxes-item-link:hover, .pricing-table-plan a:hover, button.-quaternary:hover, .button.-quaternary:hover, input[type="submit"].-quaternary:hover, .highlight-box-link:hover, .feature-box-link:hover, .headline-box-link:hover, .footer-bar input[type=submit]:hover, .footer-bar button:hover, button.-secondary:focus, .button.-secondary:focus, input[type="submit"].-secondary:focus, .header-login .formbody input[type=submit]:focus,
.header-dropdown > ul input[type=submit]:focus,
button.-tertiary:focus,
.button.-tertiary:focus,
input[type="submit"].-tertiary:focus,
.rotating-boxes-item-content .rotating-boxes-item-link:focus,
.pricing-table-plan a:focus,
button.-quaternary:focus,
.button.-quaternary:focus,
input[type="submit"].-quaternary:focus,
.highlight-box-link:focus,
.feature-box-link:focus,
.headline-box-link:focus,
.footer-bar input[type=submit]:focus,
.footer-bar button:focus,
button:hover,
button:focus,
.button:hover,
.button:focus,
input[type="submit"]:hover,
input[type="submit"]:focus,
input[type="reset"]:hover,
input[type="reset"]:focus,
input[type="button"]:hover,
input[type="button"]:focus {
	border-color: #572005 #3f1703 #270e02;
	text-decoration: none;
	background-image: linear-gradient(#df520c, #9b3908);
}
button.-secondary:active, .button.-secondary:active, input[type="submit"].-secondary:active, .header-login .formbody input[type=submit]:active,
.header-dropdown > ul input[type=submit]:active,
button.-tertiary:active,
.button.-tertiary:active,
input[type="submit"].-tertiary:active,
.rotating-boxes-item-content .rotating-boxes-item-link:active,
.pricing-table-plan a:active,
button.-quaternary:active,
.button.-quaternary:active,
input[type="submit"].-quaternary:active,
.highlight-box-link:active,
.feature-box-link:active,
.headline-box-link:active,
.footer-bar input[type=submit]:active,
.footer-bar button:active,
button:active,
.button:active,
input[type="submit"]:active,
input[type="reset"]:active,
input[type="button"]:active {
	background-image: linear-gradient(#c7490b, #b3420a);
}
#colorbox button.-secondary, #colorbox .button.-secondary, #colorbox input[type="submit"].-secondary, #colorbox .header-login .formbody input[type=submit], .header-login .formbody #colorbox input[type=submit],
#colorbox .header-dropdown > ul input[type=submit],
.header-dropdown > ul #colorbox input[type=submit],
#colorbox button.-tertiary,
#colorbox .button.-tertiary,
#colorbox input[type="submit"].-tertiary,
#colorbox .rotating-boxes-item-content .rotating-boxes-item-link,
.rotating-boxes-item-content #colorbox .rotating-boxes-item-link,
#colorbox .pricing-table-plan a,
.pricing-table-plan #colorbox a,
#colorbox button.-quaternary,
#colorbox .button.-quaternary,
#colorbox input[type="submit"].-quaternary,
#colorbox .highlight-box-link,
#colorbox .feature-box-link,
#colorbox .headline-box-link,
#colorbox .footer-bar input[type=submit],
.footer-bar #colorbox input[type=submit],
#colorbox .footer-bar button,
.footer-bar #colorbox button,
#colorbox button,
#colorbox .button,
#colorbox input[type="submit"],
#colorbox input[type="reset"],
#colorbox input[type="button"] {
	/* Fix colorbox close button */
	box-shadow: none;
}

button.-quaternary:hover,
button.-quaternary:focus,
.button.-quaternary:hover,
.button.-quaternary:focus,
input[type="submit"].-quaternary:hover,
input[type="submit"].-quaternary:focus {
	border-color: currentColor;
}
button.-single,
.button.-single,
input[type="submit"].-single {
	margin: 0.75em 0;
}
button.-small,
.button.-small,
input[type="submit"].-small {
	padding: 0.41667em 0.83333em;
	font-size: 0.75em;
}

button.-secondary, .button.-secondary, input[type="submit"].-secondary, .header-login .formbody input[type=submit],
.header-dropdown > ul input[type=submit],
.pricing-table-plan.-highlighted a,
.feature-box-link.-secondary,
.headline-box-link.-secondary {
	border-color: #262626 #1a1a1a #0d0d0d;
	color: #ffffff;
	text-shadow: 0 -1px 0 #1a1a1a;
	background: #333333;
	background: linear-gradient(#404040, #2b2b2b);
	box-shadow: inset 0 1px #707070;
}
button.-secondary:hover, .button.-secondary:hover, input[type="submit"].-secondary:hover, .header-login .formbody input[type=submit]:hover,
.header-dropdown > ul input[type=submit]:hover, .pricing-table-plan.-highlighted a:hover, .feature-box-link.-secondary:hover, .headline-box-link.-secondary:hover, button.-secondary:focus, .button.-secondary:focus, input[type="submit"].-secondary:focus, .header-login .formbody input[type=submit]:focus,
.header-dropdown > ul input[type=submit]:focus,
.pricing-table-plan.-highlighted a:focus,
.feature-box-link.-secondary:focus,
.headline-box-link.-secondary:focus {
	border-color: #000000 #000000 #000000;
	background: linear-gradient(#474747, #242424);
}
button.-secondary:active, .button.-secondary:active, input[type="submit"].-secondary:active, .header-login .formbody input[type=submit]:active,
.header-dropdown > ul input[type=submit]:active,
.pricing-table-plan.-highlighted a:active,
.feature-box-link.-secondary:active,
.headline-box-link.-secondary:active {
	background: linear-gradient(#3b3b3b, #303030);
}

button.-tertiary,
.button.-tertiary,
input[type="submit"].-tertiary,
.rotating-boxes-item-content .rotating-boxes-item-link,
.pricing-table-plan a,
.feature-box-link.-tertiary,
.headline-box-link.-tertiary {
	border-color: #b7b7b7 #aaaaaa #9d9d9d;
	color: #333333;
	text-shadow: 0 -1px 0 #c4c4c4;
	background: #dddddd;
	background: linear-gradient(#eaeaea, #d5d5d5);
	box-shadow: none;
}
button.-tertiary:hover,
.button.-tertiary:hover,
input[type="submit"].-tertiary:hover,
.rotating-boxes-item-content .rotating-boxes-item-link:hover,
.pricing-table-plan a:hover,
.feature-box-link.-tertiary:hover,
.headline-box-link.-tertiary:hover,
button.-tertiary:focus,
.button.-tertiary:focus,
input[type="submit"].-tertiary:focus,
.rotating-boxes-item-content .rotating-boxes-item-link:focus,
.pricing-table-plan a:focus,
.feature-box-link.-tertiary:focus,
.headline-box-link.-tertiary:focus {
	border-color: #aaaaaa #9d9d9d #919191;
	background: linear-gradient(#f1f1f1, #cecece);
}
button.-tertiary:active,
.button.-tertiary:active,
input[type="submit"].-tertiary:active,
.rotating-boxes-item-content .rotating-boxes-item-link:active,
.pricing-table-plan a:active,
.feature-box-link.-tertiary:active,
.headline-box-link.-tertiary:active {
	background: linear-gradient(#e5e5e5, #dadada);
}

button.-quaternary,
.button.-quaternary,
input[type="submit"].-quaternary,
.feature-box-link.-quaternary,
.headline-box-link.-quaternary {
	border: 2px solid #333333;
	border-color: currentColor;
	border-radius: 6px;
	color: inherit;
	text-shadow: none;
	background: none;
	box-shadow: none;
}
button.-quaternary:after,
.button.-quaternary:after,
input[type="submit"].-quaternary:after,
.feature-box-link.-quaternary:after,
.headline-box-link.-quaternary:after {
	content: "";
	position: absolute;
	top: 100%;
	right: 0;
	bottom: 0;
	left: 0;
	background: currentColor;
	opacity: 0.15;
	transition: top 0.4s ease-in;
}
button.-quaternary:hover,
.button.-quaternary:hover,
input[type="submit"].-quaternary:hover,
.feature-box-link.-quaternary:hover,
.headline-box-link.-quaternary:hover,
button.-quaternary:focus,
.button.-quaternary:focus,
input[type="submit"].-quaternary:focus,
.feature-box-link.-quaternary:focus,
.headline-box-link.-quaternary:focus {
	background: none;
}
button.-quaternary:hover:after,
.button.-quaternary:hover:after,
input[type="submit"].-quaternary:hover:after,
.feature-box-link.-quaternary:hover:after,
.headline-box-link.-quaternary:hover:after,
button.-quaternary:focus:after,
.button.-quaternary:focus:after,
input[type="submit"].-quaternary:focus:after,
.feature-box-link.-quaternary:focus:after,
.headline-box-link.-quaternary:focus:after {
	top: 0;
	transition: top 0.2s ease-out;
}

/* ===========================================
 * Wrapper Elements
 * ======================================== */
.header-bar-inner,
.header-navigation-inner,
.content-wrapper {
	max-width: 1600px;
	margin-right: auto;
	margin-left: auto;
}

.centered-wrapper-inner,
.info-map-boxes {
	max-width: 1481.4814814815px;
	margin-right: auto;
	margin-left: auto;
}
@media screen and (max-width: 1600px) {
	.centered-wrapper-inner,
	.info-map-boxes {
		max-width: none;
		margin-right: 3.7037%;
		margin-right: var(--page-padding-right);
		margin-left: 3.7037%;
		margin-left: var(--page-padding-left);
	}
}
@media screen and (max-width: 1280px) {
	.centered-wrapper-inner,
	.info-map-boxes {
		margin-right: 5.55556%;
		margin-right: var(--page-padding-right);
		margin-left: 5.55556%;
		margin-left: var(--page-padding-left);
	}
}

.page {
	zoom: 1;
	position: relative;
	margin: 0 auto;
	padding-top: var(--safe-area-top);
	padding-bottom: var(--safe-area-bottom);
	background: #ffffff;
}
.page:before {
	content: "";
	display: table;
}
.page:after {
	content: "";
	display: table;
	clear: both;
}
.tao-boxed .page {
	max-width: 1600px;
	border: solid #bbbbbb;
	border-width: 0 1px;
	box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
}
@media screen and (max-width: 1680px) {
	.page {
	}
	.tao-boxed .page {
		border: 0;
		box-shadow: none;
	}
}
.tao-not-boxed .page {
	max-width: none;
	border: 0;
	box-shadow: none;
}

/* ===========================================
 * Layout in order of appearance in HTML
 * ======================================== */
.page-header {
	position: relative;
	z-index: 20;
}
.page-header.is-fixed {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	transform: translateZ(0);
}

.header-bar {
	zoom: 1;
	border-bottom: 1px solid #bbbbbb;
	font-size: 0.8125em;
	background: #ffffff;
}
.header-bar:before {
	content: "";
	display: table;
}
.header-bar:after {
	content: "";
	display: table;
	clear: both;
}
@media screen and (max-width: 900px) {
	.header-bar {
		display: none;
	}
}
.tao-boxed .header-bar {
	max-width: 1600px;
	margin-right: auto;
	margin-left: auto;
	border-right: 1px solid #bbbbbb;
	border-left: 1px solid #bbbbbb;
}
@media screen and (max-width: 1680px) {
	.header-bar {
	}
	.tao-boxed .header-bar {
		border-right: 0;
		border-left: 0;
	}
}
.tao-not-boxed .header-bar {
	max-width: none;
	border-right: 0;
	border-left: 0;
}

.header-bar-inner {
	color: #333333;
}
@media screen and (max-width: 1280px) {
	.header-bar-inner {
		padding-right: 5.55556%;
		padding-right: var(--page-padding-right);
		padding-left: 5.55556%;
		padding-left: var(--page-padding-left);
	}
}

.header-links {
	float: left;
	margin: 0 0 0 3.7037%;
	margin-left: var(--page-padding-left);
	padding: 0.61538em 0;
}
@media screen and (max-width: 1280px) {
	.header-links {
		float: none;
		margin-left: 0;
	}
}
.header-links.-right {
	float: right;
	margin: 0 3.7037% 0 0;
	margin-right: var(--page-padding-right);
}
@media screen and (max-width: 1280px) {
	.header-links.-right {
		float: none;
		margin-right: 0;
	}
}
.header-links.-right a {
	margin-right: 0;
	margin-left: 1em;
}
.header-links li {
	display: inline;
}
.header-links a {
	display: inline-block;
	color: inherit;
	margin-right: 1em;
}
.header-links .icon-links-label {
	color: inherit;
}
.header-links.-secondary {
	padding-top: 0;
	padding-bottom: 0;
}
@media screen and (max-width: 1280px) {
	.header-links.-secondary > li:first-child > a {
		margin-left: -0.625em;
	}
}
.header-links.-secondary a {
	float: left;
	position: relative;
	width: 2.76923em;
	height: 2.76923em;
	overflow: hidden;
	margin: 0;
	line-height: 0;
	/* Fixes Chrome bug */
	letter-spacing: -1em;
	color: #333333;
	text-indent: -99em;
	text-decoration: none;
}
.header-links.-secondary a:before,
.header-links.-secondary a:after {
	font: 1.15385em/1 "RockSolid Icons";
	content: attr(data-icon);
	-webkit-font-smoothing: antialiased;
	font-smoothing: antialiased;
	text-rendering: geometricPrecision;
	text-indent: 0;
	display: inline-block;
	position: relative;
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	box-sizing: border-box;
	width: 100%;
	height: 100%;
	padding-top: 0.06667em;
	line-height: 2.40067;
	letter-spacing: 0;
	text-align: center;
	background: #ffffff;
	transition: top 0.2s ease-out;
}
.header-links.-secondary a:after {
	top: 100%;
	color: #ffffff;
	background: transparent;
}
.header-links.-secondary a:hover:before,
.header-links.-secondary a:focus:before {
	top: -100%;
}
.header-links.-secondary a:hover:after,
.header-links.-secondary a:focus:after {
	top: 0;
}

.header-login,
.header-dropdown {
	position: relative;
	float: right;
	z-index: 4;
	margin: 0.30769em 0.76923em -0.15385em 0;
}
@media screen and (max-width: 1280px) {
	.header-login,
	.header-dropdown {
		margin-right: -0.61538em;
		margin-left: 1em;
	}
}
.header-login > h1, .header-login > h2, .header-login > h3, .header-login > h4, .header-login > h5, .header-login > h6,
.header-dropdown > h1,
.header-dropdown > h2,
.header-dropdown > h3,
.header-dropdown > h4,
.header-dropdown > h5,
.header-dropdown > h6 {
	position: relative;
	z-index: 1;
	margin: 0;
	padding: 0.38462em 0.76923em 0.61538em;
	border: 1px solid transparent;
	border-bottom: 0;
	border-radius: 0 0 0 0;
	outline: none;
	font-weight: normal;
	font-size: inherit;
	line-height: 1.5;
	color: inherit;
	cursor: pointer;
}
.header-login > h1:hover, .header-login > h1:focus, .header-login > h2:hover, .header-login > h2:focus, .header-login > h3:hover, .header-login > h3:focus, .header-login > h4:hover, .header-login > h4:focus, .header-login > h5:hover, .header-login > h5:focus, .header-login > h6:hover, .header-login > h6:focus,
.header-dropdown > h1:hover,
.header-dropdown > h1:focus,
.header-dropdown > h2:hover,
.header-dropdown > h2:focus,
.header-dropdown > h3:hover,
.header-dropdown > h3:focus,
.header-dropdown > h4:hover,
.header-dropdown > h4:focus,
.header-dropdown > h5:hover,
.header-dropdown > h5:focus,
.header-dropdown > h6:hover,
.header-dropdown > h6:focus {
	text-decoration: underline;
}
.header-login > h1:hover:after, .header-login > h1:focus:after, .header-login > h2:hover:after, .header-login > h2:focus:after, .header-login > h3:hover:after, .header-login > h3:focus:after, .header-login > h4:hover:after, .header-login > h4:focus:after, .header-login > h5:hover:after, .header-login > h5:focus:after, .header-login > h6:hover:after, .header-login > h6:focus:after,
.header-dropdown > h1:hover:after,
.header-dropdown > h1:focus:after,
.header-dropdown > h2:hover:after,
.header-dropdown > h2:focus:after,
.header-dropdown > h3:hover:after,
.header-dropdown > h3:focus:after,
.header-dropdown > h4:hover:after,
.header-dropdown > h4:focus:after,
.header-dropdown > h5:hover:after,
.header-dropdown > h5:focus:after,
.header-dropdown > h6:hover:after,
.header-dropdown > h6:focus:after {
	text-decoration: none !important;
}
.header-login > h1:after, .header-login > h2:after, .header-login > h3:after, .header-login > h4:after, .header-login > h5:after, .header-login > h6:after,
.header-dropdown > h1:after,
.header-dropdown > h2:after,
.header-dropdown > h3:after,
.header-dropdown > h4:after,
.header-dropdown > h5:after,
.header-dropdown > h6:after {
	font: 0.69231em/1 "RockSolid Icons";
	content: "\e015";
	-webkit-font-smoothing: antialiased;
	font-smoothing: antialiased;
	text-rendering: geometricPrecision;
	text-indent: 0;
	display: inline-block;
	position: relative;
	top: -0.11111em;
	margin-left: 0.44444em;
}

.header-dropdown:hover {
	color: #333333;
}

.header-login .formbody,
.header-dropdown > ul {
	position: absolute;
	top: 100%;
	right: 0;
	display: none;
	margin-top: -1px;
	padding: 1em 1.53846em 1.38462em;
	border: 1px solid #bbbbbb;
	border-radius: 0 0 0 0;
	color: #333333;
	background: #ffffff;
	box-shadow: 0 0 5px rgba(0, 0, 0, 0.15);
}
.header-login .formbody .error,
.header-dropdown > ul .error {
	margin-top: 0;
	margin-bottom: 1em;
	min-width: 21.53846em;
}
.header-login .formbody .login_info,
.header-dropdown > ul .login_info {
	margin-top: 0;
	white-space: nowrap;
}
.header-login .formbody label,
.header-dropdown > ul label {
	display: block;
	margin: 0 0 0.3em;
	font-size: 0.76923em;
	text-transform: uppercase;
}
.header-login .formbody input,
.header-dropdown > ul input {
	width: 100%;
	margin: 0 0 1.07692em;
	padding: 0.46154em 0.92308em;
	border-radius: 0;
	font-size: 1em;
}
.header-login .formbody input[type=submit],
.header-dropdown > ul input[type=submit] {
	margin: 0;
}
.header-login .formbody .checkbox_container,
.header-dropdown > ul .checkbox_container {
	border: 0;
	margin: 0;
	padding: 0;
}
.header-login .formbody .checkbox_container input,
.header-dropdown > ul .checkbox_container input {
	margin-bottom: 0;
}
.header-login .formbody .checkbox_container label,
.header-dropdown > ul .checkbox_container label {
	display: inline;
}

.header-login .formbody {
	min-width: 16.92308em;
}

.header-dropdown > ul {
	min-width: 150%;
	padding: 0.76923em 0;
	list-style: none;
}
.header-dropdown > ul li:before {
	content: none;
}
.header-dropdown > ul a,
.header-dropdown > ul strong,
.header-dropdown > ul span.trail,
.header-dropdown > ul span.active,
.header-dropdown > ul span.forward {
	display: block;
	padding: 0.30769em 1.53846em;
	color: inherit;
	text-decoration: none;
}
.header-dropdown > ul a:hover,
.header-dropdown > ul a:focus {
	text-decoration: underline;
}
.header-dropdown > ul span.trail,
.header-dropdown > ul span.active,
.header-dropdown > ul span.forward {
	font-weight: bold;
}

.header-login.is-active > h1, .header-login.is-active > h2, .header-login.is-active > h3, .header-login.is-active > h4, .header-login.is-active > h5, .header-login.is-active > h6,
.header-dropdown:hover > h1,
.header-dropdown:hover > h2,
.header-dropdown:hover > h3,
.header-dropdown:hover > h4,
.header-dropdown:hover > h5,
.header-dropdown:hover > h6,
.header-dropdown:focus > h1,
.header-dropdown:focus > h2,
.header-dropdown:focus > h3,
.header-dropdown:focus > h4,
.header-dropdown:focus > h5,
.header-dropdown:focus > h6 {
	border-color: #bbbbbb;
	color: #333333;
	background-color: #ffffff;
}

.header-login.is-active > h1:after,
.header-login.is-active > h2:after,
.header-login.is-active > h3:after,
.header-login.is-active > h4:after,
.header-login.is-active > h5:after,
.header-login.is-active > h6:after {
	content: "\d7";
}

.header-login.is-active .formbody,
.header-dropdown:hover > ul,
.header-dropdown:focus > ul {
	display: block;
}

.header-navigation {
	zoom: 1;
	position: relative;
	border-bottom: 1px solid #bbbbbb;
	background: #ffffff;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
}
.header-navigation:before {
	content: "";
	display: table;
}
.header-navigation:after {
	content: "";
	display: table;
	clear: both;
}
.tao-boxed .header-navigation {
	max-width: 1600px;
	margin-right: auto;
	margin-left: auto;
	border-right: 1px solid #bbbbbb;
	border-left: 1px solid #bbbbbb;
}
@media screen and (max-width: 1680px) {
	.header-navigation {
	}
	.tao-boxed .header-navigation {
		border-right: 0;
		border-left: 0;
	}
}
.tao-not-boxed .header-navigation {
	max-width: none;
	border-right: 0;
	border-left: 0;
}

.header-navigation-inner {
	position: relative;
	height: 5.25em;
	min-height: 3.125em;
	color: #333333;
}
@media screen and (max-width: 1280px) {
	.header-navigation-inner {
		height: auto;
		min-height: 0;
	}
}

.logo {
	position: absolute;
	top: 10%;
	bottom: 10%;
	left: 3.7037%;
	left: calc(3.7037% + var(--safe-area-left));
	margin: 0;
	font-size: inherit;
}
@media screen and (max-width: 1280px) {
	.logo {
		position: static;
		margin-left: 5.55556%;
		margin-left: var(--page-padding-left);
		padding-top: 1.5em;
		padding-bottom: 0.75em;
	}
}
@media screen and (max-width: 900px) {
	.logo {
		text-align: center;
		margin-left: 0;
		padding-top: 0.75em;
	}
}
.logo a {
	display: block;
	height: 100%;
}
@media screen and (max-width: 1280px) {
	.logo a {
		display: inline;
	}
}
.logo img {
	display: block;
	width: auto;
	height: 100%;
}
@media screen and (max-width: 1280px) {
	.logo img {
		display: inline;
		height: auto;
		max-height: 4.0625em;
	}
}

.main-navigation-wrapper {
	position: relative;
	clear: both;
	border: 1px solid #bbbbbb;
	background: #ffffff;
	background: linear-gradient(#ffffff, #fafafa);
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1), inset 0 0 0 1px rgba(255, 255, 255, 0.5);
}

.main-navigation {
	float: right;
	height: 100%;
	margin-right: 5.55556%;
	margin-right: calc(5.55556% + var(--safe-area-right));
	padding-right: 2.75em;
}
@media screen and (max-width: 1280px) {
	.main-navigation {
		position: relative;
		float: none;
		height: 3.125em;
		margin-right: 0;
		padding-right: 1.5em;
		padding-right: calc(1.5em + var(--safe-area-right));
		padding-left: 1.5em;
		padding-left: calc(1.5em + var(--safe-area-left));
	}
}
@media screen and (max-width: 900px) {
	.main-navigation {
		display: none;
	}
}
.main-navigation a,
.main-navigation strong,
.main-navigation span.active,
.main-navigation span.trail,
.main-navigation span.forward {
	font-weight: inherit;
}
.main-navigation a:before,
.main-navigation strong:before,
.main-navigation span.active:before,
.main-navigation span.trail:before,
.main-navigation span.forward:before {
	content: none;
	display: none;
}
.main-navigation ul {
	display: inline;
	margin: 0;
	padding: 0;
}
.main-navigation > ul > li {
	position: relative;
	float: left;
	height: 100%;
}
.main-navigation > ul > li.-mega {
	position: static;
}
.main-navigation > ul > li:before {
	position: absolute;
	top: 50%;
	left: 0.5em;
	margin-top: -0.33333em;
	font-size: 0.75em;
}
.main-navigation > ul > li > a,
.main-navigation > ul > li > strong,
.main-navigation > ul > li > span.active,
.main-navigation > ul > li > span.trail,
.main-navigation > ul > li > span.forward {
	position: relative;
	float: left;
	height: 100%;
	padding: 0 1.429rem;
	font-size: 0.875em;
	color: #333333;
}
.main-navigation > ul > li > a:before,
.main-navigation > ul > li > strong:before,
.main-navigation > ul > li > span.active:before,
.main-navigation > ul > li > span.trail:before,
.main-navigation > ul > li > span.forward:before {
	content: "";
	display: block;
	height: 50%;
	margin-bottom: -0.71429em;
}
.main-navigation > ul > li > a:after,
.main-navigation > ul > li > strong:after,
.main-navigation > ul > li > span.active:after,
.main-navigation > ul > li > span.trail:after,
.main-navigation > ul > li > span.forward:after {
	content: "";
	position: absolute;
	top: -1px;
	right: 50%;
	left: 50%;
	border-top: 2px solid #333333;
	transition: right 0.4s ease-out, left 0.4s ease-out;
}
@media screen and (max-width: 1280px) {
	.main-navigation > ul > li > a:after,
	.main-navigation > ul > li > strong:after,
	.main-navigation > ul > li > span.active:after,
	.main-navigation > ul > li > span.trail:after,
	.main-navigation > ul > li > span.forward:after {
		top: auto;
		bottom: -1px;
	}
}
.main-navigation > ul > li > a:hover,
.main-navigation > ul > li > a:focus {
	color: #963707;
	text-decoration: none;
}
.main-navigation > ul > li > a.active,
.main-navigation > ul > li > a.trail,
.main-navigation > ul > li > a.forward,
.main-navigation > ul > li > strong.active,
.main-navigation > ul > li > strong.trail,
.main-navigation > ul > li > strong.forward,
.main-navigation > ul > li > span.active,
.main-navigation > ul > li > span.trail,
.main-navigation > ul > li > span.forward {
	color: #b8440a;
}
.main-navigation > ul > li > ul {
	position: absolute;
	top: 100%;
	left: 0.5em;
	display: block;
	overflow: hidden;
	max-height: 0;
	min-width: 11.25em;
	padding: 0;
	border: solid #bbbbbb;
	border-width: 1px 1px 2px;
	border-top-color: #bbbbbb;
	border-radius: 0 0 0 0;
	background: #ffffff;
	opacity: 0;
	box-shadow: inset 0 6px 2px -5px rgba(0, 0, 0, 0.1);
	transition: max-height 0s 0.3s, padding 0s 0.3s, opacity 0.3s;
	pointer-events: none;
}
.main-navigation > ul > li > ul li {
	position: relative;
	display: block;
	padding: 0.125em 0;
	border-bottom: 1px solid #bbbbbb;
	white-space: nowrap;
}
.main-navigation > ul > li > ul li li {
	margin: 0;
	border: 0;
}
.main-navigation > ul > li > ul li[data-icon]:before,
.main-navigation > ul > li > ul li[class^="icon-"]:before,
.main-navigation > ul > li > ul li[class*=" icon-"]:before {
	position: absolute;
	top: 0.64286em;
	left: 0.28571em;
	z-index: 1;
	font-size: 0.875em;
}
.main-navigation > ul > li > ul li[data-icon] a,
.main-navigation > ul > li > ul li[data-icon] strong,
.main-navigation > ul > li > ul li[data-icon] span.active,
.main-navigation > ul > li > ul li[data-icon] span.trail,
.main-navigation > ul > li > ul li[data-icon] span.forward,
.main-navigation > ul > li > ul li[class^="icon-"] a,
.main-navigation > ul > li > ul li[class^="icon-"] strong,
.main-navigation > ul > li > ul li[class^="icon-"] span.active,
.main-navigation > ul > li > ul li[class^="icon-"] span.trail,
.main-navigation > ul > li > ul li[class^="icon-"] span.forward,
.main-navigation > ul > li > ul li[class*=" icon-"] a,
.main-navigation > ul > li > ul li[class*=" icon-"] strong,
.main-navigation > ul > li > ul li[class*=" icon-"] span.active,
.main-navigation > ul > li > ul li[class*=" icon-"] span.trail,
.main-navigation > ul > li > ul li[class*=" icon-"] span.forward {
	padding-left: 1.71429em;
}
.main-navigation > ul > li > ul a,
.main-navigation > ul > li > ul strong,
.main-navigation > ul > li > ul span.active,
.main-navigation > ul > li > ul span.trail,
.main-navigation > ul > li > ul span.forward {
	position: relative;
	display: block;
	padding: 0.21429em 0.42857em;
	margin: 0;
	font-size: 0.875em;
}
.main-navigation > ul > li > ul a {
	border-radius: 0;
	color: #333333;
	transition: background-color 0.6s ease-in, color 0.6s ease-in;
}
.main-navigation > ul > li > ul a:hover {
	text-decoration: none;
	color: #963707;
	background-color: #bbbbbb;
	transition-duration: 0.05s;
}
.main-navigation > ul > li > ul strong.active,
.main-navigation > ul > li > ul strong.trail,
.main-navigation > ul > li > ul strong.forward,
.main-navigation > ul > li > ul span.active,
.main-navigation > ul > li > ul span.trail,
.main-navigation > ul > li > ul span.forward {
	color: #b8440a;
}
.main-navigation > ul > li > ul ul {
	display: block;
	padding-left: 0.625em;
}
.main-navigation > ul > li:hover:after {
	content: "";
	position: absolute;
	top: 50%;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 1;
	margin-top: 0.625em;
}
.main-navigation > ul > li:hover > a,
.main-navigation > ul > li:hover > strong,
.main-navigation > ul > li:hover > span.active,
.main-navigation > ul > li:hover > span.trail,
.main-navigation > ul > li:hover > span.forward {
	z-index: 2;
}
.main-navigation > ul > li:hover > a:after,
.main-navigation > ul > li:hover > strong:after,
.main-navigation > ul > li:hover > span.active:after,
.main-navigation > ul > li:hover > span.trail:after,
.main-navigation > ul > li:hover > span.forward:after {
	right: 1.42857em;
	left: 1.42857em;
	transition-duration: 0.1s, 0.1s;
}
.main-navigation > ul > li:hover > ul {
	z-index: 1;
	max-height: 9999px;
	padding: 0.875em 1em;
	opacity: 1;
	transition: opacity 0.2s;
	pointer-events: auto;
}
.modernizr-no-pointerevents .main-navigation > ul > li > ul {
	border-width: 0;
}
.modernizr-no-pointerevents .main-navigation > ul > li:hover > ul {
	border-width: 1px 1px 2px;
}
.main-navigation > ul > li.last > ul {
	left: auto;
	right: -0.125em;
}

.mega-dropdown {
	position: absolute;
	top: 100%;
	left: 3.7037%;
	left: var(--page-padding-left);
	display: block;
	width: 92.59259%;
	width: var(--page-inner-width);
	max-height: 0;
	padding: 0;
	overflow: hidden;
	border: solid #bbbbbb;
	border-width: 1px 1px 2px;
	border-top-color: #bbbbbb;
	border-radius: 0 0 0 0;
	font-size: 0.875em;
	background: #ffffff;
	opacity: 0;
	box-shadow: inset 0 6px 2px -5px rgba(0, 0, 0, 0.1);
	transition: max-height 0s 0.3s, padding 0s 0.3s, opacity 0.3s;
	pointer-events: none;
	/* Fixes chrome text flicker */
	-webkit-backface-visibility: hidden;
}
@media screen and (max-width: 1280px) {
	.mega-dropdown {
		background-image: none !important;
		left: 0;
		width: 100%;
	}
}
li:hover > .mega-dropdown {
	z-index: 1;
	max-height: 9999px;
	overflow: visible;
	padding: 1.57143em 3.7037%;
	opacity: 1;
	transition: opacity 0.2s;
	pointer-events: auto;
}
@media screen and (max-width: 1280px) {
	li:hover > .mega-dropdown {
		padding-right: 5.55556%;
		padding-right: var(--page-padding-right);
		padding-left: 5.55556%;
		padding-left: var(--page-padding-left);
	}
}
.modernizr-no-pointerevents .mega-dropdown {
	border-width: 0;
}
.modernizr-no-pointerevents li:hover > .mega-dropdown {
	border-width: 1px 1px 2px;
}

.mega-dropdown-column h1,
.mega-dropdown-column h2,
.mega-dropdown-column h3 {
	margin: 0 0 0.71429em;
	font-size: inherit;
	font-weight: bold;
	color: #963707;
}
.mega-dropdown-column h1 a,
.mega-dropdown-column h2 a,
.mega-dropdown-column h3 a {
	color: inherit;
}
.mega-dropdown-column p {
	margin: 1em 0;
}
.mega-dropdown-column ul a {
	display: inline-block;
	padding: 0.28571em 0 0.21429em;
	color: #333333;
}
.mega-dropdown-column ul a:hover {
	color: #963707;
}
.mega-dropdown-column li li {
	margin-left: 1.42857em;
}

.mega-dropdown-image {
	margin: 1.42857em 0;
}
.mega-dropdown-image img {
	display: block;
	width: 100%;
	height: auto;
}

.main-navigation-search {
	position: absolute;
	top: 50%;
	right: 3.7037%;
	right: var(--page-padding-right);
	z-index: 3;
	height: 2.85714em;
	min-width: 3.42857em;
	margin-top: -1.35714em;
	border-radius: 0;
	overflow: hidden;
	font-size: 0.875em;
	background: #ffffff;
}
@media screen and (max-width: 1280px) {
	.main-navigation-search {
		right: 5.55556%;
		right: var(--page-padding-right);
		top: auto;
		bottom: 4.6875em;
		margin-top: 0;
		z-index: 0;
	}
}
@media screen and (max-width: 900px) {
	.main-navigation-search {
		display: none;
	}
}
.main-navigation-search:after {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	height: 1.07143em;
	margin: -0.5em 0 0;
	border-left: 1px solid #bbbbbb;
}
.main-navigation-search input {
	/* Fixes border-radius on iOS 7 */
	-webkit-appearance: none;
	float: right;
	width: 11.78571em;
	margin: 0.57143em 0.85714em 0 -10.35714em;
	padding: 0.14286em 0 0.21429em;
	border: 0;
	border-bottom: 1px solid #ffffff;
	border-radius: 0;
	font-size: inherit;
	background: none;
	box-shadow: none;
	transition: margin-left 0.2s ease-out;
}
.main-navigation-search:hover,
.main-navigation-search.focus {
	margin-right: -1px;
	border: 1px solid #bbbbbb;
}
.main-navigation-search:hover input,
.main-navigation-search.focus input {
	margin-left: 0.85714em;
	border-color: #bbbbbb;
	box-shadow: none;
}
.main-navigation-search:hover:after,
.main-navigation-search.focus:after {
	content: none;
}
@media screen and (max-width: 1280px) {
	.main-navigation-search {
		margin-right: -1px;
		border: 1px solid #bbbbbb;
	}
	.main-navigation-search input {
		margin-left: 0.85714em;
		border-color: #bbbbbb;
		box-shadow: none;
	}
	.main-navigation-search:after {
		content: none;
	}
}
.main-navigation-search button {
	position: absolute;
	top: 0;
	right: 0;
	width: 3.57143em;
	height: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	color: #333333;
	text-align: left;
	text-indent: -99em;
	text-shadow: none;
	line-height: 0;
	background: none;
	box-shadow: none;
}
.main-navigation-search button:after {
	font: 1.14286em/1 "RockSolid Icons";
	content: "\e0cb";
	-webkit-font-smoothing: antialiased;
	font-smoothing: antialiased;
	text-rendering: geometricPrecision;
	text-indent: 0;
	display: inline-block;
	position: relative;
	display: block;
	text-align: center;
}
.main-navigation-search button:hover,
.main-navigation-search button:focus {
	color: #963707;
}

.main-navigation-mobile-open {
	position: absolute;
	top: 41px;
	top: calc(41px + var(--safe-area-top));
	left: 6.66667%;
	left: calc(6.66667% + var(--safe-area-left));
	width: 44px;
	height: 39px;
	margin: -20px 0 0 -11px;
	padding: 11px;
	display: none;
	z-index: 200;
	text-indent: -99em;
	line-height: 0;
}
.main-navigation-mobile-open:after {
	content: "";
	display: block;
	height: 3px;
	border-radius: 2px;
	background: #333333;
	box-shadow: 0 7px #333333, 0 14px #333333;
}
@media screen and (max-width: 900px) {
	.main-navigation-mobile-open {
		display: block;
	}
}

.main-navigation-mobile-close {
	position: absolute;
	top: 0;
	right: -17.64706%;
	display: none;
	width: 17.64706%;
	height: 100%;
	overflow: hidden;
	margin: 0;
	padding: 0;
	border: 0 !important;
	text-indent: -99em;
	background: none !important;
	box-shadow: none !important;
}
.is-active > .main-navigation-mobile-close {
	display: block;
}

.main-navigation-mobile {
	/* Hide mobile navigation by default */
	display: none;
	padding: 0;
	padding-top: var(--safe-area-top);
	padding-bottom: var(--safe-area-bottom);
	padding-left: var(--safe-area-left);
	border-top: 1px solid #bbbbbb;
	color: #333333;
	background: #eeeeee;
}
@media screen and (max-width: 900px) {
	.main-navigation-mobile {
		display: block;
	}
}
.modernizr-js .main-navigation-mobile {
	display: none;
}
.main-navigation-mobile.is-enabled {
	position: absolute;
	top: 0;
	left: -85%;
	z-index: 201;
	width: 85%;
	min-height: 100%;
	transition: left 0.2s ease-out;
}
@media screen and (max-width: 900px) {
	.main-navigation-mobile.is-enabled {
		display: block;
	}
}
.modernizr-csstransforms3d .main-navigation-mobile.is-enabled {
	left: 0;
	transform: translate3d(-100%, 0, 0);
	transition: transform 0.2s ease-out;
}
.main-navigation-mobile.is-active {
	left: 0;
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
}
.modernizr-csstransforms3d .main-navigation-mobile.is-active {
	transform: translate3d(0, 0, 0);
}
.main-navigation-mobile ul {
	display: block;
	margin: 0;
	padding: 0;
}
.main-navigation-mobile ul ul {
	background: #eeeeee;
	box-shadow: inset 0 40px 40px -20px rgba(0, 0, 0, 0.04), inset 0 -40px 40px -20px rgba(0, 0, 0, 0.04);
}
.main-navigation-mobile .is-collapsed > ul {
	display: none;
}
.main-navigation-mobile li {
	position: relative;
	display: block;
}
.main-navigation-mobile li:before {
	content: none;
}
.main-navigation-mobile a,
.main-navigation-mobile strong,
.main-navigation-mobile span.active,
.main-navigation-mobile span.trail,
.main-navigation-mobile span.forward {
	display: block;
	padding: 0.64286em 0.92857em 0.57143em;
	border-bottom: 1px solid #bbbbbb;
	color: inherit;
	background-color: #eeeeee;
	box-shadow: inset 0 1px rgba(255, 255, 255, 0.05);
	transition: background-color 0.6s ease-out;
}
.main-navigation-mobile a:before,
.main-navigation-mobile strong:before,
.main-navigation-mobile span.active:before,
.main-navigation-mobile span.trail:before,
.main-navigation-mobile span.forward:before {
	margin-right: 0.42857em;
}
.main-navigation-mobile a:hover,
.main-navigation-mobile a:focus,
.main-navigation-mobile strong:hover,
.main-navigation-mobile strong:focus,
.main-navigation-mobile span.active:hover,
.main-navigation-mobile span.active:focus,
.main-navigation-mobile span.trail:hover,
.main-navigation-mobile span.trail:focus,
.main-navigation-mobile span.forward:hover,
.main-navigation-mobile span.forward:focus {
	outline: none;
	text-decoration: none;
	background-color: #e1e1e1;
	transition: background-color 0.2s ease-out;
}
.main-navigation-mobile a.active,
.main-navigation-mobile a.trail,
.main-navigation-mobile strong.active,
.main-navigation-mobile strong.trail,
.main-navigation-mobile strong.forward,
.main-navigation-mobile span.active,
.main-navigation-mobile span.trail,
.main-navigation-mobile span.forward {
	font-weight: bold;
}
.main-navigation-mobile a.active,
.main-navigation-mobile strong.active,
.main-navigation-mobile span.active {
	background-color: #ffffff;
	box-shadow: inset 0 0 5px #eeeeee;
}
.main-navigation-mobile li li {
	color: #000000;
}
.main-navigation-mobile li li a,
.main-navigation-mobile li li strong,
.main-navigation-mobile li li span.active,
.main-navigation-mobile li li span.trail,
.main-navigation-mobile li li span.forward {
	padding-left: 1.85714em;
}
.main-navigation-mobile li li li a,
.main-navigation-mobile li li li strong,
.main-navigation-mobile li li li span.active,
.main-navigation-mobile li li li span.trail,
.main-navigation-mobile li li li span.forward {
	padding-left: 2.78571em;
}
.main-navigation-mobile li li li li a,
.main-navigation-mobile li li li li strong,
.main-navigation-mobile li li li li span.active,
.main-navigation-mobile li li li li span.trail,
.main-navigation-mobile li li li li span.forward {
	padding-left: 3.71429em;
}
.main-navigation-mobile li li li li li a,
.main-navigation-mobile li li li li li strong,
.main-navigation-mobile li li li li li span.active,
.main-navigation-mobile li li li li li span.trail,
.main-navigation-mobile li li li li li span.forward {
	padding-left: 4.64286em;
}
.main-navigation-mobile .main-navigation-mobile-expand {
	position: absolute;
	top: 0.21429em;
	right: 0;
	overflow: hidden;
	margin: 0;
	padding: 0.57143em 0.92857em;
	border: solid transparent;
	border-width: 0.21429em 0;
	box-shadow: inset 1px 0 #dadada;
	border-radius: 0;
	outline: none;
	line-height: 0;
	color: inherit;
	text-indent: -99em;
	text-shadow: none;
	background: none;
}
.main-navigation-mobile .main-navigation-mobile-expand:after {
	font: 1.14286em/1 "RockSolid Icons";
	content: "\e009";
	-webkit-font-smoothing: antialiased;
	font-smoothing: antialiased;
	text-rendering: geometricPrecision;
	text-indent: 0;
	display: inline-block;
	position: relative;
	display: block;
}
.main-navigation-mobile .is-expanded > .main-navigation-mobile-expand:after {
	content: "\e00c";
}

.main-navigation-mobile-search {
	position: relative;
	margin: 5%;
}
.main-navigation-mobile-search input,
.main-navigation-mobile-search input:hover,
.main-navigation-mobile-search input:focus {
	width: 100%;
	border: 1px solid #bbbbbb;
	background: transparent;
	box-shadow: inset 0 1px rgba(255, 255, 255, 0.05);
}
.main-navigation-mobile-search button {
	position: absolute;
	top: 0.07143em;
	right: 0;
	width: 3.57143em;
	height: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	text-align: left;
	text-indent: -99em;
	text-shadow: none;
	line-height: 0;
	background: none;
	box-shadow: none;
}
.main-navigation-mobile-search button:after {
	font: 1.14286em/1 "RockSolid Icons";
	content: "\e0cb";
	-webkit-font-smoothing: antialiased;
	font-smoothing: antialiased;
	text-rendering: geometricPrecision;
	text-indent: 0;
	display: inline-block;
	position: relative;
	display: block;
	text-align: center;
}

.main-navigation-mobile-icons.main-navigation-mobile-icons {
	margin: 1em 0;
	text-align: center;
}
.main-navigation-mobile-icons.main-navigation-mobile-icons li {
	display: inline;
	padding: 0;
}
.main-navigation-mobile-icons.main-navigation-mobile-icons a {
	display: inline-block;
	width: 2.85714em;
	height: 2.85714em;
	overflow: hidden;
	padding: 0;
	border: 0;
	border-radius: 0;
	box-shadow: none;
}
.main-navigation-mobile-icons.main-navigation-mobile-icons a:before {
	font-size: 1.28571em;
	line-height: 2.22278;
	margin: 0 0 100%;
	color: #333333 !important;
}
.main-navigation-mobile-icons.main-navigation-mobile-icons a:hover:before {
	color: inherit !important;
}

.tagline {
	zoom: 1;
	border-bottom: 1px solid #bbbbbb;
	background: #ffffff;
}
.tagline:before {
	content: "";
	display: table;
}
.tagline:after {
	content: "";
	display: table;
	clear: both;
}
.tagline .page-title {
	float: left;
	font-size: 20px;
	font-weight: normal;
	margin-top: 1.15789em;
}
@media screen and (max-width: 900px) {
	.tagline .page-title {
		float: none;
		text-align: center;
	}
}
.tagline .mod_breadcrumb {
	float: right;
	margin: 0;
	padding: 2.15385em 0 1.84615em;
}
@media screen and (max-width: 900px) {
	.tagline .mod_breadcrumb {
		float: none;
		margin: 1.69231em 0;
		padding: 0;
		text-align: center;
	}
}
.tagline .media > figure,
.tagline .content-image > figure,
.tagline .image_container {
	display: block;
	clear: both;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	box-shadow: none;
}
.tagline img {
	display: block;
}
.tagline-no-border .tagline {
	border: 0;
}

.tagline-inner {
	position: relative;
	/* clearfix */
	overflow: hidden;
	color: #333333;
	transform: translateZ(0);
}

.content-wrapper {
	zoom: 1;
}
.content-wrapper:before {
	content: "";
	display: table;
}
.content-wrapper:after {
	content: "";
	display: table;
	clear: both;
}
@media screen and (max-width: 1600px) {
	.content-wrapper {
		padding-right: var(--safe-area-right);
		padding-left: var(--safe-area-left);
	}
}
.tao-fullwidth .content-wrapper {
	max-width: none;
	padding-right: 0;
	padding-left: 0;
}

.centered-wrapper {
	zoom: 1;
	position: relative;
	clear: both;
	background: 50% 50% no-repeat;
	background-size: cover;
}
.centered-wrapper:before {
	content: "";
	display: table;
}
.centered-wrapper:after {
	content: "";
	display: table;
	clear: both;
}
.centered-wrapper.-border-top {
	border-top: 1px solid #bbbbbb;
}
.centered-wrapper.-border-bottom {
	border-bottom: 1px solid #bbbbbb;
}
.centered-wrapper.-color-inverted {
	color: #ffffff;
}
.centered-wrapper.-highlight-color {
	background-color: #b8440a;
}
.centered-wrapper.-background-color-1 {
	background-color: #555555;
}
.centered-wrapper.-background-color-2 {
	background-color: #eeeeee;
}
.centered-wrapper.-small {
	min-height: 300px;
}
@media screen and (max-width: 900px) {
	.centered-wrapper.-small {
		min-height: 200px;
	}
}
.centered-wrapper.-medium {
	min-height: 600px;
}
@media screen and (max-width: 900px) {
	.centered-wrapper.-medium {
		min-height: 400px;
	}
}
.centered-wrapper.-large {
	min-height: 900px;
}
@media screen and (max-width: 900px) {
	.centered-wrapper.-large {
		min-height: 600px;
	}
}
.centered-wrapper.-background-mousemove,
.centered-wrapper.-background-mousemove-inverted,
.centered-wrapper.-background-parallax {
	overflow: hidden;
}

.centered-wrapper-background {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	overflow: hidden;
	background: 50% 50% no-repeat;
	background-size: cover;
}
.centered-wrapper-background video {
	/* Change this to `object-fit: cover;` once all browsers support it, */
	/* see http://stackoverflow.com/a/20851590 */
	position: absolute;
	top: 50%;
	left: 50%;
	min-width: 100%;
	min-height: 100%;
	transform: translate(-50%, -50%);
}
.-background-mousemove > .centered-wrapper-background,
.-background-mousemove-inverted > .centered-wrapper-background {
	right: -12%;
}

.centered-wrapper-inner {
	position: relative;
}
.centered-wrapper-inner.-fullwidth {
	max-width: none;
	margin: 0;
}

/* ===========================================
 * Content
 * ======================================== */
h1,
h2 {
	line-height: 1.3;
}

h3,
h4,
h5,
h6 {
	line-height: 1.5;
	font-weight: normal;
}

.main-content {
	float: right;
	width: 59.25926%;
	margin: 1.5em 7.40741% 3.75em 0;
}
@media screen and (max-width: 1280px) {
	.main-content {
		float: none;
		width: auto;
		margin-right: 5.55556%;
		margin-left: 5.55556%;
	}
}
.tao-no-sidebar .main-content {
	float: none;
	width: auto;
	margin-left: 3.57143%;
	margin-right: 3.57143%;
}
@media screen and (max-width: 1280px) {
	.tao-no-sidebar .main-content {
		margin-right: 5.55556%;
		margin-left: 5.55556%;
	}
}
.tao-sidebar-right .main-content {
	float: left;
	margin-right: 0;
	margin-left: 7.40741%;
}
@media screen and (max-width: 1280px) {
	.tao-sidebar-right .main-content {
		float: none;
		margin-right: 5.55556%;
		margin-left: 5.55556%;
	}
}
.tao-fullwidth .main-content {
	margin: 0;
}
.tao-3-columns .main-content {
	width: 48.14815%;
	margin-right: 25.92593%;
}
@media screen and (max-width: 1280px) {
	.tao-3-columns .main-content {
		width: auto;
		margin-right: 5.55556%;
	}
}
.main-content p,
.main-content ul,
.main-content ol,
.main-content table,
.main-content form,
.main-content fieldset {
	margin-top: 0.75em;
	margin-bottom: 1.5em;
}
.main-content p > span[style] {
	padding: 0 0.1875em;
}
.main-content h1,
.main-content h2,
.main-content h3,
.main-content h4,
.main-content h5,
.main-content h6 {
	margin-top: 0.75em;
	margin-bottom: 0.3em;
	font-weight: normal;
}
.main-content h1 {
	font-size: 2rem;
	font-weight: bold;
	color: #333333;
}
.main-content .-color-inverted h1 {
	color: #ffffff;
}
.main-content h2 {
	font-size: 2rem;
	color: #333333;
}
.main-content .-color-inverted h2 {
	color: #333333;
}
.main-content h3 {
	font-size: 1.25rem;
}
.main-content h4 {
	font-size: 1rem;
}
.main-content h5 {
	font-size: 1rem;
	line-height: 1.50056;
}
.main-content h6 {
	font-size: 1rem;
	line-height: 1.50063;
	letter-spacing: 0.0625em;
	color: #333333;
	text-transform: uppercase;
}
.-color-inverted .main-content h6 {
	color: #333333;
}
.main-content ul,
.main-content ol {
	padding-left: 1.25em;
}
.main-content ul li[data-icon],
.main-content ul li[class^="icon-"],
.main-content ul li[class*=" icon-"],
.main-content ol li[data-icon],
.main-content ol li[class^="icon-"],
.main-content ol li[class*=" icon-"] {
	padding-left: 0.25em;
	list-style: none;
}
.main-content ul li[data-icon]:before,
.main-content ul li[class^="icon-"]:before,
.main-content ul li[class*=" icon-"]:before,
.main-content ol li[data-icon]:before,
.main-content ol li[class^="icon-"]:before,
.main-content ol li[class*=" icon-"]:before {
	left: -1.5em;
	width: 0;
	margin-right: 0;
	color: #b8440a;
}
.main-content ul {
	list-style: disc;
}
.main-content ul ul {
	margin-top: 0;
}
.main-content ol {
	padding-left: 1.25em;
	list-style: decimal;
}
.main-content ol ol,
.main-content ol ul {
	margin-top: 0;
}
.main-content ol ol {
	padding-left: 1.5em;
	list-style: upper-alpha;
}
.main-content ol ol ol {
	list-style: lower-roman;
}
.main-content ol ol ol ol {
	list-style: lower-alpha;
}
.main-content blockquote {
	position: relative;
	margin: 1.28571em 0 1.28571em 1.90476em;
	font-size: 1.3125em;
	line-height: 1.33381;
	color: #333333;
}
.-color-inverted .main-content blockquote {
	color: #333333;
}
@media screen and (max-width: 900px) {
	.main-content blockquote {
		margin-left: 12.5%;
	}
}
.main-content blockquote small,
.main-content blockquote i,
.main-content blockquote em {
	font-size: 0.7619em;
	line-height: 1.5625;
	font-style: normal;
}
.main-content blockquote:before {
	content: "\201c";
	position: absolute;
	top: 0;
	left: -0.47619em;
	margin: 0.47619em 0 0 -0.08333em;
	font-size: 4em;
	font-weight: bold;
	line-height: 0;
	opacity: 0.5;
}
@media screen and (max-width: 900px) {
	.main-content blockquote:before {
		left: -12.5%;
		margin-left: -0.11905em;
	}
}
.main-content img {
	max-width: 100%;
	height: auto;
}
.main-content .gm-style img {
	max-width: none;
}
.main-content .rsts-main {
	margin: 24px 0;
}
.main-content .main-slider {
	margin: 0;
}

/* ===========================================
 * Forms
 * ======================================== */
form h1,
form h2,
form h3,
form h4,
form h5,
form h6 {
	clear: both;
}
form .widget {
	position: relative;
	clear: both;
}
form p b.error,
form p.error {
	margin: 0;
	display: block;
	color: #b8440a;
}

input,
textarea {
	padding: 0.85714em 1.35714em;
	line-height: normal;
	border: 1px solid #bbbbbb;
	border-bottom-color: #aeaeae;
	border-radius: 0;
	font-size: 0.875em;
	color: inherit;
	background: #ffffff;
}
.valid input,
.valid textarea {
	border-color: #b5da44;
}
.invalid input,
input.error,
.invalid textarea,
textarea.error {
	border-color: #b8440a;
}
input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
	/* multiple rules, because user agents are required to ignore a rule with an unknown selector */
	color: #98a0ab;
}
input:-moz-placeholder,
textarea:-moz-placeholder {
	color: #98a0ab;
}
input:-ms-input-placeholder,
textarea:-ms-input-placeholder {
	color: #98a0ab;
}
input::placeholder,
textarea::placeholder {
	color: #98a0ab;
}
input:hover,
textarea:hover {
	border-color: #aeaeae #aeaeae #a4a4a4;
	box-shadow: 0 0 6px rgba(0, 0, 0, 0.1);
}
input:focus,
textarea:focus {
	border-color: #b8440a;
}
.-color-inverted input,
.-color-inverted textarea {
	background: #333333;
}

input[type="text"],
input[type="search"],
input[type="email"],
input[type="password"],
input[type="url"] {
	outline: none;
}
input[type="checkbox"],
input[type="radio"],
input[type="image"] {
	width: auto !important;
	height: auto !important;
	margin: 0;
	padding: 0;
	border: 0;
	box-shadow: none;
}
input[type="checkbox"] {
	vertical-align: middle;
	-webkit-appearance: checkbox;
	-moz-appearance: checkbox;
	appearance: checkbox;
}
input[type="radio"] {
	vertical-align: middle;
	-webkit-appearance: radio;
	-moz-appearance: radio;
	appearance: radio;
	background: none;
}

input[type="file"] {
	height: auto;
	padding: 0;
	border: 0;
	/* IE8 and IE9 */
	border: 1px solid #bbbbbb \9;
	background: none;
	box-shadow: none;
}

button,
input[type="submit"] {
	margin-top: 1.125em;
}

textarea {
	height: 200px;
	resize: vertical;
	line-height: 1.5;
	outline: none;
}

fieldset {
	margin: 1.125em 0;
	border: 1px solid #bbbbbb;
}
fieldset legend {
	padding: 0 0.3125em;
}
fieldset + br {
	/* Kill <br> that Contao injects */
	display: none;
}

.main-content form .widget {
	margin-top: 1.125em;
	margin-bottom: 1.125em;
}
.main-content label {
	display: block;
	margin-bottom: 0.35714em;
	font-size: 0.875em;
	color: #333333;
}
.-color-inverted .main-content label {
	color: #333333;
}
.main-content label .mandatory {
	margin-left: 0.14286em;
	color: #b8440a;
}
.main-content input[type="checkbox"] + label {
	display: inline;
}
.main-content fieldset p {
	margin: 0;
}
.main-content fieldset label {
	display: inline;
	margin: 0;
}
.main-content fieldset label:after {
	/* add line break after label */
	content: "\A";
	white-space: pre;
}
.main-content input,
.main-content textarea,
.main-content select,
.main-content fieldset {
	width: 75%;
}
@media screen and (max-width: 900px) {
	.main-content input,
	.main-content textarea,
	.main-content select,
	.main-content fieldset {
		width: 100%;
	}
}
.main-content input[type="submit"] {
	width: auto;
}
@media screen and (max-width: 900px) {
	.main-content input[type="submit"] {
		width: 100%;
	}
}

.explanation p,
.captcha_text p {
	margin: 0;
}

.explanation {
	font-size: 0.875em;
	margin: -0.85714em 0 1.71429em;
	color: #333333;
}
.-color-inverted .explanation {
	color: #333333;
}

.captcha_text {
	display: block;
}
label .captcha_text {
	display: inline;
}

.sidebar form input,
.sidebar form textarea,
.sidebar form select,
.sidebar form fieldset,
.sidebar form button {
	width: 100%;
}
.sidebar form label {
	display: block;
	margin-bottom: 0.3125em;
	font-size: 1em;
}
.sidebar form input[type="checkbox"],
.sidebar form input[type="radio"],
.sidebar form input[type="image"] {
	width: auto;
}

/* ===========================================
 * Content elements
 * ======================================== */
.media > figure,
.content-image > figure,
.content-gallery figure,
.image_container {
	position: relative;
	display: inline-block;
	max-width: 100%;
}
.media > figure.float_above,
.content-image > figure.float_above,
.content-gallery figure.float_above,
.image_container.float_above {
	margin-top: 1.5em;
}
.media > figure.float_below,
.content-image > figure.float_below,
.content-gallery figure.float_below,
.image_container.float_below {
	margin-bottom: 1.5em;
}
.media > figure img,
.content-image > figure img,
.content-gallery figure img,
.image_container img {
	display: block;
	width: 100%;
	height: auto;
}
.media > figure a,
.content-image > figure a,
.content-gallery figure a,
.image_container a {
	position: relative;
	display: block;
	overflow: hidden;
	/* Fixes IE bug */
	text-decoration: none;
}
.media > figure a:hover:before, .media > figure a:focus:before,
.content-image > figure a:hover:before,
.content-image > figure a:focus:before,
.content-gallery figure a:hover:before,
.content-gallery figure a:focus:before,
.image_container a:hover:before,
.image_container a:focus:before {
}
.media > figure a:hover:after, .media > figure a:focus:after,
.content-image > figure a:hover:after,
.content-image > figure a:focus:after,
.content-gallery figure a:hover:after,
.content-gallery figure a:focus:after,
.image_container a:hover:after,
.image_container a:focus:after {
}
.media > figure a:hover img, .media > figure a:focus img,
.content-image > figure a:hover img,
.content-image > figure a:focus img,
.content-gallery figure a:hover img,
.content-gallery figure a:focus img,
.image_container a:hover img,
.image_container a:focus img {
}
.media > figure figcaption, .media > figure .caption,
.content-image > figure figcaption,
.content-image > figure .caption,
.content-gallery figure figcaption,
.content-gallery figure .caption,
.image_container figcaption,
.image_container .caption {
	/* overwrite elements style attribute */
	width: 100% !important;
	padding: 0.42857em 0 0;
	font-size: 0.875em;
	color: #333333;
}

.no-border.content-gallery figure,
.no-border.media > figure,
.no-border .media > figure,
.no-border.content-image > figure,
.no-border .content-image > figure,
.no-border.image_container,
.no-border .image_container {
	padding: 0;
	border: 0;
	box-shadow: none;
	background: none;
}

.media--below {
	display: flex;
	flex-direction: column;
	align-items: start;
}
.media--below > figure {
	order: 1;
}

.media--right > figure,
.media--left > figure,
.image_container.float_right,
.image_container.float_left {
	float: right;
	width: 37.5% !important;
	margin: 1.5em 0 1.125em 6.25%;
}
@media screen and (max-width: 900px) {
	.media--right > figure,
	.media--left > figure,
	.image_container.float_right,
	.image_container.float_left {
		margin-left: 0;
		float: none !important;
		width: auto !important;
		width: auto !important;
	}
}
.tao-no-sidebar .media--right > figure, .tao-no-sidebar
.media--left > figure, .tao-no-sidebar
.image_container.float_right, .tao-no-sidebar
.image_container.float_left {
	margin: 0.5em 0 1em 4%;
	width: 24% !important;
}
@media screen and (max-width: 1280px) {
	.tao-no-sidebar .media--right > figure, .tao-no-sidebar
	.media--left > figure, .tao-no-sidebar
	.image_container.float_right, .tao-no-sidebar
	.image_container.float_left {
		margin-left: 6.25%;
		width: 37.5% !important;
	}
}
@media screen and (max-width: 900px) {
	.tao-no-sidebar .media--right > figure, .tao-no-sidebar
	.media--left > figure, .tao-no-sidebar
	.image_container.float_right, .tao-no-sidebar
	.image_container.float_left {
		margin-left: 0;
		width: auto !important;
	}
}
.no-resize .media--right > figure, .tao-no-sidebar .no-resize .media--right > figure, .media--right > figure.no-resize, .tao-no-sidebar .media--right > figure.no-resize, .no-resize
.media--left > figure, .tao-no-sidebar .no-resize
.media--left > figure,
.media--left > figure.no-resize, .tao-no-sidebar
.media--left > figure.no-resize, .no-resize
.image_container.float_right, .tao-no-sidebar .no-resize
.image_container.float_right,
.image_container.float_right.no-resize, .tao-no-sidebar
.image_container.float_right.no-resize, .no-resize
.image_container.float_left, .tao-no-sidebar .no-resize
.image_container.float_left,
.image_container.float_left.no-resize, .tao-no-sidebar
.image_container.float_left.no-resize {
	width: auto !important;
}

.media--left > figure,
.image_container.float_left {
	float: left;
	margin: 0.5em 6.25% 1em 0;
}
@media screen and (max-width: 900px) {
	.media--left > figure,
	.image_container.float_left {
		margin-right: 0;
	}
}
.tao-no-sidebar .media--left > figure, .tao-no-sidebar
.image_container.float_left {
	margin: 0.5em 3.84615% 1em 0;
}
@media screen and (max-width: 1280px) {
	.tao-no-sidebar .media--left > figure, .tao-no-sidebar
	.image_container.float_left {
		margin-right: 6.25%;
	}
}
@media screen and (max-width: 900px) {
	.tao-no-sidebar .media--left > figure, .tao-no-sidebar
	.image_container.float_left {
		margin-right: 0;
	}
}

.no-resize .media:not(.media--left):not(.media--right) > figure img, .media:not(.media--left):not(.media--right) > figure.no-resize img, .no-resize
.image_container:not(.float_right):not(.float_left) img,
.image_container:not(.float_right):not(.float_left).no-resize img {
	width: auto;
	max-width: 100%;
}

.ce_youtube-wrapper,
.ce_vimeo-wrapper {
	position: relative;
	margin: 1.5em 0;
	/* ratio 16 to 9 */
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;
}
.ce_youtube-wrapper iframe,
.ce_youtube-wrapper object,
.ce_youtube-wrapper embed,
.ce_vimeo-wrapper iframe,
.ce_vimeo-wrapper object,
.ce_vimeo-wrapper embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.mejs__video:not(.mejs__container-fullscreen),
.mejs__audio:not(.mejs__container-fullscreen) {
	margin: 1.25em 0;
}
.mejs__video:not(.mejs__container-fullscreen) video,
.mejs__audio:not(.mejs__container-fullscreen) video {
	object-fit: cover;
}
.mejs__video button,
.mejs__audio button {
	-webkit-appearance: button;
	-moz-appearance: button;
	appearance: button;
	border-radius: 0;
	box-shadow: none;
}

.content-player video,
.content-player audio,
.video_container video,
.audio_container audio {
	display: block;
	width: 100%;
}

.content-player video,
.video_container video {
	height: auto;
}

.content-player > figure,
.content-youtube > figure,
.content-vimeo > figure,
.video_container {
	margin: 1.25em 0;
}

.content-player iframe,
.content-youtube iframe,
.content-vimeo iframe,
.video_container iframe {
	border: 0;
}
.content-player .aspect,
.content-player .responsive,
.content-youtube .aspect,
.content-youtube .responsive,
.content-vimeo .aspect,
.content-vimeo .responsive,
.video_container .aspect,
.video_container .responsive {
	position: relative;
	padding-bottom: 56.25%;
}
.content-player .aspect.aspect--16\:9, .content-player .aspect.ratio-169,
.content-player .responsive.aspect--16\:9,
.content-player .responsive.ratio-169,
.content-youtube .aspect.aspect--16\:9,
.content-youtube .aspect.ratio-169,
.content-youtube .responsive.aspect--16\:9,
.content-youtube .responsive.ratio-169,
.content-vimeo .aspect.aspect--16\:9,
.content-vimeo .aspect.ratio-169,
.content-vimeo .responsive.aspect--16\:9,
.content-vimeo .responsive.ratio-169,
.video_container .aspect.aspect--16\:9,
.video_container .aspect.ratio-169,
.video_container .responsive.aspect--16\:9,
.video_container .responsive.ratio-169 {
	padding-bottom: 56.25%;
}
.content-player .aspect.aspect--16\:10, .content-player .aspect.ratio-1610,
.content-player .responsive.aspect--16\:10,
.content-player .responsive.ratio-1610,
.content-youtube .aspect.aspect--16\:10,
.content-youtube .aspect.ratio-1610,
.content-youtube .responsive.aspect--16\:10,
.content-youtube .responsive.ratio-1610,
.content-vimeo .aspect.aspect--16\:10,
.content-vimeo .aspect.ratio-1610,
.content-vimeo .responsive.aspect--16\:10,
.content-vimeo .responsive.ratio-1610,
.video_container .aspect.aspect--16\:10,
.video_container .aspect.ratio-1610,
.video_container .responsive.aspect--16\:10,
.video_container .responsive.ratio-1610 {
	padding-bottom: 62.5%;
}
.content-player .aspect.aspect--21\:9, .content-player .aspect.ratio-219,
.content-player .responsive.aspect--21\:9,
.content-player .responsive.ratio-219,
.content-youtube .aspect.aspect--21\:9,
.content-youtube .aspect.ratio-219,
.content-youtube .responsive.aspect--21\:9,
.content-youtube .responsive.ratio-219,
.content-vimeo .aspect.aspect--21\:9,
.content-vimeo .aspect.ratio-219,
.content-vimeo .responsive.aspect--21\:9,
.content-vimeo .responsive.ratio-219,
.video_container .aspect.aspect--21\:9,
.video_container .aspect.ratio-219,
.video_container .responsive.aspect--21\:9,
.video_container .responsive.ratio-219 {
	padding-bottom: 42.85714%;
}
.content-player .aspect.aspect--4\:3, .content-player .aspect.ratio-43,
.content-player .responsive.aspect--4\:3,
.content-player .responsive.ratio-43,
.content-youtube .aspect.aspect--4\:3,
.content-youtube .aspect.ratio-43,
.content-youtube .responsive.aspect--4\:3,
.content-youtube .responsive.ratio-43,
.content-vimeo .aspect.aspect--4\:3,
.content-vimeo .aspect.ratio-43,
.content-vimeo .responsive.aspect--4\:3,
.content-vimeo .responsive.ratio-43,
.video_container .aspect.aspect--4\:3,
.video_container .aspect.ratio-43,
.video_container .responsive.aspect--4\:3,
.video_container .responsive.ratio-43 {
	padding-bottom: 75%;
}
.content-player .aspect.aspect--3\:2, .content-player .aspect.ratio-32,
.content-player .responsive.aspect--3\:2,
.content-player .responsive.ratio-32,
.content-youtube .aspect.aspect--3\:2,
.content-youtube .aspect.ratio-32,
.content-youtube .responsive.aspect--3\:2,
.content-youtube .responsive.ratio-32,
.content-vimeo .aspect.aspect--3\:2,
.content-vimeo .aspect.ratio-32,
.content-vimeo .responsive.aspect--3\:2,
.content-vimeo .responsive.ratio-32,
.video_container .aspect.aspect--3\:2,
.video_container .aspect.ratio-32,
.video_container .responsive.aspect--3\:2,
.video_container .responsive.ratio-32 {
	padding-bottom: 66.66667%;
}
.content-player .aspect iframe,
.content-player .aspect [data-splash-screen],
.content-player .aspect img,
.content-player .responsive iframe,
.content-player .responsive [data-splash-screen],
.content-player .responsive img,
.content-youtube .aspect iframe,
.content-youtube .aspect [data-splash-screen],
.content-youtube .aspect img,
.content-youtube .responsive iframe,
.content-youtube .responsive [data-splash-screen],
.content-youtube .responsive img,
.content-vimeo .aspect iframe,
.content-vimeo .aspect [data-splash-screen],
.content-vimeo .aspect img,
.content-vimeo .responsive iframe,
.content-vimeo .responsive [data-splash-screen],
.content-vimeo .responsive img,
.video_container .aspect iframe,
.video_container .aspect [data-splash-screen],
.video_container .aspect img,
.video_container .responsive iframe,
.video_container .responsive [data-splash-screen],
.video_container .responsive img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.content-player .aspect [data-splash-screen],
.content-player .responsive [data-splash-screen],
.content-youtube .aspect [data-splash-screen],
.content-youtube .responsive [data-splash-screen],
.content-vimeo .aspect [data-splash-screen],
.content-vimeo .responsive [data-splash-screen],
.video_container .aspect [data-splash-screen],
.video_container .responsive [data-splash-screen] {
	margin: 0;
	color: inherit;
}
.content-player .aspect [data-splash-screen] p,
.content-player .responsive [data-splash-screen] p,
.content-youtube .aspect [data-splash-screen] p,
.content-youtube .responsive [data-splash-screen] p,
.content-vimeo .aspect [data-splash-screen] p,
.content-vimeo .responsive [data-splash-screen] p,
.video_container .aspect [data-splash-screen] p,
.video_container .responsive [data-splash-screen] p {
	position: relative;
}

.content-gallery.content-gallery--cols-1 > ul > li,
.content-gallery > ul.cols_1 > li,
.ce_gallery.content-gallery--cols-1 > ul > li,
.ce_gallery > ul.cols_1 > li {
	width: 97%;
}
.content-gallery.content-gallery--cols-2 > ul > li,
.content-gallery > ul.cols_2 > li,
.ce_gallery.content-gallery--cols-2 > ul > li,
.ce_gallery > ul.cols_2 > li {
	width: 47.75%;
}
.content-gallery.content-gallery--cols-3 > ul > li,
.content-gallery > ul.cols_3 > li,
.ce_gallery.content-gallery--cols-3 > ul > li,
.ce_gallery > ul.cols_3 > li {
	width: 31.33333%;
}
.content-gallery.content-gallery--cols-4 > ul > li,
.content-gallery > ul.cols_4 > li,
.ce_gallery.content-gallery--cols-4 > ul > li,
.ce_gallery > ul.cols_4 > li {
	width: 23.125%;
}
.content-gallery.content-gallery--cols-5 > ul > li,
.content-gallery > ul.cols_5 > li,
.ce_gallery.content-gallery--cols-5 > ul > li,
.ce_gallery > ul.cols_5 > li {
	width: 18.2%;
}
.content-gallery.content-gallery--cols-6 > ul > li,
.content-gallery > ul.cols_6 > li,
.ce_gallery.content-gallery--cols-6 > ul > li,
.ce_gallery > ul.cols_6 > li {
	width: 14.91667%;
}
.content-gallery.content-gallery--cols-7 > ul > li,
.content-gallery > ul.cols_7 > li,
.ce_gallery.content-gallery--cols-7 > ul > li,
.ce_gallery > ul.cols_7 > li {
	width: 12.57143%;
}
.content-gallery.content-gallery--cols-8 > ul > li,
.content-gallery > ul.cols_8 > li,
.ce_gallery.content-gallery--cols-8 > ul > li,
.ce_gallery > ul.cols_8 > li {
	width: 10.8125%;
}
.content-gallery.content-gallery--cols-9 > ul > li,
.content-gallery > ul.cols_9 > li,
.ce_gallery.content-gallery--cols-9 > ul > li,
.ce_gallery > ul.cols_9 > li {
	width: 9.44444%;
}
.content-gallery.content-gallery--cols-10 > ul > li,
.content-gallery > ul.cols_10 > li,
.ce_gallery.content-gallery--cols-10 > ul > li,
.ce_gallery > ul.cols_10 > li {
	width: 8.35%;
}
.content-gallery.content-gallery--cols-11 > ul > li,
.content-gallery > ul.cols_11 > li,
.ce_gallery.content-gallery--cols-11 > ul > li,
.ce_gallery > ul.cols_11 > li {
	width: 7.45455%;
}
.content-gallery.content-gallery--cols-12 > ul > li,
.content-gallery > ul.cols_12 > li,
.ce_gallery.content-gallery--cols-12 > ul > li,
.ce_gallery > ul.cols_12 > li {
	width: 6.70833%;
}
@media screen and (max-width: 900px) {
	.content-gallery.content-gallery > ul > li, .content-gallery.ce_gallery > ul > li,
	.ce_gallery.content-gallery > ul > li,
	.ce_gallery.ce_gallery > ul > li {
		/* doubled class for specificity */
		width: auto;
	}
}
.content-gallery.no-resize > ul > li,
.ce_gallery.no-resize > ul > li {
	width: auto;
}
.main-content .content-gallery, .main-content
.ce_gallery {
	margin: 1.5em 0;
}
.content-gallery > ul,
.ce_gallery > ul {
	zoom: 1;
	display: flex;
	flex-wrap: wrap;
	margin: 0 -1.545% !important;
	padding: 0 0 1.545% 0 !important;
	list-style: none !important;
}
.content-gallery > ul:before,
.ce_gallery > ul:before {
	content: "";
	display: table;
}
.content-gallery > ul:after,
.ce_gallery > ul:after {
	content: "";
	display: table;
	clear: both;
}
.content-gallery > ul > li,
.ce_gallery > ul > li {
	float: left;
	width: 23.125%;
	margin: 1.5% 0 0 1.5%;
}
@media screen and (max-width: 900px) {
	.content-gallery > ul > li,
	.ce_gallery > ul > li {
		margin-right: 1.5%;
		margin-bottom: 1.5%;
	}
}
.content-gallery > ul > li > figure,
.content-gallery > ul > li > .image_container,
.ce_gallery > ul > li > figure,
.ce_gallery > ul > li > .image_container {
	display: block;
	width: 100%;
}
.content-gallery img,
.ce_gallery img {
	display: block;
	width: 100%;
	height: auto;
}

.content-downloads,
.sidebar .content-downloads,
.enclosure,
.sidebar .enclosure,
.ce_downloads,
.sidebar .ce_downloads {
	margin: 1.6875em 0;
	padding: 1.25em 1.875em;
	border: 1px solid #bbbbbb;
	border-radius: 0;
}
.content-downloads h1, .content-downloads h2, .content-downloads h3, .content-downloads h4, .content-downloads h5, .content-downloads h6,
.sidebar .content-downloads h1,
.sidebar .content-downloads h2,
.sidebar .content-downloads h3,
.sidebar .content-downloads h4,
.sidebar .content-downloads h5,
.sidebar .content-downloads h6,
.enclosure h1,
.enclosure h2,
.enclosure h3,
.enclosure h4,
.enclosure h5,
.enclosure h6,
.sidebar .enclosure h1,
.sidebar .enclosure h2,
.sidebar .enclosure h3,
.sidebar .enclosure h4,
.sidebar .enclosure h5,
.sidebar .enclosure h6,
.ce_downloads h1,
.ce_downloads h2,
.ce_downloads h3,
.ce_downloads h4,
.ce_downloads h5,
.ce_downloads h6,
.sidebar .ce_downloads h1,
.sidebar .ce_downloads h2,
.sidebar .ce_downloads h3,
.sidebar .ce_downloads h4,
.sidebar .ce_downloads h5,
.sidebar .ce_downloads h6 {
	margin: -1.75em -2.58333em 1.66667em;
	padding: 0.66667em 1.66667em;
	border-radius: 0 0 0 0;
	font-size: 0.75em;
	font-weight: bold;
	letter-spacing: 0.08333em;
	color: #ffffff;
	text-transform: uppercase;
	background: #333333;
}
.content-downloads h1:before, .content-downloads h2:before, .content-downloads h3:before, .content-downloads h4:before, .content-downloads h5:before, .content-downloads h6:before,
.sidebar .content-downloads h1:before,
.sidebar .content-downloads h2:before,
.sidebar .content-downloads h3:before,
.sidebar .content-downloads h4:before,
.sidebar .content-downloads h5:before,
.sidebar .content-downloads h6:before,
.enclosure h1:before,
.enclosure h2:before,
.enclosure h3:before,
.enclosure h4:before,
.enclosure h5:before,
.enclosure h6:before,
.sidebar .enclosure h1:before,
.sidebar .enclosure h2:before,
.sidebar .enclosure h3:before,
.sidebar .enclosure h4:before,
.sidebar .enclosure h5:before,
.sidebar .enclosure h6:before,
.ce_downloads h1:before,
.ce_downloads h2:before,
.ce_downloads h3:before,
.ce_downloads h4:before,
.ce_downloads h5:before,
.ce_downloads h6:before,
.sidebar .ce_downloads h1:before,
.sidebar .ce_downloads h2:before,
.sidebar .ce_downloads h3:before,
.sidebar .ce_downloads h4:before,
.sidebar .ce_downloads h5:before,
.sidebar .ce_downloads h6:before {
	font: 1.16667em/1 "RockSolid Icons";
	content: "\e06d";
	-webkit-font-smoothing: antialiased;
	font-smoothing: antialiased;
	text-rendering: geometricPrecision;
	text-indent: 0;
	display: inline-block;
	position: relative;
	top: 0.07143em;
	float: right;
}
.content-downloads ul, .content-downloads p,
.sidebar .content-downloads ul,
.sidebar .content-downloads p,
.enclosure ul,
.enclosure p,
.sidebar .enclosure ul,
.sidebar .enclosure p,
.ce_downloads ul,
.ce_downloads p,
.sidebar .ce_downloads ul,
.sidebar .ce_downloads p {
	margin: 0;
	padding: 0;
	list-style: none;
}

.swiper-button-prev.swiper-button-prev,
.swiper-button-next.swiper-button-next {
	-webkit-appearance: button;
	-moz-appearance: button;
	appearance: button;
	border: 0;
	border-radius: 0;
	text-shadow: none;
	box-shadow: none;
	background: transparent;
}

:root:root {
	--swiper-theme-color: #b8440a;
}

.ce_accordion {
	color: #333333;
}
.ce_accordion[data-icon],
.ce_accordion[class^="icon-"],
.ce_accordion[class*=" icon-"] {
	position: relative;
}
.ce_accordion[data-icon]:before,
.ce_accordion[class^="icon-"]:before,
.ce_accordion[class*=" icon-"]:before {
	position: absolute;
	top: 0.75em;
	left: 1em;
	z-index: 1;
	font-size: 1.25em;
}
.ce_accordion[data-icon] .toggler,
.ce_accordion[class^="icon-"] .toggler,
.ce_accordion[class*=" icon-"] .toggler {
	padding-left: 3.125em;
}
.ce_accordion .toggler {
	position: relative;
	/* collapse borders */
	margin-bottom: -2px;
	padding: 0.6875em 2.5em 0.8125em 1.25em;
	border: 1px solid #bbbbbb;
	border-radius: 0;
	outline: none;
	font-weight: bold;
	cursor: pointer;
	background: #ffffff;
}
.ce_accordion .toggler:after {
	font: 0.8125em/1 "RockSolid Icons";
	content: "\2b";
	-webkit-font-smoothing: antialiased;
	font-smoothing: antialiased;
	text-rendering: geometricPrecision;
	text-indent: 0;
	display: inline-block;
	position: relative;
	position: absolute;
	top: 1.38462em;
	right: 1.53846em;
}
.ce_accordion .toggler:hover {
	color: #b8440a;
	text-decoration: none;
}
.ce_accordion .toggler.ui-accordion-header-active:after {
	content: "\2212";
}
.ce_accordion + .ce_accordion .toggler {
	border-radius: 0 0 0 0;
}
.ce_accordion .accordion {
	zoom: 1;
	position: relative;
	/* collapse borders */
	margin-bottom: -2px;
	padding: 0.0625em 1.25em;
	border: 1px solid #bbbbbb;
	border-top-color: #dddddd;
	border-radius: 0 0 0 0;
	background: #e5e5e5;
}
.ce_accordion .accordion:before {
	content: "";
	display: table;
}
.ce_accordion .accordion:after {
	content: "";
	display: table;
	clear: both;
}

.content-accordion {
	color: #333333;
}
.content-accordion .handorgel__header {
	display: block;
	margin: 0;
	border: 1px solid #bbbbbb;
	/* collapse borders */
	margin-bottom: -1px;
	outline: none;
	font-size: inherit;
	font-weight: bold;
	text-transform: none;
	color: #333333;
	background: #ffffff;
}
.content-accordion .handorgel__header:first-of-type {
	border-top-left-radius: 0;
	border-top-right-radius: 0;
}
.content-accordion .handorgel__header:last-of-type:not(.handorgel__header--open) {
	border-bottom-right-radius: 0;
	border-bottom-left-radius: 0;
}
.content-accordion .handorgel__header__button {
	position: relative;
	display: block;
	width: 100%;
	padding: 0.6875em 2.5em 0.8125em 1.25em;
	margin: 0;
	border: none;
	background: #ffffff;
	border-radius: inherit;
	text-shadow: none;
	box-shadow: none;
	color: inherit;
	cursor: pointer;
	font-size: inherit;
	font-weight: inherit;
	text-transform: inherit;
	text-align: left;
}
.content-accordion .handorgel__header__button:hover,
.content-accordion .handorgel__header__button:focus-visible {
	outline: none;
	color: #b8440a;
}
.content-accordion .handorgel__header__button:after {
	font: 0.8125em/1 "RockSolid Icons";
	content: "\2b";
	-webkit-font-smoothing: antialiased;
	font-smoothing: antialiased;
	text-rendering: geometricPrecision;
	text-indent: 0;
	display: inline-block;
	position: relative;
	position: absolute;
	top: 1.38462em;
	right: 1.53846em;
}
.content-accordion .handorgel__header--open .handorgel__header__button:after {
	content: "\2212";
}
.content-accordion .handorgel__content {
	display: none;
	overflow: hidden;
	height: 0;
	/* collapse borders */
	margin-bottom: -1px;
	border: 1px solid #bbbbbb;
	border-top-color: #dddddd;
	background: #e5e5e5;
	transition: height 0.5s ease;
}
.content-accordion .handorgel__content:last-of-type {
	border-bottom-right-radius: 0;
	border-bottom-left-radius: 0;
}
.content-accordion .handorgel__content--open {
	display: block;
	-webkit-transition: height 0.5s ease;
}
.content-accordion .handorgel__content__inner {
	padding: 0.0625em 1.25em;
}

.icon-boxes {
	zoom: 1;
	margin: 2.75em 0;
}
.icon-boxes:before {
	content: "";
	display: table;
}
.icon-boxes:after {
	content: "";
	display: table;
	clear: both;
}
.icon-boxes > h1,
.icon-boxes > h2,
.icon-boxes > h3,
.icon-boxes > h4,
.icon-boxes > h5,
.icon-boxes > h6 {
	margin-top: 0;
	margin-bottom: 1em;
}

.icon-boxes-item {
	position: relative;
	display: block;
	font-size: 0.875em;
	color: #333333;
	text-align: center;
	text-decoration: none;
}
.icon-boxes-item.-align-left {
	text-align: left;
}
.icon-boxes-item.-align-right {
	text-align: right;
}
.icon-boxes-item.-color-inverted,
.-color-inverted .icon-boxes-item {
	color: #ffffff;
}
.icon-boxes-item.-color-inverted:before,
.icon-boxes-item.-color-inverted.-inverted-icon:before,
.-color-inverted .icon-boxes-item:before,
.-color-inverted .icon-boxes-item.-inverted-icon:before {
	border-color: #ffffff;
	color: #ffffff;
	background-color: transparent;
}
.icon-boxes-item.-color-inverted h3,
.-color-inverted .icon-boxes-item h3 {
	color: #ffffff;
}
.icon-boxes-item.-boxed {
	top: 1.78571em;
	/* margin-top can not be used here because it's set by .rs-column */
	margin-bottom: 1.78571em;
	padding: 0 1.42857em 1.42857em;
	border: 1px solid #bbbbbb;
	border-radius: 0;
}
.icon-boxes-item.-boxed.-headline-icon {
	top: auto;
	margin-bottom: 0;
	padding-top: 1.42857em;
}
.icon-boxes-item.-boxed:before {
	top: -0.46875em;
	margin-top: -0.46875em;
	margin-bottom: 0.125em;
}
.icon-boxes-item.-background-color {
	padding: 1.42857em;
	border: 1px solid rgba(0, 0, 0, 0.1);
	border-radius: 0;
}
.icon-boxes-item.-background-color:before {
	background-color: inherit;
}
.icon-boxes-item.-background-color:hover:before,
.icon-boxes-item.-background-color:focus:before {
	background-color: inherit;
}
.icon-boxes-item.-boxed.-background-color {
	padding: 0 1.42857em 1.42857em;
}
.icon-boxes-item:hover,
.icon-boxes-item:focus {
	text-decoration: none;
}
.icon-boxes-item:before {
	width: 1em;
	height: 1em;
	margin: 0 0 0.59375em;
	padding: 0.34375em;
	border: 0.09375em solid #b8440a;
	border-radius: 100%;
	font-size: 2.28571em;
	color: #b8440a;
	text-align: center;
	background: transparent;
	transition-property: opacity, transform, color, background;
	transition-duration: 0.2s, 0.2s, 0.2s, 0.8s;
}
.not-in-view > .icon-boxes-item:before,
.does-repeat.not-in-view > .icon-boxes-item:before,
.does-repeat .not-in-view > .icon-boxes-item:before {
	opacity: 0;
	transform: scale(0);
}
.does-repeat.in-view > .icon-boxes-item:before,
.does-repeat .in-view > .icon-boxes-item:before,
.has-shown > .icon-boxes-item:before {
	opacity: 1;
	transform: scale(1);
}
.icon-boxes-item:nth-of-type(12n+1):before {
	transition-delay: 0.1s, 0.1s, 0s, 0s;
}
.icon-boxes-item:nth-of-type(12n+2):before {
	transition-delay: 0.2s, 0.2s, 0s, 0s;
}
.icon-boxes-item:nth-of-type(12n+3):before {
	transition-delay: 0.3s, 0.3s, 0s, 0s;
}
.icon-boxes-item:nth-of-type(12n+4):before {
	transition-delay: 0.4s, 0.4s, 0s, 0s;
}
.icon-boxes-item:nth-of-type(12n+5):before {
	transition-delay: 0.5s, 0.5s, 0s, 0s;
}
.icon-boxes-item:nth-of-type(12n+6):before {
	transition-delay: 0.6s, 0.6s, 0s, 0s;
}
.icon-boxes-item:nth-of-type(12n+7):before {
	transition-delay: 0.7s, 0.7s, 0s, 0s;
}
.icon-boxes-item:nth-of-type(12n+8):before {
	transition-delay: 0.8s, 0.8s, 0s, 0s;
}
.icon-boxes-item:nth-of-type(12n+9):before {
	transition-delay: 0.9s, 0.9s, 0s, 0s;
}
.icon-boxes-item:nth-of-type(12n+10):before {
	transition-delay: 1s, 1s, 0s, 0s;
}
.icon-boxes-item:nth-of-type(12n+11):before {
	transition-delay: 1.1s, 1.1s, 0s, 0s;
}
.icon-boxes-item:nth-of-type(12n+12):before {
	transition-delay: 1.2s, 1.2s, 0s, 0s;
}
.icon-boxes-item.-inverted-icon:before {
	border-color: #b8440a;
	color: #ffffff;
	background-color: #b8440a;
}
.icon-boxes-item.-large-icon:before {
	font-size: 2.71429em;
	/* IE9 - IE11 */
	font-size: 2.375rem;
}
.icon-boxes-item.-headline-icon {
	text-align: left;
}
.icon-boxes-item.-headline-icon:before {
	float: left;
	top: 0;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: none;
}
.icon-boxes-item.-headline-icon h3 {
	padding: 0.09524em 0 0 2.19048em;
}
.icon-boxes-item:hover:before,
.icon-boxes-item:focus:before {
	color: #ffffff;
	background-color: #b8440a;
}
.icon-boxes-item:hover.-inverted-icon:before,
.icon-boxes-item:focus.-inverted-icon:before {
	color: #b8440a;
	background-color: #ffffff;
}
.icon-boxes-item:hover.-headline-icon:before,
.icon-boxes-item:focus.-headline-icon:before {
	color: #b8440a;
	background: none;
}
.icon-boxes-item h3 {
	margin: 0 0 0.66667em;
	font-family: Roboto, sans-serif;
	font-style: normal;
	font-size: 1.5em;
	color: #333333;
}
.icon-boxes-item p {
	margin: 0.5em 0;
}

.icon-boxes-item-link.-link {
	color: #b8440a;
}
.icon-boxes-item:hover > .icon-boxes-item-link.-link,
.icon-boxes-item:focus > .icon-boxes-item-link.-link {
	text-decoration: underline;
}
.-color-inverted .icon-boxes-item-link {
	color: #ffffff;
}

.rotating-boxes {
	zoom: 1;
	margin: 4% 0;
}
.rotating-boxes:before {
	content: "";
	display: table;
}
.rotating-boxes:after {
	content: "";
	display: table;
	clear: both;
}

.rotating-boxes-item {
	position: relative;
	color: #333333;
	text-decoration: none;
	perspective: 750px;
}
.rotating-boxes-item:hover,
.rotating-boxes-item:focus,
.rotating-boxes-item.hover {
	text-decoration: none;
}
.rotating-boxes-item:hover > .rotating-boxes-item-cover,
.rotating-boxes-item:focus > .rotating-boxes-item-cover,
.rotating-boxes-item.hover > .rotating-boxes-item-cover {
	transform: rotateY(180deg);
}
.rotating-boxes-item:hover > .rotating-boxes-item-content,
.rotating-boxes-item:focus > .rotating-boxes-item-content,
.rotating-boxes-item.hover > .rotating-boxes-item-content {
	transform: rotateY(360deg);
}

.rotating-boxes-item-cover,
.rotating-boxes-item-content {
	position: relative;
	border: 1px solid #bbbbbb;
	border-radius: 0;
	background: #ffffff;
	box-shadow: 0 0 7px rgba(0, 0, 0, 0.15);
	transition: transform 0.3s;
	transform: rotateY(0deg);
	backface-visibility: hidden;
}

.rotating-boxes-item-cover {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	color: #b8440a;
}
.rotating-boxes-item-cover:before,
.rotating-boxes-item-cover:after {
	position: absolute;
	top: 50%;
	left: 50%;
}
.rotating-boxes-item-cover:before {
	margin: -1em 0 0 -0.5em;
	font-size: 2.625em;
}
.rotating-boxes-item-cover:after {
	content: attr(data-headline);
	left: 0;
	width: 100%;
	margin: 0.35714em 0 0;
	font-size: 1.75em;
	text-align: center;
}

.rotating-boxes-item-content {
	overflow: hidden;
	margin: -1em;
	padding: 1em 3.14286em;
	font-size: 0.875em;
	transform: rotateY(180deg);
}
.rotating-boxes-item-content:before {
	position: absolute;
	top: 0;
	right: 0;
	margin: -0.3em;
	font-size: 14.28571em;
	color: #b8440a;
	opacity: 0.2;
}
.rotating-boxes-item-content h3 {
	position: relative;
	margin: 0.66667em 0;
	font-size: 1.5em;
	color: #b8440a;
}
.-color-inverted .rotating-boxes-item-content h3 {
	color: #b8440a;
}
.rotating-boxes-item-content p {
	position: relative;
	margin: 1em 0;
}
.rotating-boxes-item-content .rotating-boxes-item-link {
	margin-top: 0;
}

.teaser-boxes,
.team-boxes {
	margin: 2.5em 0;
	zoom: 1;
}
.teaser-boxes:before,
.team-boxes:before {
	content: "";
	display: table;
}
.teaser-boxes:after,
.team-boxes:after {
	content: "";
	display: table;
	clear: both;
}
.teaser-boxes > h1,
.team-boxes > h1,
.teaser-boxes > h2,
.team-boxes > h2,
.teaser-boxes > h3,
.team-boxes > h3,
.teaser-boxes > h4,
.team-boxes > h4,
.teaser-boxes > h5,
.team-boxes > h5,
.teaser-boxes > h6,
.team-boxes > h6 {
	margin-top: 0;
	margin-bottom: 1.5em;
}

.teaser-boxes-item,
.team-boxes-item {
	font-size: 0.875em;
	text-decoration: none;
	color: inherit;
	outline: none;
}
.teaser-boxes-item.-align-center,
.-align-center.team-boxes-item {
	text-align: center;
}
.teaser-boxes-item.-align-right,
.-align-right.team-boxes-item {
	text-align: right;
}
.-color-inverted .teaser-boxes-item,
.-color-inverted .team-boxes-item {
	color: #333333;
}
.-boxed > .teaser-boxes-item,
.-boxed > .team-boxes-item {
	color: #333333;
}
.teaser-boxes-item .image-wrapper,
.team-boxes-item .image-wrapper {
	position: relative;
	display: block;
	overflow: hidden;
	outline: none;
}
.teaser-boxes-item .image-wrapper.-image-circle,
.team-boxes-item .image-wrapper.-image-circle {
	border-radius: 99em;
	overflow: hidden;
	/* Fixes hover in Chrome */
	opacity: 0.99;
}
.teaser-boxes-item .image-wrapper.-image-circle img,
.team-boxes-item .image-wrapper.-image-circle img {
	/* Fixes android bug with border-radius and overflow */
	border-radius: 99em;
}
.teaser-boxes-item .image-wrapper,
.team-boxes-item .image-wrapper,
.teaser-boxes-item .no-image,
.team-boxes-item .no-image {
	margin-bottom: 1.28571em;
}
.-boxed > .teaser-boxes-item .image-wrapper,
.-boxed > .team-boxes-item .image-wrapper,
.-boxed > .teaser-boxes-item .no-image,
.-boxed > .team-boxes-item .no-image {
	margin: -1.42857em -1.42857em 1.28571em;
}
.-boxed > .teaser-boxes-item,
.-boxed > .team-boxes-item {
	overflow: hidden;
	padding: 1.42857em;
	border: 1px solid #bbbbbb;
	border-radius: 0;
	outline: none;
	background-color: #ffffff;
}
.teaser-boxes-item img,
.team-boxes-item img {
	display: block;
	width: 100%;
	height: auto;
}
.teaser-boxes-item .no-image,
.team-boxes-item .no-image {
	display: block;
	padding-top: 75%;
	background: #e5e8ee;
}
.teaser-boxes-item h3,
.team-boxes-item h3 {
	margin: 0 0 0.33333em;
	font-size: 1.28571em;
	font-weight: bold;
	transition: color 0.3s ease-out;
}
.-color-inverted .teaser-boxes-item h3,
.-color-inverted .team-boxes-item h3 {
	color: #ffffff;
}
.-color-inverted .-boxed .teaser-boxes-item h3,
.-color-inverted .-boxed .team-boxes-item h3 {
	color: #333333;
}
.teaser-boxes-item h4,
.team-boxes-item h4 {
	margin: 0;
	font-size: 1em;
	font-weight: normal;
}
.teaser-boxes-item p,
.team-boxes-item p,
.teaser-boxes-item ul,
.team-boxes-item ul,
.teaser-boxes-item ol,
.team-boxes-item ol {
	margin: 0.42857em 0;
}
.teaser-boxes-item a,
.team-boxes-item a {
	margin-top: 0.57143em;
}
.-color-inverted .teaser-boxes-item a,
.-color-inverted .team-boxes-item a {
	color: inherit;
}
.teaser-boxes-item .image-wrapper.-has-hover:hover, .team-boxes-item .image-wrapper.-has-hover:hover,
.teaser-boxes-item .image-wrapper.-has-hover:focus,
.team-boxes-item .image-wrapper.-has-hover:focus {
	outline: none;
}
.teaser-boxes-item .image-wrapper.-has-hover:hover:before, .team-boxes-item .image-wrapper.-has-hover:hover:before,
.teaser-boxes-item .image-wrapper.-has-hover:focus:before,
.team-boxes-item .image-wrapper.-has-hover:focus:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	width: 100%;
	height: 100%;
	background: rgba(255, 255, 255, 0.3);
}
.teaser-boxes-item .image-wrapper.-has-hover:hover img, .team-boxes-item .image-wrapper.-has-hover:hover img,
.teaser-boxes-item .image-wrapper.-has-hover:focus img,
.team-boxes-item .image-wrapper.-has-hover:focus img {
	filter: blur(2px);
	transform: scale(1.05);
}
.teaser-boxes-item a.image-wrapper.-has-hover:hover, .team-boxes-item a.image-wrapper.-has-hover:hover,
.teaser-boxes-item a.image-wrapper.-has-hover:focus,
.team-boxes-item a.image-wrapper.-has-hover:focus {
	/* Fixes IE bug */
	text-decoration: none;
}
.teaser-boxes-item a.image-wrapper.-has-hover:hover:after, .team-boxes-item a.image-wrapper.-has-hover:hover:after,
.teaser-boxes-item a.image-wrapper.-has-hover:focus:after,
.team-boxes-item a.image-wrapper.-has-hover:focus:after {
	font: 1.5em/1 "RockSolid Icons";
	content: "\2b";
	-webkit-font-smoothing: antialiased;
	font-smoothing: antialiased;
	text-rendering: geometricPrecision;
	text-indent: 0;
	display: inline-block;
	position: relative;
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 2;
	margin: -0.5em;
	color: #ffffff;
	text-shadow: 0 0 2px rgba(0, 0, 0, 0.35);
}

.team-boxes-item h3 {
	font-size: 1.14286em;
}
.team-boxes-item .hover-image {
	position: absolute;
	top: auto;
	bottom: -100%;
	left: 0;
	width: 100%;
	transition: bottom 0.2s ease-out;
}
.team-boxes-item:hover .hover-image {
	bottom: 0;
}
.team-boxes-item > ul {
	margin: 0.57143em 0;
	padding: 0;
	list-style-type: none;
}
.team-boxes-item > ul li {
	display: inline;
}
.team-boxes-item > ul a {
	display: inline-block;
	overflow: hidden;
	padding: 0.57143em 0.57143em 0 0.07143em;
	outline: none;
	line-height: 0;
	/* Fixes Chrome bug */
	letter-spacing: -1em;
	text-indent: -99em;
	text-decoration: none;
}
.team-boxes-item > ul a:before {
	content: none;
}
.team-boxes-item > ul a:after {
	font: 1.28571em/1 "RockSolid Icons";
	content: attr(data-icon);
	-webkit-font-smoothing: antialiased;
	font-smoothing: antialiased;
	text-rendering: geometricPrecision;
	text-indent: 0;
	display: inline-block;
	position: relative;
	display: block;
	letter-spacing: 0;
	color: #666666 !important;
}
.team-boxes-item > ul a:hover:after,
.team-boxes-item > ul a:focus:after {
	color: inherit !important;
}

.highlight-box {
	/* clearfix */
	overflow: hidden;
	display: table;
	width: 100%;
	margin: 1.5em 0;
	padding: 1.11111em 1.11111em;
	border: 1px solid #bbbbbb;
	border-radius: 0;
	font-size: 1.125em;
	line-height: 1.50056;
	color: #333333;
}

.highlight-box-inner {
	display: table-cell;
	vertical-align: middle;
	text-align: right;
}
@media screen and (max-width: 900px) {
	.highlight-box-inner {
		display: block;
		margin-top: 1em;
		text-align: left;
	}
}
.highlight-box-inner:first-child {
	width: 65%;
	text-align: left;
}
@media screen and (max-width: 900px) {
	.highlight-box-inner:first-child {
		width: auto;
		margin-top: 0;
	}
}
.highlight-box-inner h1:first-child,
.highlight-box-inner h2:first-child,
.highlight-box-inner h3:first-child,
.highlight-box-inner h4:first-child,
.highlight-box-inner p:first-child,
.highlight-box-inner ul:first-child,
.highlight-box-inner ol:first-child {
	margin: 0;
}
.highlight-box-inner p:last-child {
	margin-bottom: 0;
}

.highlight-box-link {
	font-size: 0.77778em;
}

.testimonial,
.main-content .testimonial {
	margin: 1.5em 0;
	font-size: 1em;
	line-height: 1.56313;
}
.testimonial:before,
.main-content .testimonial:before {
	content: none;
}
.-color-inverted .testimonial,
.-color-inverted .main-content .testimonial {
	color: #ffffff;
}
.testimonial > p,
.main-content .testimonial > p {
	position: relative;
	margin: 0;
	padding: 1.0625em 1.25em 1.125em;
	border: 1px solid #bbbbbb;
	border-radius: 0;
}
.testimonial > p:before,
.testimonial > p:after,
.main-content .testimonial > p:before,
.main-content .testimonial > p:after {
	content: "";
	position: absolute;
	top: 100%;
	left: 4.375em;
	width: 0;
	height: 0;
	border: solid transparent;
	border-top-color: #aeaeae;
	border-style: solid;
	border-width: 16px 16px 0 0;
}
@media screen and (max-width: 900px) {
	.testimonial > p:before,
	.testimonial > p:after,
	.main-content .testimonial > p:before,
	.main-content .testimonial > p:after {
		content: none;
	}
}
.testimonial > p:after,
.main-content .testimonial > p:after {
	margin-left: 1px;
	border-top-color: #ffffff;
	border-width: 14px 14px 0 0;
}
.testimonial.-large,
.main-content .testimonial.-large {
	margin: 2em 0;
	font-size: 1.125em;
	text-align: center;
}
.testimonial.-large:before,
.main-content .testimonial.-large:before {
	content: "\201c";
	position: static;
	display: block;
	margin: 0 0 -0.05556em;
	line-height: 1;
}
.testimonial.-large > p,
.main-content .testimonial.-large > p {
	padding: 0;
	border: 0;
	font-size: 1.33333em;
	font-weight: 300;
}
@media screen and (max-width: 900px) {
	.testimonial.-large > p,
	.main-content .testimonial.-large > p {
		font-size: 1.11111em;
	}
}
.testimonial.-large > p:before,
.testimonial.-large > p:after,
.main-content .testimonial.-large > p:before,
.main-content .testimonial.-large > p:after {
	content: none;
}

.testimonial-author,
.testimonial .testimonial-author {
	/* clearfix */
	overflow: hidden;
	padding: 1em 0 0 0;
	font-size: 1em;
}
.testimonial-author img,
.testimonial .testimonial-author img {
	float: left;
	width: 3.25em;
	height: auto;
	margin-left: 1.3125em;
	border: 1px solid #bbbbbb;
	border: 1px solid rgba(187, 187, 187, 0.5);
	border-radius: 100%;
}
@media screen and (max-width: 900px) {
	.testimonial-author img,
	.testimonial .testimonial-author img {
		margin-left: 0;
	}
}
.testimonial-author > small,
.testimonial .testimonial-author > small {
	float: left;
	margin: 0.375em 0 0 1.25em;
	font-size: inherit;
	line-height: 1.2;
}
.testimonial-author > small b,
.testimonial .testimonial-author > small b {
	display: block;
	font-size: 0.875em;
	font-weight: 300;
}
.testimonial-author > img + small,
.testimonial-author > picture + small,
.testimonial .testimonial-author > img + small,
.testimonial .testimonial-author > picture + small {
	margin-left: 0.875em;
}

.testimonial.-large .testimonial-author {
	display: inline-block;
	min-height: 5.33333em;
	padding-top: 2em;
	text-align: left;
}
@media screen and (max-width: 900px) {
	.testimonial.-large .testimonial-author {
		text-align: center;
	}
}
.testimonial.-large .testimonial-author > small {
	margin-left: 0;
	text-align: center;
}
.testimonial.-large .testimonial-author img {
	margin-left: 0;
}
@media screen and (max-width: 900px) {
	.testimonial.-large .testimonial-author img {
		display: block;
		float: none;
		margin-right: auto;
		margin-left: auto;
	}
}
.testimonial.-large .testimonial-author > img + small,
.testimonial.-large .testimonial-author > picture + small {
	margin-left: 0.875em;
	text-align: left;
}
@media screen and (max-width: 900px) {
	.testimonial.-large .testimonial-author > img + small,
	.testimonial.-large .testimonial-author > picture + small {
		margin-left: 0;
		text-align: center;
	}
}

.pricing-table {
	zoom: 1;
	margin: 2.75em 0;
}
.pricing-table:before {
	content: "";
	display: table;
}
.pricing-table:after {
	content: "";
	display: table;
	clear: both;
}
.pricing-table > h1,
.pricing-table > h2,
.pricing-table > h3,
.pricing-table > h4,
.pricing-table > h5,
.pricing-table > h6 {
	margin-top: 0;
}

.pricing-table-plan {
	position: relative;
	float: left;
	width: 33.33333%;
	margin: 0.875em -1px 0 0;
	border: 1px solid #bbbbbb;
	text-align: center;
}
@media screen and (max-width: 900px) {
	.pricing-table-plan {
		float: none;
		width: auto !important;
		border-radius: 0;
		margin-bottom: 1.6875em;
	}
}
.pricing-table-plan:first-of-type {
	border-top-left-radius: 0;
	border-bottom-left-radius: 0;
}
.pricing-table-plan:last-of-type {
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
}
@media screen and (max-width: 900px) {
	.pricing-table-plan:last-of-type {
		margin-bottom: 0;
	}
}
.-columns-1 > .pricing-table-plan {
	width: 100%;
}
.-columns-1 > .pricing-table-plan.-highlighted {
	width: 103%;
}
.-columns-2 > .pricing-table-plan {
	width: 50%;
}
.-columns-2 > .pricing-table-plan.-highlighted {
	width: 53%;
}
.-columns-3 > .pricing-table-plan {
	width: 33.33333%;
}
.-columns-3 > .pricing-table-plan.-highlighted {
	width: 36.33333%;
}
.-columns-4 > .pricing-table-plan {
	width: 25%;
}
.-columns-4 > .pricing-table-plan.-highlighted {
	width: 28%;
}
.-columns-5 > .pricing-table-plan {
	width: 20%;
}
.-columns-5 > .pricing-table-plan.-highlighted {
	width: 23%;
}
.-columns-6 > .pricing-table-plan {
	width: 16.66667%;
}
.-columns-6 > .pricing-table-plan.-highlighted {
	width: 19.66667%;
}
.pricing-table-plan.-highlighted {
	z-index: 1;
	width: 36.33333%;
	margin-right: -1.5%;
	margin-left: -1.5%;
	padding-bottom: 1.25em;
	border-radius: 0;
	background: #ffffff;
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
}
.pricing-table-plan.-highlighted h3 {
	margin: -0.9375em -1px 0;
	padding-top: 1.8125em;
	border-radius: 0 0 0 0;
	color: #ffffff;
	background: #b8440a;
}
.pricing-table-plan h3 {
	margin: 0;
	padding: 0.875em 0;
	border-bottom: 1px solid #bbbbbb;
	font-size: inherit;
	font-weight: bold;
	color: inherit;
}
.pricing-table-plan p {
	margin: 0;
	padding: 0.375em 0;
	border-bottom: 1px solid #bbbbbb;
	font-size: 3em;
	line-height: 1;
}
.pricing-table-plan p b {
	display: inline-block;
	vertical-align: super;
	margin-left: -0.83333em;
	font-weight: normal;
	font-size: 0.5em;
	color: #333333;
}
.pricing-table-plan p i {
	display: block;
	font-style: normal;
	font-size: 0.29167em;
	color: #333333;
}
.pricing-table-plan ul {
	margin: 0 0 -1px 0;
	padding: 0;
	list-style: none;
	font-size: 0.875em;
	color: #333333;
}
.pricing-table-plan li {
	display: block;
	padding: 0.5em;
	border-bottom: 1px solid #bbbbbb;
	transition: background-color 0.3s ease-in;
}
.pricing-table-plan li:hover {
	background-color: #bbbbbb;
	transition-duration: 0.05s;
}
.pricing-table-plan a {
	font-size: 0.75em;
	margin: 1.5em 0;
	padding: 0.83333em 1.66667em 0.75em;
}

.info-table {
	overflow: auto;
	border: 0;
}
.info-table td,
.info-table th {
	border-width: 0 0 1px;
}
.info-table .image-cell {
	padding: 20% 10%;
	text-align: center;
}
@media screen and (max-width: 1280px) {
	.info-table .image-cell {
		padding: 0 0 5%;
	}
}

.feature-box {
	zoom: 1;
	position: relative;
	overflow: hidden;
}
.feature-box:before {
	content: "";
	display: table;
}
.feature-box:after {
	content: "";
	display: table;
	clear: both;
}
.feature-box.-image-centered {
	text-align: center;
}
.feature-box.-vertical-centered {
	display: table;
	table-layout: fixed;
	/* Fixes IE bug */
	width: 100%;
}
@media screen and (max-width: 900px) {
	.feature-box.-vertical-centered {
		display: flex;
		flex-direction: column;
		justify-content: center;
	}
}
.feature-box.-small {
	min-height: 300px;
}
.feature-box.-small.-vertical-centered {
	height: 300px;
}
@media screen and (max-width: 900px) {
	.feature-box.-small {
		min-height: 200px;
	}
	.feature-box.-small.-vertical-centered {
		height: auto;
	}
}
.feature-box.-medium {
	min-height: 600px;
}
.feature-box.-medium.-vertical-centered {
	height: 600px;
}
@media screen and (max-width: 900px) {
	.feature-box.-medium {
		min-height: 400px;
	}
	.feature-box.-medium.-vertical-centered {
		height: auto;
	}
}
.feature-box.-large {
	min-height: 900px;
}
.feature-box.-large.-vertical-centered {
	height: 900px;
}
@media screen and (max-width: 900px) {
	.feature-box.-large {
		min-height: 600px;
	}
	.feature-box.-large.-vertical-centered {
		height: auto;
	}
}
.feature-box.-headline-dropshadow h1,
.feature-box.-headline-dropshadow h2,
.feature-box.-headline-dropshadow h3 {
	text-shadow: 0 0 3px rgba(0, 0, 0, 0.45);
}

.feature-box-text {
	margin: 6.25em 48% 6.25em 0;
	color: #333333;
}
@media screen and (max-width: 1280px) {
	.feature-box-text {
		margin-right: 37.5%;
	}
}
@media screen and (max-width: 900px) {
	.feature-box-text {
		margin: 2.25em 0;
	}
}
.-image-left > .feature-box-text {
	margin-right: 0;
	margin-left: 48%;
}
@media screen and (max-width: 1280px) {
	.-image-left > .feature-box-text {
		margin-left: 37.5%;
	}
}
@media screen and (max-width: 900px) {
	.-image-left > .feature-box-text {
		margin-left: 0;
	}
}
.-image-centered > .feature-box-text {
	margin-right: 16%;
	margin-left: 16%;
}
@media screen and (max-width: 1280px) {
	.-image-centered > .feature-box-text {
		margin-right: 0;
		margin-left: 0;
	}
}
.-image-centered > .feature-box-text + .feature-box-image {
	margin-top: -2.25em;
}
@media screen and (max-width: 900px) {
	.-image-centered > .feature-box-text + .feature-box-image {
		margin-top: 0;
	}
}
.-vertical-centered > .feature-box-text {
	display: table-cell;
	vertical-align: middle;
	width: 56.0%;
	margin: 0;
	padding: 4.5em 4% 4.5em 0;
}
@media screen and (max-width: 1280px) {
	.-vertical-centered > .feature-box-text {
		width: 68.75%;
	}
}
@media screen and (max-width: 900px) {
	.-vertical-centered > .feature-box-text {
		display: block;
		width: auto;
		padding-right: 0;
	}
}
.-vertical-centered.-image-left > .feature-box-text {
	padding-right: 0;
	padding-left: 4%;
}
@media screen and (max-width: 900px) {
	.-vertical-centered.-image-left > .feature-box-text {
		padding-left: 0;
	}
}
.-vertical-centered.-image-centered > .feature-box-text {
	width: 100%;
	padding-right: 20%;
	padding-left: 20%;
}
@media screen and (max-width: 1280px) {
	.-vertical-centered.-image-centered > .feature-box-text {
		padding-right: 0;
		padding-left: 0;
	}
}
.-no-image > .feature-box-text {
	width: 100%;
}
.-color-inverted .feature-box-text {
	color: #ffffff;
}
.no-margin .feature-box-text {
	margin: 0;
	padding: 0;
}
.no-margin-top .feature-box-text {
	margin-top: 0;
	padding-top: 0;
}
.no-margin-bottom .feature-box-text {
	margin-bottom: 0;
	padding-bottom: 0;
}
.feature-box-text h1,
.feature-box-text h2,
.feature-box-text h3 {
	margin: 0;
	color: #333333;
	font-size: 2em;
	font-weight: bold;
}
@media screen and (max-width: 900px) {
	.feature-box-text h1,
	.feature-box-text h2,
	.feature-box-text h3 {
		font-size: 1.57143em;
	}
}
.feature-box-text h1 + a,
.feature-box-text h2 + a,
.feature-box-text h3 + a {
	margin-top: 1.71429em;
}
.-color-inverted .feature-box-text h1,
.-color-inverted .feature-box-text h2,
.-color-inverted .feature-box-text h3 {
	color: #ffffff;
}
.feature-box-text h1.-small,
.feature-box-text h2.-small,
.feature-box-text h3.-small {
	font-size: 1.3125em;
}
.feature-box-text h1.-medium,
.feature-box-text h2.-medium,
.feature-box-text h3.-medium {
	font-size: 2.375em;
}
@media screen and (max-width: 900px) {
	.feature-box-text h1.-medium,
	.feature-box-text h2.-medium,
	.feature-box-text h3.-medium {
		font-size: 1.875em;
	}
}
.feature-box-text h1.-large,
.feature-box-text h2.-large,
.feature-box-text h3.-large {
	font-size: 2.875em;
}
@media screen and (max-width: 900px) {
	.feature-box-text h1.-large,
	.feature-box-text h2.-large,
	.feature-box-text h3.-large {
		font-size: 2em;
	}
}
.feature-box-text h1.-super-size,
.feature-box-text h2.-super-size,
.feature-box-text h3.-super-size {
	font-size: 3.625em;
}
@media screen and (max-width: 900px) {
	.feature-box-text h1.-super-size,
	.feature-box-text h2.-super-size,
	.feature-box-text h3.-super-size {
		font-size: 2.25em;
	}
}
.feature-box-text p {
	font-size: 1.125em;
}

.feature-box-image {
	display: block;
	float: right;
	width: 44%;
	margin: 3em 0 3em 4%;
}
@media screen and (max-width: 1280px) {
	.feature-box-image {
		width: 31.25%;
	}
}
@media screen and (max-width: 900px) {
	.feature-box-image {
		width: 100%;
	}
}
.-image-left > .feature-box-image {
	float: left;
	margin-right: 4%;
	margin-left: 0;
}
@media screen and (max-width: 900px) {
	.-image-left > .feature-box-image {
		float: none;
		margin-right: 0;
	}
}
.-image-centered > .feature-box-image {
	float: none;
	width: 64%;
	margin-right: auto;
	margin-left: auto;
}
@media screen and (max-width: 1280px) {
	.-image-centered > .feature-box-image {
		width: 100%;
	}
}
.-image-centered > .feature-box-image + .feature-box-text {
	margin-top: 3em;
}
.-image-top > .feature-box-image {
	margin-top: 0;
}
.-image-bottom > .feature-box-image {
	position: absolute;
	bottom: 0;
	right: 0;
	margin: 0;
}
@media screen and (max-width: 900px) {
	.-image-bottom > .feature-box-image {
		position: static;
		margin-bottom: 3em;
	}
}
.-image-bottom.-image-left > .feature-box-image {
	right: auto;
	left: 0;
}
.-vertical-centered > .feature-box-image {
	display: table-cell;
	vertical-align: middle;
	float: none;
	margin: 0;
	padding: 3em 0;
}
@media screen and (max-width: 900px) {
	.-vertical-centered > .feature-box-image {
		display: block;
		padding-top: 1.5em;
		padding-bottom: 1.5em;
	}
}
.-image-rounded > .feature-box-image img {
	border-radius: 99em;
}

.in-view > .feature-box-text,
.in-view > .feature-box-image {
	transition: opacity 0.6s linear, transform 0.6s ease-out;
}
.not-in-view > .feature-box-text.-fade,
.not-in-view > .feature-box-image.-fade {
	opacity: 0;
}
.in-view > .feature-box-text.-fade,
.in-view > .feature-box-image.-fade {
	opacity: 1;
}
.not-in-view > .feature-box-text.-move,
.not-in-view > .feature-box-image.-move {
	transform: translate(100%, 0);
}
.not-in-view > .feature-box-text.-move-right,
.not-in-view > .feature-box-image.-move-right {
	transform: translate(-100%, 0);
}
.not-in-view > .feature-box-text.-move-top,
.not-in-view > .feature-box-image.-move-top {
	transform: translate(0, 100%);
}
.not-in-view > .feature-box-text.-move-bottom,
.not-in-view > .feature-box-image.-move-bottom {
	transform: translate(0, -100%);
}
.in-view > .feature-box-text.-move,
.in-view > .feature-box-image.-move {
	transform: translate(0, 0);
}
.feature-box-text video,
.feature-box-text img, .feature-box-image video,
.feature-box-image img {
	display: block;
	max-width: 100%;
	height: auto;
	margin: 0 auto;
}

.counter-boxes {
	zoom: 1;
	text-align: center;
	margin: 3.125em 0;
}
.counter-boxes:before {
	content: "";
	display: table;
}
.counter-boxes:after {
	content: "";
	display: table;
	clear: both;
}
.counter-boxes > h2 {
	margin: 0 0 1.1875em 0;
	font-size: 1.75em;
	font-weight: bold;
	color: inherit;
}
.-color-inverted .counter-boxes > h2 {
	color: #ffffff;
}
.counter-boxes > h3 {
	margin: 0 0 1.80952em 0;
	font-size: 1.3125em;
	color: #333333;
}
.-color-inverted .counter-boxes > h3 {
	color: #333333;
}
.-color-inverted.-highlight-color .counter-boxes > h3 {
	color: #270e02;
}
.counter-boxes > h2 + h3 {
	margin-top: -1.33333em;
}

.counter-boxes-item {
	text-decoration: none;
	color: inherit;
}
.counter-boxes-item:link:hover,
.counter-boxes-item:link:focus {
	text-decoration: none;
}
.counter-boxes-item:link:hover:before,
.counter-boxes-item:link:focus:before {
	transform: scale(1.2);
}
.counter-boxes-item:before {
	margin: 0;
	font-size: 2.25em;
	color: #333333;
}
.-color-inverted .counter-boxes-item:before {
	color: #333333;
}
.-color-inverted.-highlight-color .counter-boxes-item:before {
	color: #270e02;
}
.counter-boxes-item p {
	margin: 0.06944em -0.5em 0.16667em;
	font-size: 4.5em;
	line-height: 1;
	color: #b8440a;
	font-weight: 300;
}
@media screen and (max-width: 1280px) {
	.counter-boxes-item p {
		font-size: 2.875em;
	}
}
@media screen and (max-width: 900px) {
	.counter-boxes-item p {
		font-size: 2.25em;
	}
}
.-color-inverted.-highlight-color .counter-boxes-item p {
	color: #270e02;
}
.counter-boxes-item h3 {
	margin: 0;
	font-size: 1.5em;
	font-weight: bold;
	color: inherit;
}
@media screen and (max-width: 1280px) {
	.counter-boxes-item h3 {
		font-size: 1.25em;
	}
}
.counter-boxes-item h4 {
	margin: 0.28571em 0 0;
	font-size: 0.875em;
	color: #333333;
}
.-color-inverted .counter-boxes-item h4 {
	color: #333333;
}

.headline-box {
	margin: 2.25em 0;
	text-align: center;
}
.headline-box.-align-left {
	text-align: left;
}
.headline-box.-align-right {
	text-align: right;
}
.headline-box:before {
	display: block;
	width: 1.95455em;
	height: 1.95455em;
	margin: 0 auto 0.27273em auto;
	border-radius: 100%;
	font-size: 2.75em;
	font-weight: normal;
	line-height: 2.00023;
	text-align: center;
	background: #ffffff;
	background: rgba(255, 255, 255, 0.6);
}
.-color-inverted .headline-box:before {
	background: #333333;
	background: rgba(51, 51, 51, 0.6);
}
.headline-box h2 {
	margin: 0;
	font-size: 1.5em;
	font-weight: normal;
	color: inherit;
}
.-color-inverted .headline-box h2 {
	color: inherit;
}
@media screen and (max-width: 900px) {
	.headline-box h2 {
		font-size: 1.3125em;
	}
}
.headline-box h2.-bold {
	font-weight: bold;
}
.headline-box h2.-small {
	font-size: 1.5em;
}
.headline-box h2.-medium {
	font-size: 2em;
}
@media screen and (max-width: 900px) {
	.headline-box h2.-medium {
		font-size: 1.5em;
	}
}
.headline-box h2.-large {
	font-size: 2.25em;
}
@media screen and (max-width: 900px) {
	.headline-box h2.-large {
		font-size: 1.75em;
	}
}
.headline-box h2.-super-size {
	font-size: 2.625em;
}
@media screen and (max-width: 900px) {
	.headline-box h2.-super-size {
		font-size: 2em;
	}
}
.headline-box h3 {
	margin: 0.44444em 0 0;
	font-size: 1.125em;
	font-weight: normal;
	line-height: 1.5;
	color: #333333;
}
.-color-inverted.-highlight-color .headline-box h3 {
	color: #270e02;
}
.-color-inverted .headline-box h3 {
	color: #333333;
}
.headline-box h3.-small {
	font-size: 1.125em;
}
.headline-box h3.-medium {
	font-size: 1.5em;
}
@media screen and (max-width: 900px) {
	.headline-box h3.-medium {
		font-size: 1.3125em;
	}
}
.headline-box h3.-large {
	font-size: 1.75em;
}
@media screen and (max-width: 900px) {
	.headline-box h3.-large {
		font-size: 1.5em;
	}
}
.headline-box h3.-super-size {
	font-size: 2.25em;
}
@media screen and (max-width: 900px) {
	.headline-box h3.-super-size {
		font-size: 1.625em;
	}
}
.headline-box.-button-inline h2,
.headline-box.-button-inline h3 {
	display: inline;
}
@media screen and (max-width: 900px) {
	.headline-box.-button-inline h2,
	.headline-box.-button-inline h3 {
		display: block;
	}
}

h2 + .headline-box-link,
h3 + .headline-box-link {
	margin-top: 1.92857em;
}
.headline-box-link.-quaternary {
	color: inherit;
}
.-align-left > .headline-box-link {
	float: right;
	margin: -0.14286em 0 0 3.14286em;
}
@media screen and (max-width: 900px) {
	.-align-left > .headline-box-link {
		float: none;
		margin: 0 0 1em;
	}
}
.-align-right > .headline-box-link {
	float: left;
	margin: -0.14286em 3.14286em 0 0;
}
@media screen and (max-width: 900px) {
	.-align-right > .headline-box-link {
		float: none;
		margin: 0 0 1em;
	}
}
.-button-inline > .headline-box-link {
	margin: 0 0 0 2.14286em;
}
@media screen and (max-width: 900px) {
	.-button-inline > .headline-box-link {
		margin: 1em 0 0;
	}
}

.projects {
	zoom: 1;
	clear: both;
}
.projects:before {
	content: "";
	display: table;
}
.projects:after {
	content: "";
	display: table;
	clear: both;
}

.projects-item {
	position: relative;
	float: left;
	overflow: hidden;
	border-top: 5px solid #bbbbbb;
	color: inherit;
}
.projects-item:nth-of-type(even) {
	border-top-color: #bbbbbb;
}
.projects-item.-large-col-1-1 {
	width: 100%;
}
.projects-item.-large-col-2-1 {
	width: 50%;
}
.projects-item.-large-col-3-1 {
	width: 33.33333%;
}
.projects-item.-large-col-4-1 {
	width: 25%;
}
.projects-item.-large-col-5-1 {
	width: 20%;
}
.projects-item.-large-col-6-1 {
	width: 16.66667%;
}
.projects-item.-large-col-7-1 {
	width: 14.28571%;
}
.projects-item.-large-col-8-1 {
	width: 12.5%;
}
.projects-item.-large-col-9-1 {
	width: 11.11111%;
}
.projects-item.-large-col-10-1 {
	width: 10%;
}
@media screen and (min-width: 1600px) {
	.projects-item.-verylarge-col-1-1 {
		width: 100%;
	}
	.projects-item.-verylarge-col-2-1 {
		width: 50%;
	}
	.projects-item.-verylarge-col-3-1 {
		width: 33.33333%;
	}
	.projects-item.-verylarge-col-4-1 {
		width: 25%;
	}
	.projects-item.-verylarge-col-5-1 {
		width: 20%;
	}
	.projects-item.-verylarge-col-6-1 {
		width: 16.66667%;
	}
	.projects-item.-verylarge-col-7-1 {
		width: 14.28571%;
	}
	.projects-item.-verylarge-col-8-1 {
		width: 12.5%;
	}
	.projects-item.-verylarge-col-9-1 {
		width: 11.11111%;
	}
	.projects-item.-verylarge-col-10-1 {
		width: 10%;
	}
}
@media screen and (max-width: 1280px) {
	.projects-item.-medium-col-1-1 {
		width: 100%;
	}
	.projects-item.-medium-col-2-1 {
		width: 50%;
	}
	.projects-item.-medium-col-3-1 {
		width: 33.33333%;
	}
	.projects-item.-medium-col-4-1 {
		width: 25%;
	}
	.projects-item.-medium-col-5-1 {
		width: 20%;
	}
	.projects-item.-medium-col-6-1 {
		width: 16.66667%;
	}
	.projects-item.-medium-col-7-1 {
		width: 14.28571%;
	}
	.projects-item.-medium-col-8-1 {
		width: 12.5%;
	}
	.projects-item.-medium-col-9-1 {
		width: 11.11111%;
	}
	.projects-item.-medium-col-10-1 {
		width: 10%;
	}
}
@media screen and (max-width: 900px) {
	.projects-item.-small-col-1-1 {
		width: 100%;
	}
	.projects-item.-small-col-2-1 {
		width: 50%;
	}
	.projects-item.-small-col-3-1 {
		width: 33.33333%;
	}
	.projects-item.-small-col-4-1 {
		width: 25%;
	}
	.projects-item.-small-col-5-1 {
		width: 20%;
	}
	.projects-item.-small-col-6-1 {
		width: 16.66667%;
	}
	.projects-item.-small-col-7-1 {
		width: 14.28571%;
	}
	.projects-item.-small-col-8-1 {
		width: 12.5%;
	}
	.projects-item.-small-col-9-1 {
		width: 11.11111%;
	}
	.projects-item.-small-col-10-1 {
		width: 10%;
	}
}
.projects-item h3 {
	position: absolute;
	bottom: -3.125em;
	left: 0;
	width: 100%;
	margin: 0;
	padding: 0.625em 0 0.6875em;
	font-size: 1em;
	font-weight: bold;
	color: inherit;
	text-align: center;
	background: #ffffff;
	background: rgba(255, 255, 255, 0.9);
	transition: bottom 0.4s ease-out;
}
.projects-item h3:before {
	content: "";
	position: absolute;
	left: 50%;
	top: -8px;
	width: 0;
	height: 0;
	border: 8px solid transparent;
	border-color: rgba(255, 255, 255, 0);
	border-top: 0;
	border-bottom-color: #ffffff;
	border-bottom-color: rgba(255, 255, 255, 0.9);
}
.projects-item:hover h3,
.projects-item:focus h3 {
	bottom: 0;
	transition-duration: 0.2s;
}

.projects-item-image {
	position: relative;
	display: block;
	overflow: hidden;
}
.projects-item-image img {
	display: block;
	width: 100%;
	height: auto;
}

.projects-item-image-hover {
	position: absolute;
	top: -100%;
	left: 0;
	width: 100%;
	transition: top 0.4s ease-out;
}
.projects-item:hover .projects-item-image-hover,
.projects-item:focus .projects-item-image-hover {
	top: 0;
	transition-duration: 0.2s;
}

.google-map {
	position: relative;
	padding-bottom: 56.25%;
}
.google-map > a,
.google-map iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.google-map > a {
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	background: #e5e3df;
}

.info-map {
	position: relative;
	clear: both;
}

.info-map-gmap {
	height: 29.375em;
}
@media screen and (max-width: 900px) {
	.info-map-gmap {
		height: 20em;
		/* Add area for touch scrolling */
		margin-right: 5.55556%;
		margin-left: 5.55556%;
	}
}
.info-map-gmap:hover ~ .info-map-boxes {
	opacity: 0.2;
}
.info-map-gmap.-no-hover:hover ~ .info-map-boxes {
	opacity: 1;
}
.info-map-gmap > a {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	background: #e5e3df;
}

.info-map-boxes {
	zoom: 1;
	position: relative;
	margin-top: -7.25em;
	margin-bottom: 2.75em;
	transition: opacity 0.2s linear;
}
.info-map-boxes:before {
	content: "";
	display: table;
}
.info-map-boxes:after {
	content: "";
	display: table;
	clear: both;
}
@media screen and (max-width: 900px) {
	.info-map-boxes {
		margin-top: 1.375em;
	}
}

.info-map-boxes-item {
	padding: 0.71429em 1.42857em;
	border-radius: 0;
	font-size: 0.875em;
	color: inherit;
	background: #ffffff;
	box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1), 0 0 7px rgba(0, 0, 0, 0.15);
}
.info-map-boxes-item:before {
	float: right;
	margin: 0;
	padding: 0.15152em 0 0.45455em 0.30303em;
	font-size: 4.71429em;
	color: #b8440a;
	background: #ffffff;
}
.info-map-boxes-item:hover,
.info-map-boxes-item:focus {
	text-decoration: none;
}
.info-map-boxes-item h3 {
	margin: 0.57143em 0;
	padding: 0 0 0.21429em;
	border-bottom: 1px solid #bbbbbb;
	color: #b8440a;
	font-size: 1em;
	font-weight: bold;
	text-transform: uppercase;
}
.info-map-boxes-item p {
	margin: 0.57143em 0;
}

.info-map-boxes-item-link {
	color: #b8440a;
}

.icon-buttons {
	text-align: center;
	margin: 2.25em 0;
}
.icon-buttons h3 {
	margin: 0;
	font-size: 1.125em;
	font-weight: normal;
}
.icon-buttons ul {
	margin: 1.25em 0;
	padding: 0;
	list-style: none;
}
.icon-buttons li {
	display: inline;
}
.icon-buttons a {
	display: inline-block;
	width: 2.5em;
	height: 2.5em;
	overflow: hidden;
	margin: 0 0.5em;
	border: 2px solid #333333;
	border-radius: 0;
	color: inherit;
	text-indent: -99em;
	line-height: 0;
}
.icon-buttons a:before {
	content: none;
}
.icon-buttons a:after {
	font: 1.5em/1 "RockSolid Icons";
	content: attr(data-icon);
	-webkit-font-smoothing: antialiased;
	font-smoothing: antialiased;
	text-rendering: geometricPrecision;
	text-indent: 0;
	display: inline-block;
	position: relative;
	display: block;
	line-height: 1.58375;
}
.icon-buttons a:hover,
.icon-buttons a:focus {
	text-decoration: none;
	background: #333333;
	background: rgba(51, 51, 51, 0.25);
}
.-color-inverted .icon-buttons a {
	border-color: #ffffff;
}
.-color-inverted .icon-buttons a:hover,
.-color-inverted .icon-buttons a:focus {
	background: #ffffff;
	background: rgba(255, 255, 255, 0.25);
}

.icon-links li {
	padding-bottom: 0.4375em;
}
.icon-links a {
	text-decoration: none;
}
.icon-links a:hover span {
	text-decoration: underline;
}

.icon-links-label {
	color: #b8440a;
}

.tab-navigation {
	margin: 2.25em 0 0;
	border: 1px solid transparent;
	border-bottom-color: #bbbbbb;
	text-align: center;
}
.tab-navigation ul,
.tab-navigation li {
	margin: 0;
	padding: 0;
}
.tab-navigation ul {
	display: table;
	table-layout: fixed;
	display: flex;
	align-items: flex-end;
	width: 100%;
}
@media screen and (max-width: 900px) {
	.tab-navigation ul {
		display: inline;
	}
}
.tab-navigation li {
	display: table-cell;
	flex-grow: 1;
	list-style-type: none;
	vertical-align: bottom;
}
@media screen and (max-width: 900px) {
	.tab-navigation li {
		display: block;
	}
}
.tab-navigation li:first-child a {
	margin-left: -1px;
}
.tab-navigation a {
	position: relative;
	display: block;
	margin: -1px -1px 0 0;
	padding: 0.5625em 1.75em;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	outline: none;
	border: 1px solid #bbbbbb;
	border-bottom-width: 0;
	background-color: #ffffff;
}
@media screen and (max-width: 900px) {
	.tab-navigation a {
		margin: 0 -1px;
	}
}
.tab-navigation a:hover,
.tab-navigation a:focus {
	text-decoration: none;
}
.tab-navigation a.is-active {
	z-index: 1;
	box-shadow: 0 10px 0 -1px #ffffff, 0 -3px #b8440a, -3px 0 3px -1px rgba(0, 0, 0, 0.1), 3px 0 3px -1px rgba(0, 0, 0, 0.1);
}
@media screen and (max-width: 900px) {
	.tab-navigation a.is-active {
		border-color: #b8440a;
		color: #ffffff;
		background: #b8440a;
		box-shadow: 0 1px #b8440a;
	}
}
.tab-navigation.-image-tabs {
	border: 0;
}
.tab-navigation.-image-tabs ul,
.tab-navigation.-image-tabs li {
	display: inline;
}
.tab-navigation.-image-tabs a {
	display: inline-block;
	margin: 0;
	padding: 0.5625em 1.75em;
	border: 0;
	font-size: 1em;
	color: inherit;
	background: none;
}
.tab-navigation.-image-tabs a:hover,
.tab-navigation.-image-tabs a:focus {
	color: #b8440a;
}
.tab-navigation.-image-tabs a.is-active {
	color: #b8440a;
	box-shadow: none;
}
.tab-navigation.-image-tabs a.is-active:after {
	content: "";
	position: absolute;
	top: 100%;
	left: 50%;
	margin-left: -0.4375em;
	border: 0.4375em solid transparent;
	border-top-color: #b8440a;
	border-bottom: 0;
}
.tab-navigation.-image-tabs a:before {
	display: block;
	margin: 0 auto 0.25em;
	font-size: 3em;
	color: #b8440a;
}
.tab-navigation.-image-tabs a img {
	display: block;
	margin: 0 auto 0.75em;
}

.-columns-1 .tab-navigation-item {
	width: 100%;
}
.-columns-2 .tab-navigation-item {
	width: 50%;
}
.-columns-3 .tab-navigation-item {
	width: 33.33333%;
}
.-columns-4 .tab-navigation-item {
	width: 25%;
}
.-columns-5 .tab-navigation-item {
	width: 20%;
}
.-columns-6 .tab-navigation-item {
	width: 16.66667%;
}
@media screen and (max-width: 900px) {
	.tab-navigation-item.tab-navigation-item {
		width: auto;
	}
}

.tab-start.-has-border {
	margin-top: -1px;
	border: 1px solid #bbbbbb;
	padding-right: 2.5em;
	padding-left: 2.5em;
}

/* ===========================================
 * Modules (Search, FAQ, News, Events, Comments, Sitemap etc.)
 * ======================================== */
.fixed-note {
	position: fixed;
	display: table;
	top: auto;
	right: 0;
	bottom: 0;
	left: 0;
	width: 100%;
	min-height: 3.75em;
	padding: 0.75em 1.25em 0.75em 5em;
	padding-right: calc(1.25em + var(--safe-area-right));
	padding-bottom: calc(0.75em + var(--safe-area-bottom));
	padding-left: calc(5em + var(--safe-area-left));
	border-top: 1px solid #bbbbbb;
	z-index: 99;
	background-color: #ffffff;
	box-shadow: 0 -2px 5px rgba(0, 0, 0, 0.1);
}
@media screen and (max-width: 1280px) {
	.fixed-note {
		position: relative;
		padding-top: calc(0.75em + var(--safe-area-top));
		padding-bottom: 0.75em;
	}
}
@media screen and (max-width: 900px) {
	.fixed-note {
		display: block;
		padding-left: 1.25em;
		padding-left: calc(1.25em + var(--safe-area-left));
	}
}
.fixed-note:before {
	position: absolute;
	top: 50%;
	margin-top: -0.5em;
	left: 0.83333em;
	left: calc(0.83333em + var(--safe-area-left));
	font-size: 2.25em;
	color: #b8440a;
}
@media screen and (max-width: 1280px) {
	.fixed-note:before {
		top: 0.66667em;
		margin-top: 0;
	}
}
@media screen and (max-width: 900px) {
	.fixed-note:before {
		position: static;
	}
}
.fixed-note h1,
.fixed-note h2,
.fixed-note h3 {
	font-size: 0.9375em;
	margin: 0.4em 0;
}
.fixed-note p {
	font-size: 0.875em;
	margin: 0.42857em 0;
}
@media screen and (max-width: 900px) {
	.fixed-note p {
		font-size: 1em;
	}
}

.fixed-note-column {
	display: table-cell;
	vertical-align: middle;
	padding: 0 0.625em;
}
.fixed-note-column:last-child {
	text-align: right;
}
@media screen and (max-width: 1280px) {
	.fixed-note-column:last-child {
		text-align: left;
	}
}
@media screen and (max-width: 1280px) {
	.fixed-note-column {
		display: block;
		margin: 0.75em 0;
		padding: 0;
	}
}

.fixed-note-link,
.fixed-note-button {
	white-space: nowrap;
}

.fixed-note-button {
	margin: 0;
}

.fixed-note-closed {
	position: fixed;
	right: 1.875em;
	right: calc(1.875em + var(--safe-area-right));
	bottom: 0;
	bottom: var(--safe-area-bottom);
	z-index: 99;
	padding: 0.5em 0.75em;
	color: #ffffff;
	text-decoration: none;
	background: #b8440a;
	box-shadow: 0 -2px 5px rgba(0, 0, 0, 0.1);
}
@media screen and (max-width: 1680px) {
	.fixed-note-closed {
		right: 0;
		right: var(--safe-area-right);
	}
}
@media screen and (max-width: 1280px) {
	.fixed-note-closed {
		position: absolute;
		top: 0.75em;
		top: calc(0.75em + var(--safe-area-top));
		right: 0.75em;
		right: calc(0.75em + var(--safe-area-right));
		bottom: auto;
		padding: 0.25em 0.75em;
		font-size: 0.875em;
	}
}
@media screen and (max-width: 900px) {
	.fixed-note-closed {
		font-size: 1em;
	}
}
.fixed-note-closed:hover,
.fixed-note-closed:focus {
	background-color: #883207;
}
.fixed-note-closed:before {
	font: 100%/1 "RockSolid Icons";
	content: "\e0a6";
	-webkit-font-smoothing: antialiased;
	font-smoothing: antialiased;
	text-rendering: geometricPrecision;
	text-indent: 0;
	display: inline-block;
	position: relative;
}
.fixed-note-closed > span {
	display: none;
}

.mod_breadcrumb {
	font-size: 0.8125em;
}
.mod_breadcrumb ul,
.mod_breadcrumb li {
	display: inline;
	margin: 0;
	padding: 0;
}
.mod_breadcrumb li:before {
	content: " \A0 / \A0 ";
}
.mod_breadcrumb li:first-child:before {
	content: none;
}
.mod_breadcrumb a {
	color: inherit;
	text-decoration: underline;
}
.mod_breadcrumb a:hover {
	text-decoration: none;
}

.back a:before,
.previous a:before,
.next a:after {
	font: 0.75em/1 "RockSolid Icons";
	content: "\e018";
	-webkit-font-smoothing: antialiased;
	font-smoothing: antialiased;
	text-rendering: geometricPrecision;
	text-indent: 0;
	display: inline-block;
	position: relative;
	top: -0.16667em;
	margin-right: 0.5em;
	vertical-align: middle;
}

.next a:after {
	content: "\e019";
	margin-right: 0;
	margin-left: 0.5em;
}

nav[data-pagination] > p,
.pagination > p {
	text-align: center;
}
nav[data-pagination] ol,
nav[data-pagination] ul,
.pagination ol,
.pagination ul {
	list-style-type: none !important;
	text-align: center;
}
nav[data-pagination] li,
.pagination li {
	display: inline-block;
}
nav[data-pagination] li a, nav[data-pagination] li strong, nav[data-pagination] li span,
.pagination li a,
.pagination li strong,
.pagination li span {
	padding: 4px 12px;
	background-color: #ffffff;
}
nav[data-pagination] li .current, nav[data-pagination] li .active,
.pagination li .current,
.pagination li .active {
	font-weight: bold;
	color: inherit;
	text-decoration: none;
	border-bottom: 1px solid #bbbbbb;
	background-image: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.02));
}

.news-image-teaser {
	position: relative;
	margin: 2.25em 0;
	padding-left: 12.5%;
}
@media screen and (max-width: 900px) {
	.news-image-teaser {
		padding-left: 0;
	}
}
.news-image-teaser a {
	transition: color 0.3s;
}
.news-image-teaser img {
	display: block;
	width: 100%;
	height: auto;
	margin: 0;
}
.news-image-teaser h2 {
	display: block;
	margin: 0.75em 0 0.25em;
	padding: 0 0 0.41667em;
	border-bottom: 1px solid #bbbbbb;
	font-size: 1.5em;
	font-weight: bold;
	color: inherit;
}
.news-image-teaser h2 a {
	color: inherit;
}
.news-image-teaser h2 a:hover {
	color: #b8440a;
	text-decoration: none;
}
.news-image-teaser p {
	margin: 0.625em 0;
	color: #333333;
}
.news-image-teaser .news-image-teaser-info {
	margin: 0 0 0.93333em;
	font-size: 0.9375em;
	color: #333333;
}

.news-image-teaser-meta {
	float: left;
	position: relative;
	left: -12.5%;
	width: 9.375%;
	margin-bottom: -6.25em;
	line-height: 1;
	text-align: center;
	border-right: 1px solid #bbbbbb;
}
@media screen and (max-width: 900px) {
	.news-image-teaser-meta {
		position: absolute;
		top: 0;
		left: 0;
		width: 18.75%;
		border-right: 0;
		background: #ffffff;
	}
	.news-image-teaser-meta + h2 {
		padding-top: 3.75em;
	}
}
.news-image-teaser-meta time {
	font-size: 2.125em;
	font-weight: bold;
}
.news-image-teaser-meta b {
	display: block;
	margin: -0.05556em 0 0.44444em;
	font-size: 0.52941em;
	font-weight: inherit;
	color: #333333;
	text-transform: uppercase;
}
.news-image-teaser-meta .comment-count {
	display: block;
	padding: 0.25em 0;
	border-top: 1px solid #bbbbbb;
	color: #333333;
}
.news-image-teaser-meta .comment-count:before {
	font: 100%/1 "RockSolid Icons";
	content: "\e053";
	-webkit-font-smoothing: antialiased;
	font-smoothing: antialiased;
	text-rendering: geometricPrecision;
	text-indent: 0;
	display: inline-block;
	position: relative;
	bottom: 0.0625em;
	margin-right: 0.16667em;
	font-size: 0.75em;
}
.news-image-teaser-meta .comment-count:hover {
	color: #b8440a;
	text-decoration: none;
}

.news-list-boxed {
	zoom: 1;
	margin: 2.75em 0;
}
.news-list-boxed:before {
	content: "";
	display: table;
}
.news-list-boxed:after {
	content: "";
	display: table;
	clear: both;
}

.news-list-boxed-item {
	padding: 1.07143em;
	border: 1px solid #bbbbbb;
	border-radius: 0;
	font-size: 0.875em;
	color: #333333;
}
.news-list-boxed-item h3 {
	margin: 0.38095em 0 0;
	font-size: 1.5em;
	font-weight: bold;
	line-height: 1.38143;
	color: #333333;
}
.news-list-boxed-item h3 a {
	color: inherit;
	transition: color 0.3s;
}
.news-list-boxed-item h3 a:hover {
	color: #b8440a;
	text-decoration: none;
}
.news-list-boxed-item p {
	margin: 1em 0;
}
.news-list-boxed-item .news-list-boxed-item-info {
	margin-top: 0.66667em;
	padding-bottom: 0.5em;
	font-size: 0.85714em;
	border-bottom: 1px solid #bbbbbb;
}

.news-list-boxed-item-image {
	position: relative;
	display: block;
	overflow: hidden;
}
.news-list-boxed-item-image.-no-image {
	padding-bottom: 56.81818%;
	background: #dddddd;
}
.news-list-boxed-item-image:hover,
.news-list-boxed-item-image:focus {
	opacity: 0.8;
}
.news-list-boxed-item-image:hover img,
.news-list-boxed-item-image:focus img {
	filter: blur(2px);
	transform: scale(1.05);
}
.news-list-boxed-item-image img {
	display: block;
	width: 100%;
	height: auto;
}
.news-list-boxed-item-image time {
	position: absolute;
	top: 50%;
	left: 0;
	width: 100%;
	margin: -0.77778em 0 0;
	font-size: 2.57143em;
	font-weight: bold;
	color: #ffffff;
	text-align: center;
	text-shadow: 0 0 4px rgba(0, 0, 0, 0.3);
}

.news-boxes {
	zoom: 1;
	margin: 2.75em 0;
}
.news-boxes:before {
	content: "";
	display: table;
}
.news-boxes:after {
	content: "";
	display: table;
	clear: both;
}

.news-boxes-item h3 {
	margin: 0;
	font-size: 1.125em;
	font-weight: bold;
	color: inherit;
}
.news-boxes-item h3 a {
	display: block;
	color: inherit;
	text-decoration: none;
}
.news-boxes-item h3 a:hover,
.news-boxes-item h3 a:focus {
	color: #b8440a;
}
.news-boxes-item p {
	margin: 0.5em 0;
}
.news-boxes-item .news-boxes-item-more {
	position: relative;
	margin: -0.9375em 0 0 0;
}
.news-boxes-item .news-boxes-item-more a {
	position: relative;
	top: 0;
	display: block;
	height: 2.0625em;
	color: #ffffff;
	color: transparent;
	text-decoration: none;
	background: #ffffff;
	box-shadow: 0 -7px 10px -7px rgba(0, 0, 0, 0.2), 0 -8px 10px 7px rgba(255, 255, 255, 0.5);
	transition: top 0.2s ease-out;
}
.news-boxes-item .news-boxes-item-more a:after {
	font: 1.5em/1 "RockSolid Icons";
	content: "\e009";
	-webkit-font-smoothing: antialiased;
	font-smoothing: antialiased;
	text-rendering: geometricPrecision;
	text-indent: 0;
	display: inline-block;
	position: relative;
	position: absolute;
	top: 0;
	left: 50%;
	width: 3.66667em;
	height: 100%;
	margin: 0 0 0 -1.83333em;
	padding: 0.20833em 0 0;
	border: 1px solid #bbbbbb;
	border-top: 0;
	border-radius: 0 0 1px 1px;
	color: #333333;
	text-align: center;
	box-sizing: border-box;
	box-shadow: 0 0 2px rgba(0, 0, 0, 0.1);
}
.news-boxes-item .news-boxes-item-more a:hover,
.news-boxes-item .news-boxes-item-more a:focus {
	top: 1.25em;
}
.news-boxes-item .news-boxes-item-more a:hover:before,
.news-boxes-item .news-boxes-item-more a:focus:before {
	content: "";
	position: absolute;
	top: -1.25em;
	left: 0;
	height: 1.25em;
	width: 100%;
}
.news-boxes-item .news-boxes-item-more a:hover:after,
.news-boxes-item .news-boxes-item-more a:focus:after {
	color: #b8440a;
}

.news-boxes-item-image {
	display: block;
	overflow: hidden;
}
.news-boxes-item-image.-no-image {
	padding-bottom: 56.81818%;
	background: #dddddd;
}
.news-boxes-item-image:hover,
.news-boxes-item-image:focus {
	opacity: 0.8;
}
.news-boxes-item-image:hover img,
.news-boxes-item-image:focus img {
	filter: blur(2px);
	transform: scale(1.05);
}
.news-boxes-item-image img {
	display: block;
	width: 100%;
	height: auto;
}

.news-boxes-item-info {
	margin: 0;
	font-size: 0.875em;
	color: #333333;
}

.main-content .mod_calendar {
	margin: 1.5em 0;
}
.mod_calendar th.previous a:after,
.mod_calendar th.previous a:before,
.mod_calendar th.next a:after,
.mod_calendar th.next a:before {
	display: none;
}
.mod_calendar th.current {
	border-right: 0;
	border-left: 0;
	text-align: center;
}
.mod_calendar th.current:before {
	font: 16px/1 "RockSolid Icons";
	content: "\e037";
	-webkit-font-smoothing: antialiased;
	font-smoothing: antialiased;
	text-rendering: geometricPrecision;
	text-indent: 0;
	display: inline-block;
	position: relative;
	margin-right: 6px;
}
.mod_calendar th.previous {
	border-right: 0;
}
.mod_calendar th.next {
	border-left: 0;
	text-align: right;
}
.mod_calendar th.label {
	font-size: 0.75em;
	text-align: center;
	text-transform: uppercase;
	letter-spacing: 0.07143em;
}
@media screen and (max-width: 900px) {
	.mod_calendar th.label > span {
		display: none;
	}
}
.mod_calendar td {
	vertical-align: top;
	width: 14.28571%;
}
@media screen and (max-width: 900px) {
	.mod_calendar td {
		text-align: center;
	}
}
.mod_calendar td.today {
	font-weight: bold;
	background-color: #bbbbbb;
}
.mod_calendar .event {
	font-size: 0.75em;
}
.mod_calendar .minicalendar td {
	padding: 0.1875em;
	text-align: center;
}

.mod_newsletterlist ul {
	padding-left: 0;
	list-style-type: none;
}
.mod_newsletterlist ul li {
	border-bottom: 1px solid #bbbbbb;
	padding: 0.5em 0;
}
.mod_newsletterlist ul li:before {
	font: 100%/1 "RockSolid Icons";
	content: "\e0ce";
	-webkit-font-smoothing: antialiased;
	font-smoothing: antialiased;
	text-rendering: geometricPrecision;
	text-indent: 0;
	display: inline-block;
	position: relative;
	float: left;
	margin: 0.3125em 0.375em 0 0;
	color: #b8440a;
}
.mod_newsletterlist ul a {
	display: block;
	font-size: 1.3125em;
}

.mod_eventlist > .header {
	font-weight: bold;
}
.mod_eventlist .event > h2 {
	margin-top: 0;
	font-size: 1.5em;
}

.mod_faqlist ul {
	list-style: none;
	padding-left: 0;
}
.mod_faqlist li:before {
	font: 100%/1 "RockSolid Icons";
	content: "\e0f7";
	-webkit-font-smoothing: antialiased;
	font-smoothing: antialiased;
	text-rendering: geometricPrecision;
	text-indent: 0;
	display: inline-block;
	position: relative;
	margin-right: 0.5em;
}

.mod_faqpage section {
	margin: 2.25em 0;
	padding-left: 4.5em;
}
.mod_faqpage h3 {
	position: relative;
	margin: 1em 0;
	padding: 0.47619em 0 0.71429em;
	border-bottom: 1px solid #bbbbbb;
	font-size: 1.3125em;
}
.mod_faqpage h3:before,
.mod_faqpage h3 + *:before {
	content: "Q";
	position: absolute;
	top: 0;
	left: -2.57143em;
	width: 1em;
	padding: 0.35714em 0.39286em 0.42857em;
	border-radius: 100%;
	font-size: 1.33333em;
	line-height: 1;
	color: #ffffff;
	text-align: center;
	background: #b8440a;
}
.mod_faqpage h3 + * {
	position: relative;
}
.mod_faqpage h3 + *:before {
	content: "A";
	left: -3.75em;
	font-size: 1em;
}
.mod_faqpage p {
	margin-top: 0.75em;
	margin-bottom: 0.75em;
}
.mod_faqpage .info {
	font-size: 0.8125em;
	color: #333333;
}

.mod_faqreader .info {
	font-size: 0.8125em;
	color: #333333;
}

.mod_search {
	margin: 1.6875em 0;
}
.mod_search .widget {
	display: inline;
}
.mod_search form input {
	vertical-align: middle;
}
.mod_search form input[type="search"] {
	width: 74.375%;
	margin: 0;
	padding-top: 0.75em;
	padding-bottom: 0.75em;
}
.mod_search form button[type="submit"],
.mod_search form input[type="submit"] {
	width: 25%;
	margin: 0 -2% 0 0;
}
@media screen and (max-width: 900px) {
	.mod_search form button[type="submit"],
	.mod_search form input[type="submit"] {
		padding-right: 0;
		padding-left: 0;
	}
}
.mod_search .relevance {
	float: right;
	margin-top: 0.71429em;
	font-size: 0.58333em;
}
.mod_search .header {
	padding-bottom: 0.3125em;
	border-bottom: 1px solid #bbbbbb;
	color: #333333;
}
.mod_search .highlight {
	padding: 0 0.25em;
	font-weight: bold;
	background: #f0d9ce;
}
.mod_search .url {
	padding-bottom: 1.42857em;
	border-bottom: 1px dotted #bbbbbb;
	font-size: 0.875em;
	color: #333333;
}
.mod_search .url:before {
	font: 100%/1 "RockSolid Icons";
	content: "\e0b5";
	-webkit-font-smoothing: antialiased;
	font-smoothing: antialiased;
	text-rendering: geometricPrecision;
	text-indent: 0;
	display: inline-block;
	position: relative;
	margin-right: 0.35714em;
}
.mod_search .url .filesize {
	font-size: 0.85714em;
}

.comment_default {
	margin: 1.6875em 0;
	padding: 1.25em 6.25% 0;
	border: 1px solid #bbbbbb;
	border-radius: 0;
	font-size: 1em;
	background: #ffffff;
	background-image: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.02));
	box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
}
.comment_default .info {
	margin-top: 0;
	border-bottom: 1px solid #bbbbbb;
}
.comment_default .reply {
	margin-left: 6.66667%;
}
.comment_default .reply .info {
	font-weight: bold;
}

.ce_comments .form {
	margin-top: 2.25em;
}
.ce_comments .form .widget {
	clear: none;
	margin-top: 1.5em;
}
.ce_comments .form .widget:nth-of-type(-n+4) {
	float: left;
	width: 46.66667%;
}
@media screen and (max-width: 900px) {
	.ce_comments .form .widget:nth-of-type(-n+4) {
		width: 100%;
	}
}
.ce_comments .form .widget:nth-of-type(-2n+4) {
	margin-right: -1%;
	margin-left: 6.66667%;
}
@media screen and (max-width: 900px) {
	.ce_comments .form .widget:nth-of-type(-2n+4) {
		margin-right: 0;
		margin-left: 0;
	}
}
.ce_comments .form .widget:nth-of-type(5) {
	clear: both;
	padding-top: 1.5em;
}
.ce_comments .form .widget input {
	width: 100%;
}
.ce_comments .form .widget textarea {
	width: 100%;
}
.ce_comments .form .checkbox_container {
	margin: 0;
	border: 0;
	margin-top: -1.125em;
	padding: 0;
}
.ce_comments h2 + .form,
.ce_comments h2 + .form > form {
	margin-top: 0;
}

.mod_sitemap ul {
	padding-left: 0;
	list-style-type: none;
}
.mod_sitemap ul li:before {
	content: none;
}
.mod_sitemap ul li li {
	padding: 0.1875em 0 0.1875em 1.75em;
	font-size: 1em;
}
.mod_sitemap ul li li.submenu ul {
	margin: 0;
}
.mod_sitemap > ul > li:before {
	font: 100%/1 "RockSolid Icons";
	content: "\e083";
	-webkit-font-smoothing: antialiased;
	font-smoothing: antialiased;
	text-rendering: geometricPrecision;
	text-indent: 0;
	display: inline-block;
	position: relative;
	margin-right: 0.625em;
	color: #b8440a;
}
.mod_sitemap a:before {
	margin-right: 0.5em;
}

.mod_subscribe {
	position: relative;
}
.mod_subscribe .widget {
	display: inline;
}
.mod_subscribe input[type=text],
.mod_subscribe input[type=email] {
	width: 75%;
}
@media screen and (max-width: 900px) {
	.mod_subscribe input[type=text],
	.mod_subscribe input[type=email] {
		display: block;
		width: 100%;
		margin: 0 auto 0.625em;
	}
}
.mod_subscribe .submit {
	vertical-align: top;
	overflow: hidden;
	width: 20%;
	margin-top: 0;
	padding: 0.875em 1.25em 0.625em;
	text-align: center;
}
@media screen and (max-width: 900px) {
	.mod_subscribe .submit {
		width: 100%;
	}
}
.mod_subscribe.-centered {
	text-align: center;
}
.centered-wrapper .mod_subscribe input[type=text],
.centered-wrapper .mod_subscribe input[type=email] {
	width: 30%;
	min-width: 16.25em;
}
.centered-wrapper .mod_subscribe .submit {
	width: auto;
}
.sidebar .mod_subscribe input[type=text],
.sidebar .mod_subscribe input[type=email] {
	width: 75%;
}
@media screen and (max-width: 900px) {
	.sidebar .mod_subscribe input[type=text],
	.sidebar .mod_subscribe input[type=email] {
		display: inline;
		margin: 0;
	}
}
.sidebar .mod_subscribe .submit {
	width: 20%;
	padding: 1em 0 0.78571em;
	text-indent: -99em;
	line-height: 0;
}
.sidebar .mod_subscribe .submit:after {
	font: 100%/1 "RockSolid Icons";
	content: "\e0ce";
	-webkit-font-smoothing: antialiased;
	font-smoothing: antialiased;
	text-rendering: geometricPrecision;
	text-indent: 0;
	display: inline-block;
	position: relative;
	left: 1px;
	display: block;
	font-size: 1.14286em;
}

/* ===========================================
 * Sidebar / Widgets
 * ======================================== */
.sidebar {
	position: relative;
	float: left;
	width: 22.22222%;
	margin: 2.5em 0 0 3.7037%;
	font-size: 0.875em;
}
@media screen and (max-width: 1280px) {
	.sidebar {
		float: none;
		clear: both;
		width: auto;
		margin-right: 0;
		margin-left: 0;
	}
}
@media screen and (max-width: 900px) {
	.sidebar {
		margin-right: 5.55556%;
		margin-left: 5.55556%;
	}
}
.tao-sidebar-right .sidebar {
	float: right;
	margin-right: 3.7037%;
	margin-left: 0;
}
@media screen and (max-width: 1280px) {
	.tao-sidebar-right .sidebar {
		float: none;
		margin-right: 0;
		margin-left: 0;
	}
}
@media screen and (max-width: 900px) {
	.tao-sidebar-right .sidebar {
		margin-right: 5.55556%;
		margin-left: 5.55556%;
	}
}
.tao-3-columns .sidebar {
	width: 18.51852%;
}
@media screen and (max-width: 1280px) {
	.tao-3-columns .sidebar {
		width: auto;
	}
}
.tao-3-columns .sidebar.-right {
	left: 51.85185%;
	margin-right: -18.51852%;
}
@media screen and (max-width: 1280px) {
	.tao-3-columns .sidebar.-right {
		left: auto;
		clear: none;
		margin-right: 0;
	}
}
@media screen and (max-width: 900px) {
	.tao-3-columns .sidebar.-right {
		margin-right: 5.55556%;
	}
}
.sidebar h1,
.sidebar h2,
.sidebar h3,
.sidebar h4 {
	margin: 2em 0 0.5em;
	padding: 0 0 0.42857em;
	font-size: 1em;
	font-weight: bold;
	color: #333333;
}
.sidebar p,
.sidebar ul,
.sidebar ol,
.sidebar table,
.sidebar blockquote,
.sidebar fieldset,
.sidebar form {
	margin: 1em 0;
}
.sidebar ul,
.sidebar ol {
	padding: 0;
	list-style-type: none;
}
.sidebar > .block {
	margin: 1.25em 0;
}
@media screen and (max-width: 1280px) {
	.sidebar > .block {
		float: left;
		width: 41.66667%;
		margin-left: 5.55556%;
	}
}
@media screen and (max-width: 900px) {
	.sidebar > .block {
		float: none;
		width: auto;
		margin-left: 0;
	}
}
.sidebar .ce_youtube-wrapper,
.sidebar .ce_vimeo-wrapper {
	margin: 0.75em 0;
}
.sidebar .media > figure,
.sidebar .content-image > figure,
.sidebar .image_container {
	margin: 0.75em 0 0;
}

@media screen and (max-width: 900px) {
	.sub-navigation {
		display: none;
	}
}
.sub-navigation > ul > li > a {
	color: #333333;
}
.sub-navigation ul {
	margin: 0;
	padding: 0;
}
.sub-navigation ul a,
.sub-navigation ul strong,
.sub-navigation ul span.trail,
.sub-navigation ul span.active,
.sub-navigation ul span.forward {
	position: relative;
	display: block;
	margin: 0 -0.28571em;
	padding: 0.28571em;
	color: #333333;
	transition: background-color 0.6s ease-in, color 0.6s ease-in;
}
.sub-navigation ul a:hover,
.sub-navigation ul strong:hover,
.sub-navigation ul span.trail:hover,
.sub-navigation ul span.active:hover,
.sub-navigation ul span.forward:hover {
	border-radius: 0;
	color: #333333;
	text-decoration: none;
	background-color: #bbbbbb;
	transition-duration: 0.05s;
}
.sub-navigation ul a:before,
.sub-navigation ul strong:before,
.sub-navigation ul span.trail:before,
.sub-navigation ul span.active:before,
.sub-navigation ul span.forward:before {
	margin-right: 0.42857em;
}
.sub-navigation ul a.active,
.sub-navigation ul strong.active,
.sub-navigation ul span.active {
	color: #883207;
}
.sub-navigation ul a.trail,
.sub-navigation ul strong.trail,
.sub-navigation ul span.trail {
	color: #b8440a;
}
.sub-navigation ul ul {
	margin-left: 0.85714em;
}
.sub-navigation li {
	padding: 0.14286em 0.42857em;
	border-top: 1px solid #bbbbbb;
}
.sub-navigation li:before {
	content: none;
}
.sub-navigation li:first-child,
.sub-navigation li li li {
	border: 0;
}
.sub-navigation li li {
	margin-right: -0.42857em;
}

/* ===========================================
 * Footer
 * ======================================== */
.footer-bar {
	padding: 1.71429em 0;
	font-size: 0.875em;
	color: #333333;
}
.footer-bar.-color-inverted {
	color: #ffffff;
	background: #333333;
}
.footer-bar h1,
.footer-bar h2,
.footer-bar h3 {
	margin: 1em 0;
	padding-bottom: 0.21429em;
	border-bottom: 1px solid #bbbbbb;
	font-size: 1em;
	font-weight: bold;
}
.footer-bar ul {
	list-style: none;
	padding: 0;
}
.footer-bar .widget {
	margin: 1em 0;
}
.footer-bar label {
	display: block;
}
.footer-bar input,
.footer-bar textarea,
.footer-bar select,
.footer-bar fieldset {
	display: block;
	width: 100%;
}
.footer-bar input[type=submit],
.footer-bar button {
	margin-top: 0.375em;
}
.footer-bar textarea {
	height: 6.25em;
}

.icon-text-block {
	position: relative;
	padding-left: 1.875em;
}
.icon-text-block:before {
	position: absolute;
	top: 0.21429em;
	left: 0;
}

.footer-news h1,
.footer-news h2,
.footer-news h3 {
	margin-bottom: 1.14286em;
}

.news-footer-item {
	margin: 0.57143em 0;
	min-height: 2.57143em;
}
.news-footer-item:hover time:before {
	top: 0.4em;
}
.news-footer-item:hover b {
	margin-top: 40px;
}
.news-footer-item time {
	position: relative;
	float: left;
	width: 3.6em;
	height: 3.6em;
	padding: 0.6em 0 0;
	overflow: hidden;
	font-size: 0.71429em;
	font-weight: bold;
	line-height: 1;
	color: #ffffff;
	text-transform: uppercase;
	text-align: center;
	background: #333333;
}
.news-footer-item time:before {
	font: 2em/1 "RockSolid Icons";
	content: "\e0dd";
	-webkit-font-smoothing: antialiased;
	font-smoothing: antialiased;
	text-rendering: geometricPrecision;
	text-indent: 0;
	display: inline-block;
	position: relative;
	position: absolute;
	top: -1em;
	left: 0.4em;
	transition: top 0.2s ease-out;
}
.news-footer-item time b {
	display: block;
	font-size: 1.4em;
	font-weight: inherit;
	transition: margin 0.2s ease-out;
}
.-color-inverted .news-footer-item time {
	background: #ffffff;
	color: #333333;
}
.news-footer-item a {
	display: block;
	line-height: 1.28571em;
}
.news-footer-item time + a {
	padding-left: 3.1875em;
}

.footer-navigation {
	float: left;
	margin: 0;
	font-size: 0.875em;
	color: #333333;
}
@media screen and (max-width: 900px) {
	.footer-navigation {
		float: none;
		padding: 0.5em 0;
		text-align: center;
	}
}
.footer-navigation ul,
.footer-navigation li {
	display: inline;
	margin: 0;
	padding: 0;
}
.footer-navigation > ul > li:before {
	font-size: 0.75em;
}
.footer-navigation > ul > li a,
.footer-navigation > ul > li strong,
.footer-navigation > ul > li span.trail,
.footer-navigation > ul > li span.active,
.footer-navigation > ul > li span.forward {
	position: relative;
	display: inline-block;
	padding: 2.14286em 0;
	margin-right: 3.14286em;
	color: inherit;
}
@media screen and (max-width: 1280px) {
	.footer-navigation > ul > li a,
	.footer-navigation > ul > li strong,
	.footer-navigation > ul > li span.trail,
	.footer-navigation > ul > li span.active,
	.footer-navigation > ul > li span.forward {
		margin-right: 1.57143em;
	}
}
@media screen and (max-width: 900px) {
	.footer-navigation > ul > li a,
	.footer-navigation > ul > li strong,
	.footer-navigation > ul > li span.trail,
	.footer-navigation > ul > li span.active,
	.footer-navigation > ul > li span.forward {
		margin: 0 0.78571em;
		padding: 0.5em 0;
	}
}
.footer-navigation > ul > li a:before,
.footer-navigation > ul > li strong:before,
.footer-navigation > ul > li span.trail:before,
.footer-navigation > ul > li span.active:before,
.footer-navigation > ul > li span.forward:before {
	content: none;
}
.footer-navigation > ul > li a:after,
.footer-navigation > ul > li strong:after,
.footer-navigation > ul > li span.trail:after,
.footer-navigation > ul > li span.active:after,
.footer-navigation > ul > li span.forward:after {
	content: "";
	position: absolute;
	top: auto;
	bottom: -1px;
	right: 50%;
	left: 50%;
	border-top: 2px solid #333333;
	transition: right 0.4s ease-out, left 0.4s ease-out;
}
.footer-navigation > ul > li a:hover,
.footer-navigation > ul > li strong:hover,
.footer-navigation > ul > li span.trail:hover,
.footer-navigation > ul > li span.active:hover,
.footer-navigation > ul > li span.forward:hover {
	text-decoration: none;
}
.footer-navigation > ul > li a:hover:after,
.footer-navigation > ul > li strong:hover:after,
.footer-navigation > ul > li span.trail:hover:after,
.footer-navigation > ul > li span.active:hover:after,
.footer-navigation > ul > li span.forward:hover:after {
	right: 0;
	left: 0;
	transition-duration: 0.1s, 0.1s;
}

.footer-icon-links {
	float: right;
	margin: 0;
	padding: 0;
	border-right: 1px solid #bbbbbb;
}
@media screen and (max-width: 900px) {
	.footer-icon-links {
		float: none;
		border-right: 0;
		text-align: center;
	}
}
.footer-icon-links li {
	display: inline;
}
.footer-icon-links a {
	float: left;
	position: relative;
	width: 2.75em;
	height: 5.0625em;
	overflow: hidden;
	border-left: 1px solid #bbbbbb;
	line-height: 0;
	/* Fixes Chrome bug */
	letter-spacing: -1em;
	color: #333333;
	text-indent: -99em;
	text-decoration: none;
}
@media screen and (max-width: 900px) {
	.footer-icon-links a {
		display: inline-block;
		float: none;
		height: 2.75em;
		border-left: 0;
	}
}
.footer-icon-links a:before,
.footer-icon-links a:after {
	font: 1.375em/1 "RockSolid Icons";
	content: attr(data-icon);
	-webkit-font-smoothing: antialiased;
	font-smoothing: antialiased;
	text-rendering: geometricPrecision;
	text-indent: 0;
	display: inline-block;
	position: relative;
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	box-sizing: border-box;
	width: 100%;
	height: 100%;
	padding-top: 0.04545em;
	line-height: 3.68227;
	letter-spacing: 0;
	text-align: center;
	background: #ffffff;
	transition: top 0.5s ease-out;
}
@media screen and (max-width: 900px) {
	.footer-icon-links a:before,
	.footer-icon-links a:after {
		line-height: 2.00045;
	}
}
.footer-icon-links a:after {
	top: 100%;
	color: #ffffff;
	background: transparent;
}
.footer-icon-links a:hover:before,
.footer-icon-links a:hover:after,
.footer-icon-links a:focus:before,
.footer-icon-links a:focus:after {
	transition: top 0.2s ease-out;
}
.footer-icon-links a:hover:before,
.footer-icon-links a:focus:before {
	top: -100%;
}
.footer-icon-links a:hover:after,
.footer-icon-links a:focus:after {
	top: 0;
}

.footer-copyright {
	float: left;
	margin: 0;
	padding: 2.14286em 0;
	font-size: 0.875em;
	color: #333333;
}
.footer-copyright .rocksolid-copyright {
	color: inherit;
	opacity: 0.6;
}
@media screen and (max-width: 1280px) {
	.footer-copyright {
		float: none;
		padding-bottom: 1em;
	}
}

.footer-links {
	float: right;
	margin: 0;
	padding: 2.14286em 0;
	font-size: 0.875em;
	color: #333333;
}
@media screen and (max-width: 1280px) {
	.footer-links {
		float: none;
		padding-top: 0;
	}
}
.footer-links ul,
.footer-links li {
	display: inline;
	margin: 0;
	padding: 0;
}
.footer-links li:before {
	content: "";
	display: inline-block;
	width: 1px;
	height: 0.78571em;
	margin: 0 0.57143em 0 0.35714em;
	background: #333333;
}
.footer-links li:first-child:before {
	content: none;
}
.footer-links a,
.footer-links strong,
.footer-links span.trail,
.footer-links span.active,
.footer-links span.forward {
	color: inherit;
}

.footer-top-link {
	position: relative;
	display: block;
	width: 2.875em;
	height: 2.875em;
	margin: 0 auto;
	color: #333333;
	white-space: nowrap;
}
.footer-top-link:after {
	font: 1em/1 "RockSolid Icons";
	content: "\e01a";
	-webkit-font-smoothing: antialiased;
	font-smoothing: antialiased;
	text-rendering: geometricPrecision;
	text-indent: 0;
	display: inline-block;
	position: relative;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	padding-top: 0.9375em;
	border: 1px solid #bbbbbb;
	border-bottom: 0;
	border-radius: 1px 1px 0 0;
	text-align: center;
	background: #ffffff;
	box-sizing: border-box;
	box-shadow: 0 0 7px rgba(0, 0, 0, 0.15);
}
.footer-top-link > span {
	position: absolute;
	top: 0;
	right: 0;
	margin: 1em 0.71429em 0;
	font-size: 0.875em;
	color: #333333;
	opacity: 0;
	pointer-events: none;
	transition: all 0.4s ease-out;
}
.footer-top-link > span + span {
	right: auto;
	left: 0;
}
.footer-top-link:hover,
.footer-top-link:focus {
	/* Fixes IE bug */
	text-decoration: none;
}
.footer-top-link:hover > span,
.footer-top-link:focus > span {
	right: 100%;
	opacity: 1;
	transition-duration: 0.2s;
}
.footer-top-link:hover > span + span,
.footer-top-link:focus > span + span {
	right: auto;
	left: 100%;
}

/* ===========================================
 * Slider
 * ======================================== */
.main-slider {
	height: 600px;
}
@media screen and (max-width: 900px) {
	.main-slider {
		height: auto;
	}
	.main-slider img {
		max-width: 100%;
		height: auto;
	}
}

.rsts-skin-testimonials .testimonial {
	margin: 0;
}
.rsts-skin-testimonials.rsts-main {
	position: relative;
	margin: 1.6875em 0;
	padding: 2em 0 0 0;
}
.rsts-skin-testimonials .rsts-header {
	margin-top: -2em;
}
.rsts-skin-testimonials .rsts-header h1,
.rsts-skin-testimonials .rsts-header h2,
.rsts-skin-testimonials .rsts-header h3,
.rsts-skin-testimonials .rsts-header h4,
.rsts-skin-testimonials .rsts-header h5,
.rsts-skin-testimonials .rsts-header h6 {
	margin: 0 0 1em;
	padding: 0 5em;
	font-size: 0.875em;
	font-weight: bold;
	color: #333333;
	text-align: center;
}
.rsts-skin-testimonials .rsts-prev,
.rsts-skin-testimonials .rsts-next {
	position: absolute;
	top: -2.375em;
	right: 1.375em;
	overflow: hidden;
	text-indent: -99em;
	line-height: 0;
}
.rsts-skin-testimonials .rsts-prev:hover,
.rsts-skin-testimonials .rsts-prev:focus,
.rsts-skin-testimonials .rsts-next:hover,
.rsts-skin-testimonials .rsts-next:focus {
	text-decoration: none;
}
.rsts-skin-testimonials .rsts-prev:after,
.rsts-skin-testimonials .rsts-next:after {
	font: 0.875em/1 "RockSolid Icons";
	content: "\e018";
	-webkit-font-smoothing: antialiased;
	font-smoothing: antialiased;
	text-rendering: geometricPrecision;
	text-indent: 0;
	display: inline-block;
	position: relative;
	display: block;
	padding: 0.57143em;
	color: #bbbbbb;
}
.rsts-skin-testimonials .rsts-prev:hover:after,
.rsts-skin-testimonials .rsts-prev:focus:after,
.rsts-skin-testimonials .rsts-next:hover:after,
.rsts-skin-testimonials .rsts-next:focus:after {
	color: #a2a2a2;
}
.rsts-skin-testimonials .rsts-next {
	right: -0.5625em;
}
.rsts-skin-testimonials .rsts-next:after {
	content: "\e019";
}
.rsts-skin-testimonials .rsts-nav {
	position: absolute;
	left: -4px;
	top: 0;
	line-height: 0;
}
.rsts-skin-testimonials .rsts-nav ul {
	margin: 0;
	padding: 0;
}
.rsts-skin-testimonials .rsts-nav li {
	display: inline;
}
.rsts-skin-testimonials .rsts-nav a {
	float: left;
	width: 18px;
	height: 18px;
	overflow: hidden;
	outline: none;
	padding: 5px;
	text-indent: -99em;
}
.rsts-skin-testimonials .rsts-nav a:after {
	content: "";
	display: block;
	width: 6px;
	height: 6px;
	border: 1px solid #bbbbbb;
	border-radius: 100%;
	background: #bbbbbb;
	background: rgba(187, 187, 187, 0.5);
}
.rsts-skin-testimonials .rsts-nav a:hover:after,
.rsts-skin-testimonials .rsts-nav a.active:after {
	background-color: #bbbbbb;
}
.rsts-skin-testimonials .rsts-nav-prev,
.rsts-skin-testimonials .rsts-nav-next {
	display: none !important;
}

.rsts-skin-tao.rsts-main {
	position: relative;
}
.rsts-skin-tao .rsts-caption {
	position: absolute;
	top: 1.25em;
	left: 1.25em;
	padding: 0.1875em 0.625em;
	color: white;
	border-radius: 0;
	background-color: #b8440a;
	opacity: 0;
	transition: opacity 0.2s;
}
.rsts-skin-tao .rsts-prev,
.rsts-skin-tao .rsts-next,
.rsts-skin-tao .rsts-video-play,
.rsts-skin-tao .rsts-video-stop {
	position: absolute;
	top: 50%;
	left: 1.25em;
	margin-top: -1.375em;
	border-radius: 0;
	overflow: hidden;
	text-indent: -99em;
	line-height: 0;
	background-color: #b8440a;
	opacity: 0;
	transition: opacity 0.2s;
}
.rsts-skin-tao .rsts-prev:hover,
.rsts-skin-tao .rsts-prev:focus,
.rsts-skin-tao .rsts-next:hover,
.rsts-skin-tao .rsts-next:focus,
.rsts-skin-tao .rsts-video-play:hover,
.rsts-skin-tao .rsts-video-play:focus,
.rsts-skin-tao .rsts-video-stop:hover,
.rsts-skin-tao .rsts-video-stop:focus {
	text-decoration: none;
}
.sidebar .rsts-skin-tao .rsts-prev,
.sidebar .rsts-skin-tao .rsts-next,
.sidebar .rsts-skin-tao .rsts-video-play,
.sidebar .rsts-skin-tao .rsts-video-stop {
	bottom: 0.375em;
}
.rsts-skin-tao .rsts-prev:after,
.rsts-skin-tao .rsts-next:after,
.rsts-skin-tao .rsts-video-play:after,
.rsts-skin-tao .rsts-video-stop:after {
	font: 0.875em/1 "RockSolid Icons";
	content: "\e018";
	-webkit-font-smoothing: antialiased;
	font-smoothing: antialiased;
	text-rendering: geometricPrecision;
	text-indent: 0;
	display: inline-block;
	position: relative;
	display: block;
	padding: 1.07143em;
	color: white;
}
.rsts-skin-tao:hover .rsts-prev,
.rsts-skin-tao:hover .rsts-next,
.rsts-skin-tao:hover .rsts-nav,
.rsts-skin-tao:hover .rsts-caption {
	opacity: 0.8;
}
.rsts-skin-tao:hover .rsts-prev:hover,
.rsts-skin-tao:hover .rsts-next:hover,
.rsts-skin-tao:hover .rsts-nav:hover,
.rsts-skin-tao:hover .rsts-caption:hover {
	opacity: 1;
}
.rsts-skin-tao .rsts-next {
	left: auto;
	right: 1.25em;
}
.rsts-skin-tao .rsts-next:after {
	content: "\e019";
}
.tao-fullwidth .tagline .rsts-skin-tao .rsts-prev {
	left: 0;
	left: var(--safe-area-left);
	border-radius: 0 0 0 0;
}
.tao-fullwidth .tagline .rsts-skin-tao .rsts-next {
	right: 0;
	right: var(--safe-area-right);
	border-radius: 0 0 0 0;
}
.rsts-skin-tao .rsts-nav {
	position: absolute;
	left: 0;
	bottom: 12%;
	width: 100%;
	opacity: 0;
}
@media screen and (max-width: 900px) {
	.rsts-skin-tao .rsts-nav {
		bottom: 30px;
	}
}
.rsts-skin-tao .rsts-nav ul {
	/* Setting height to zero to fix click area */
	height: 0;
	margin: 0;
	padding: 0;
	text-align: center;
}
.rsts-skin-tao .rsts-nav li {
	display: inline;
}
.rsts-skin-tao .rsts-nav a {
	display: inline-block;
	outline: none;
	margin: 3px;
	padding: 5px;
}
.rsts-skin-tao .rsts-nav-bullets a {
	overflow: hidden;
	width: 18px;
	height: 18px;
	padding: 6px;
	line-height: 0;
	text-indent: -99em;
}
.rsts-skin-tao .rsts-nav-bullets a:after {
	content: "";
	display: block;
	width: 6px;
	height: 6px;
	border: 2px solid #b8440a;
	border-radius: 100%;
	background-color: white;
}
.rsts-skin-tao .rsts-nav-bullets a:hover:after,
.rsts-skin-tao .rsts-nav-bullets a.active:after {
	background-color: #b8440a;
}
.rsts-skin-tao .rsts-nav-numbers a,
.rsts-skin-tao .rsts-nav-tabs a {
	margin: 5px;
	border: 2px solid #b8440a;
	border-radius: 0;
	font-size: 0.8125em;
	line-height: 0.61538em;
	color: #333333;
	background-color: white;
}
.rsts-skin-tao .rsts-nav-numbers a:hover,
.rsts-skin-tao .rsts-nav-numbers a.active,
.rsts-skin-tao .rsts-nav-tabs a:hover,
.rsts-skin-tao .rsts-nav-tabs a.active {
	color: white;
	background-color: #b8440a;
	text-decoration: none;
}
.rsts-skin-tao .rsts-nav-thumbs a {
	margin: 0;
	padding: 0;
}
.rsts-skin-tao .rsts-nav-prev,
.rsts-skin-tao .rsts-nav-next {
	display: none !important;
}
.rsts-skin-tao .rsts-video-play,
.rsts-skin-tao .rsts-video-stop {
	opacity: 1;
}
.rsts-skin-tao .rsts-video-play {
	top: 50%;
	right: auto;
	bottom: auto;
	left: 50%;
	width: 5.25em;
	height: 5.25em;
	margin: -2.625em 0 0 -2.625em;
	border: 3px solid #b8440a;
	border-radius: 100%;
	background-color: rgba(184, 68, 10, 0.6);
	transition: background-color 0.3s;
}
.rsts-skin-tao .rsts-video-play:after {
	content: "\25b6";
	padding: 0;
	margin-left: 0.21429em;
	font-size: 1.75em;
	line-height: 2.78571em;
	text-align: center;
}
.rsts-skin-tao .rsts-video-play:hover {
	background-color: #b8440a;
}
.rsts-skin-tao .rsts-video-stop {
	top: 20px;
	right: 20px;
	left: auto;
	margin-top: 0;
	border-radius: 0;
}
.rsts-skin-tao .rsts-video-stop:after {
	content: "\d7";
	color: white;
	padding: 0.78571em;
}
.rsts-skin-tao .rsts-video-youtube > .rsts-video-stop {
	top: 30px;
	right: 10px;
	background-color: #1b1b1b;
}
.rsts-skin-tao .rsts-video-youtube > .rsts-video-stop:hover {
	background-color: #cc181e;
}
.rsts-skin-tao .rsts-video-vimeo > .rsts-video-stop {
	top: 10px;
	right: auto;
	left: 10px;
	background-color: #111a19;
}
.rsts-skin-tao .rsts-video-vimeo > .rsts-video-stop:hover {
	background-color: #00adef;
}
.rsts-skin-tao .rsts-video-ipad > .rsts-video-iframe {
	padding-top: 38px;
	background-color: black;
}
.rsts-skin-tao .rsts-video-ipad > .rsts-video-stop {
	top: 1px;
	right: 10px;
	left: auto;
}
.rsts-skin-tao.rsts-video-playing .rsts-nav,
.rsts-skin-tao.rsts-video-playing .rsts-prev,
.rsts-skin-tao.rsts-video-playing .rsts-next {
	display: none;
}
.rsts-skin-tao.rsts-touch .rsts-nav {
	opacity: 1;
}
.rsts-skin-tao .rsts-progress {
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 2px;
	background-color: black;
	opacity: 0;
	transition: opacity 0.2s linear;
}
.rsts-skin-tao .rsts-progress div {
	height: 100%;
	background-color: white;
}
.rsts-skin-tao .rsts-progress.rsts-progress-active {
	opacity: 0.3;
}

.rsts-skin-testimonials-centered.rsts-main,
.rsts-skin-partner.rsts-main,
.rsts-skin-mega-dropdown.rsts-main {
	position: relative;
	margin: 2.25em 0;
}
.rsts-skin-testimonials-centered .rsts-view,
.rsts-skin-partner .rsts-view,
.rsts-skin-mega-dropdown .rsts-view {
	padding: 0 3.75em;
}
@media screen and (max-width: 900px) {
	.rsts-skin-testimonials-centered .rsts-view,
	.rsts-skin-partner .rsts-view,
	.rsts-skin-mega-dropdown .rsts-view {
		padding-right: 1.875em;
		padding-left: 1.875em;
	}
}
.rsts-skin-testimonials-centered .rsts-nav ul,
.rsts-skin-partner .rsts-nav ul,
.rsts-skin-mega-dropdown .rsts-nav ul {
	height: 0;
	margin: 0;
}
.rsts-skin-testimonials-centered .rsts-prev,
.rsts-skin-testimonials-centered .rsts-next,
.rsts-skin-partner .rsts-prev,
.rsts-skin-partner .rsts-next,
.rsts-skin-mega-dropdown .rsts-prev,
.rsts-skin-mega-dropdown .rsts-next {
	position: absolute;
	top: 50%;
	left: 0;
	margin-top: -1em;
	border: 1px solid #bbbbbb;
	overflow: hidden;
	text-indent: -99em;
	line-height: 0;
	background-color: #ffffff;
}
.rsts-skin-testimonials-centered .rsts-prev:hover,
.rsts-skin-testimonials-centered .rsts-prev:focus,
.rsts-skin-testimonials-centered .rsts-next:hover,
.rsts-skin-testimonials-centered .rsts-next:focus,
.rsts-skin-partner .rsts-prev:hover,
.rsts-skin-partner .rsts-prev:focus,
.rsts-skin-partner .rsts-next:hover,
.rsts-skin-partner .rsts-next:focus,
.rsts-skin-mega-dropdown .rsts-prev:hover,
.rsts-skin-mega-dropdown .rsts-prev:focus,
.rsts-skin-mega-dropdown .rsts-next:hover,
.rsts-skin-mega-dropdown .rsts-next:focus {
	text-decoration: none;
}
.sidebar .rsts-skin-testimonials-centered .rsts-prev,
.sidebar .rsts-skin-testimonials-centered .rsts-next,
.sidebar .rsts-skin-partner .rsts-prev,
.sidebar .rsts-skin-partner .rsts-next,
.sidebar .rsts-skin-mega-dropdown .rsts-prev,
.sidebar .rsts-skin-mega-dropdown .rsts-next {
	bottom: 0.375em;
}
.rsts-skin-testimonials-centered .rsts-prev:after,
.rsts-skin-testimonials-centered .rsts-next:after,
.rsts-skin-partner .rsts-prev:after,
.rsts-skin-partner .rsts-next:after,
.rsts-skin-mega-dropdown .rsts-prev:after,
.rsts-skin-mega-dropdown .rsts-next:after {
	font: 0.875em/1 "RockSolid Icons";
	content: "\e018";
	-webkit-font-smoothing: antialiased;
	font-smoothing: antialiased;
	text-rendering: geometricPrecision;
	text-indent: 0;
	display: inline-block;
	position: relative;
	display: block;
	padding: 0.57143em;
	color: #333333;
}
.rsts-skin-testimonials-centered .rsts-prev:hover:after,
.rsts-skin-testimonials-centered .rsts-prev:focus:after,
.rsts-skin-testimonials-centered .rsts-next:hover:after,
.rsts-skin-testimonials-centered .rsts-next:focus:after,
.rsts-skin-partner .rsts-prev:hover:after,
.rsts-skin-partner .rsts-prev:focus:after,
.rsts-skin-partner .rsts-next:hover:after,
.rsts-skin-partner .rsts-next:focus:after,
.rsts-skin-mega-dropdown .rsts-prev:hover:after,
.rsts-skin-mega-dropdown .rsts-prev:focus:after,
.rsts-skin-mega-dropdown .rsts-next:hover:after,
.rsts-skin-mega-dropdown .rsts-next:focus:after {
	color: #1a1a1a;
}
.rsts-skin-testimonials-centered .rsts-next,
.rsts-skin-partner .rsts-next,
.rsts-skin-mega-dropdown .rsts-next {
	left: auto;
	right: 0;
}
.rsts-skin-testimonials-centered .rsts-next:after,
.rsts-skin-partner .rsts-next:after,
.rsts-skin-mega-dropdown .rsts-next:after {
	content: "\e019";
}
.rsts-skin-testimonials-centered .rsts-nav-prev,
.rsts-skin-testimonials-centered .rsts-nav-next,
.rsts-skin-partner .rsts-nav-prev,
.rsts-skin-partner .rsts-nav-next,
.rsts-skin-mega-dropdown .rsts-nav-prev,
.rsts-skin-mega-dropdown .rsts-nav-next {
	display: none !important;
}

.rsts-skin-testimonials-centered .rsts-nav,
.rsts-skin-partner .rsts-nav,
.rsts-skin-mega-dropdown .rsts-nav,
.rsts-skin-carousel .rsts-nav {
	line-height: 0;
}
.rsts-skin-testimonials-centered .rsts-nav ul,
.rsts-skin-partner .rsts-nav ul,
.rsts-skin-mega-dropdown .rsts-nav ul,
.rsts-skin-carousel .rsts-nav ul {
	padding: 0;
	text-align: center;
}
.rsts-skin-testimonials-centered .rsts-nav .rsts-nav-item,
.rsts-skin-partner .rsts-nav .rsts-nav-item,
.rsts-skin-mega-dropdown .rsts-nav .rsts-nav-item,
.rsts-skin-carousel .rsts-nav .rsts-nav-item {
	display: inline;
}
.rsts-skin-testimonials-centered .rsts-nav .rsts-nav-item a,
.rsts-skin-partner .rsts-nav .rsts-nav-item a,
.rsts-skin-mega-dropdown .rsts-nav .rsts-nav-item a,
.rsts-skin-carousel .rsts-nav .rsts-nav-item a {
	display: inline-block;
	vertical-align: middle;
	width: 18px;
	height: 18px;
	overflow: hidden;
	outline: none;
	padding: 5px;
	text-indent: -99em;
}
.rsts-skin-testimonials-centered .rsts-nav .rsts-nav-item a:after,
.rsts-skin-partner .rsts-nav .rsts-nav-item a:after,
.rsts-skin-mega-dropdown .rsts-nav .rsts-nav-item a:after,
.rsts-skin-carousel .rsts-nav .rsts-nav-item a:after {
	content: "";
	display: block;
	width: 6px;
	height: 6px;
	border: 1px solid #bbbbbb;
	border-radius: 100%;
	background: #bbbbbb;
	background: rgba(187, 187, 187, 0.5);
}
.rsts-skin-testimonials-centered .rsts-nav .rsts-nav-item a:hover,
.rsts-skin-testimonials-centered .rsts-nav .rsts-nav-item a.active,
.rsts-skin-partner .rsts-nav .rsts-nav-item a:hover,
.rsts-skin-partner .rsts-nav .rsts-nav-item a.active,
.rsts-skin-mega-dropdown .rsts-nav .rsts-nav-item a:hover,
.rsts-skin-mega-dropdown .rsts-nav .rsts-nav-item a.active,
.rsts-skin-carousel .rsts-nav .rsts-nav-item a:hover,
.rsts-skin-carousel .rsts-nav .rsts-nav-item a.active {
	text-decoration: none;
}
.rsts-skin-testimonials-centered .rsts-nav .rsts-nav-item a:hover:after,
.rsts-skin-testimonials-centered .rsts-nav .rsts-nav-item a.active:after,
.rsts-skin-partner .rsts-nav .rsts-nav-item a:hover:after,
.rsts-skin-partner .rsts-nav .rsts-nav-item a.active:after,
.rsts-skin-mega-dropdown .rsts-nav .rsts-nav-item a:hover:after,
.rsts-skin-mega-dropdown .rsts-nav .rsts-nav-item a.active:after,
.rsts-skin-carousel .rsts-nav .rsts-nav-item a:hover:after,
.rsts-skin-carousel .rsts-nav .rsts-nav-item a.active:after {
	background-color: #bbbbbb;
}

.rsts-skin-partner .rsts-nav {
	margin: 1.5em 0;
}

.rsts-skin-mega-dropdown.rsts-main {
	margin: 0;
}
.rsts-skin-mega-dropdown .rsts-view {
	padding: 0;
}
.rsts-skin-mega-dropdown .rsts-prev {
	left: -6%;
	right: auto;
}
.rsts-skin-mega-dropdown .rsts-next {
	left: auto;
	right: -6%;
}
.rsts-skin-mega-dropdown .rsts-nav {
	text-align: center;
}

.rsts-skin-carousel .rsts-nav ul {
	margin: 0.375em 0;
}
.rsts-skin-carousel .rsts-prev,
.rsts-skin-carousel .rsts-next {
	display: none !important;
}
.rsts-skin-carousel .rsts-nav-prev,
.rsts-skin-carousel .rsts-nav-next {
	display: inline;
	margin-right: 1.25em;
}
.rsts-skin-carousel .rsts-nav-prev a,
.rsts-skin-carousel .rsts-nav-next a {
	display: inline-block;
	vertical-align: middle;
	overflow: hidden;
	text-indent: -99em;
	line-height: 0;
}
.rsts-skin-carousel .rsts-nav-prev a:after,
.rsts-skin-carousel .rsts-nav-next a:after {
	font: 1em/1 "RockSolid Icons";
	content: "\e018";
	-webkit-font-smoothing: antialiased;
	font-smoothing: antialiased;
	text-rendering: geometricPrecision;
	text-indent: 0;
	display: inline-block;
	position: relative;
	display: block;
	padding: 0.5em;
	color: #333333;
}
.rsts-skin-carousel .rsts-nav-prev a:hover,
.rsts-skin-carousel .rsts-nav-prev a:focus,
.rsts-skin-carousel .rsts-nav-next a:hover,
.rsts-skin-carousel .rsts-nav-next a:focus {
	text-decoration: none;
}
.rsts-skin-carousel .rsts-nav-prev a:hover:after,
.rsts-skin-carousel .rsts-nav-prev a:focus:after,
.rsts-skin-carousel .rsts-nav-next a:hover:after,
.rsts-skin-carousel .rsts-nav-next a:focus:after {
	color: #1a1a1a;
}
.rsts-skin-carousel .rsts-nav-next {
	margin-left: 1.25em;
	margin-right: 0;
}
.rsts-skin-carousel .rsts-nav-next a:after {
	content: "\e019";
}

.rsts-skin-light .rsts-nav {
	position: absolute;
	bottom: 20px;
	margin: 0;
	width: 100%;
}

/* roboto-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 400;
  src: url('../../files/tao/fonts/roboto-v51-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* roboto-600 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 600;
  src: url('../../files/tao/fonts/roboto-v51-latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* roboto-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 700;
  src: url('../../files/tao/fonts/roboto-v51-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* roboto-slab-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Roboto Slab';
  font-style: normal;
  font-weight: 400;
  src: url('../../files/tao/fonts/roboto-slab-v36-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* roboto-slab-600 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Roboto Slab';
  font-style: normal;
  font-weight: 600;
  src: url('../../files/tao/fonts/roboto-slab-v36-latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* roboto-slab-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Roboto Slab';
  font-style: normal;
  font-weight: 700;
  src: url('../../files/tao/fonts/roboto-slab-v36-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* ==========================================================
   Icon-Schrift mit Versionsstempel
   Stand 25.09.2026

   Die alte Website lag unter derselben Domain und lud die Icon-Schrift
   unter genau derselben Adresse. Ihre Datei war deutlich kleiner
   (386 Zeichen, 43 KB) als die heutige (474 Zeichen, 128 KB). Wer die
   alte Seite besucht hat, bekommt aus dem Browser-Cache die alte Datei –
   und dann fehlen genau die 271 später dazugekommenen Symbole. Auf einem
   frischen Gerät fiel das nie auf, gemeldet wurde es von der Kundin am
   25.09.2026 („Handy zeigt alle, Browser nur teilweise").

   Der Versionsstempel macht daraus eine neue Adresse: Der alte
   Cache-Eintrag kann nicht mehr greifen, die Schrift wird einmal neu
   geladen. Überschreibt das @font-face aus TAOs main.css – diese Datei
   wird danach eingebunden, die spätere Deklaration gewinnt.

   Beim nächsten Austausch der Schrift den Stempel mit hochzählen.
   ========================================================== */

@font-face {
	font-family: "RockSolid Icons";
	src: url("/files/tao/fonts/rocksolid-icons.woff?v=20260925") format("woff"),
	     url("/files/tao/fonts/rocksolid-icons.ttf?v=20260925") format("truetype"),
	     url("/files/tao/fonts/rocksolid-icons.svg?v=20260925") format("svg");
	font-weight: normal;
	font-style: normal;
}

.only-800px,
.only-900px {
	display: none;
}

hr.no-border {
    border-top: 1px solid transparent !important;
}

html {
	scroll-behavior: smooth;
	/* Sprungmarken und Tab-Fokus nicht hinter der fixen Kopfzeile bzw. der
	   Quicknav (WCAG 2.4.11). --vm-header-space steht hier (je Breakpoint),
	   --vm-quicknav-space in custom_quicknav.css. */
	/* !important: TAOs script.js setzt ab 900px scroll-padding-top als
	   Inline-Style am <html> – mit der Kopfzeilenhöhe OHNE ihren 1px-Rand
	   (111 statt 112px). Der Fokusring stieße dann an die Kopfzeile. */
	scroll-padding-top: var(--vm-header-space, 0px) !important;
	scroll-padding-bottom: var(--vm-quicknav-space, 0px);
}

/* ==========================================================
   Barrierefreiheit – Basis (Fokus, Sprunglinks, Touch)
   Stand 13.09.2026 · Muster aus Venne Media, JCW, Sport Hotel
   ========================================================== */

:root {
	/* Fixe Kopfzeile, gemessen: 112px (> 900px), 102px (≤ 900px),
	   84px (≤ 520px) – jeweils plus etwas Luft, s. Media Queries unten. */
	--vm-header-space: 120px;

	/* TAO schreibt die Linkfarbe DECKEND in den Tap-Highlight -> auf Android
	   blitzt ein oranges Rechteck ohne Rundung auf, die Beschriftung ist kurz
	   weg. Dämpfen statt abschalten: Auf Touch ist das die einzige
	   Rückmeldung, dass der Finger getroffen hat. */
	-webkit-tap-highlight-color: rgba(184, 68, 10, 0.18);
}

/* Sichtbarer Tastatur-Fokus (WCAG 2.4.7)
   TAO nimmt Ringe an vielen Stellen weg (button/.button outline:none,
   a:hover/a:active outline:0, Mobilmenü-Links outline:none). Deshalb global
   mit !important – Farbe und Abstand aber über Variablen: Eine Ausnahme
   braucht dann KEIN eigenes !important, es genügt --vm-focus-ring bzw.
   --vm-focus-offset am Container.
   Nicht currentColor: Buttons mit weißer Schrift bekämen sonst einen weißen
   Ring auf weißem Grund (Kontrast 1:1). */
body a:focus-visible,
body button:focus-visible,
body input:focus-visible,
body select:focus-visible,
body textarea:focus-visible,
body summary:focus-visible,
body [tabindex]:focus-visible {
	outline: 3px solid var(--vm-focus-ring, #b8440a) !important;
	outline-offset: var(--vm-focus-offset, 3px) !important;
}

/* Maus und Touch: kein Browser-Standardrand. normalize.css setzt
   a:focus { outline: thin dotted } – nach einem Klick (oder wenn das Menü
   den Fokus auf den Burger zurücksetzt) erscheint sonst ein gepunkteter,
   kaum erkennbarer Rand. Die Tastatur bekommt den Ring oben (:focus-visible). */
body :focus:not(:focus-visible) {
	outline: none !important;
}

/* Dunkle bzw. farbige Flächen: heller Ring */
.-color-inverted,
.verlauf {
	--vm-focus-ring: #ffffff;
}

/* Theme-Farben: Seit 13.09.2026 stehen Link-/Akzentfarbe im Theme
   Assistant auf #b8440a und die Überschriften auf #333 – main.css ist damit
   selbst kontrastgerecht, ein Überschreiben hier ist nicht mehr nötig.
   Beim Ändern im Theme Assistant: Schrift-Orange nie heller als #b8440a
   (#e1570c hätte auf Weiß nur 3,77:1). */

/* Nur für Screenreader (eigene Definition – TAOs .invisible wird an anderer
   Stelle umdefiniert und ist deshalb keine verlässliche Grundlage) */
.vm-nur-sr {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	margin: -1px !important;
	padding: 0 !important;
	overflow: hidden !important;
	clip: rect(0 0 0 0) !important;
	clip-path: inset(50%) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

/* Icon-Glyphen aus data-icon gehören nicht in den Linknamen
   TAO: *[data-icon]:before { content: attr(data-icon) } – das Zeichen aus der
   Privatnutzungszone wird sonst Teil des Namens (Buttons, „Absatz mit Icon",
   Feature-Box-Link): Screenreader lesen ein Kästchen oder einen Zufalls-
   buchstaben, Sprachsteuerung trifft den Namen nicht (WCAG 2.5.3).
   Leerer Alternativtext nach „/"; die erste Zeile ist der Rückfall für
   Browser ohne diese Syntax (Safari < 17.4). */
[data-icon]::before {
	content: attr(data-icon);
	content: attr(data-icon) / "";
}

/* Contao-Sprunglinks „Navigation überspringen" beim Fokus zeigen
   TAOs .invisible blendet sie auch im Fokus aus -> ein unsichtbarer
   Tab-Stopp, der Fokus scheint zu verschwinden (WCAG 2.4.7). Betrifft nur das
   fokussierte <a>; die leeren Ziel-<span class="invisible"> bleiben unberührt.
   Position: unten links ÜBER der Quicknav, denn Quicknav und Footer-Links
   liegen unten. Der Sprunglink der Hauptnavigation erscheint oben im
   Menü-Panel (custom_vm_navigation.css). 1rem Randabstand, sonst schneidet
   der Viewport den Fokusring ab. */
a.invisible:focus {
	position: fixed !important;
	top: auto !important;
	bottom: calc(var(--vm-quicknav-space, 0px) + 1rem) !important;
	left: 1rem !important;
	z-index: 2000;
	width: auto !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0.6rem 1rem !important;
	overflow: visible !important;
	clip: auto !important;
	clip-path: none !important;
	white-space: nowrap;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.3;
	color: var(--vm-primary, #b8440a);
	text-decoration: underline;
	background: #ffffff;
	border-radius: var(--vm-radius-small, 9px);
	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.22);
	/* eigene Ringfarbe: Die Marke steht immer auf Weiß, auch wenn der
	   Container (z. B. die mobile Quicknav) einen hellen Ring vorgibt */
	--vm-focus-ring: #b8440a;
	--vm-focus-offset: 2px;
	/* Die Quicknav nimmt ihrem Randbereich die Klicks weg – die Marke erbt das */
	pointer-events: auto;
}

.radius.content-image img {
    border-radius: 20px;
}

/* ==========================================================
   Typografie donum vitae
   Headlines: Roboto Slab (400) · Fließtext: Roboto
   Basis-Schriftgröße 1.15rem, mobil 1.05rem (≤900px).
   Die Fonts selbst lädt das TAO-Theme/Layout – hier nur Zuweisung.
   ========================================================== */

.hyphens {
    hyphens: auto;
}

.fullwidth figure,
.fullwidth figure img {
    display: block;
}

.content-image.fullwidth figcaption,
.media > figure figcaption, .media > figure .caption, .content-image > figure figcaption, .content-image > figure .caption, .content-gallery figure figcaption, .content-gallery figure .caption, .image_container figcaption, .image_container .caption{
  position: absolute;
  width: fit-content !important;
  right: 0.6rem;
  bottom: 0.6rem;
  z-index: 2;
  margin: 0;
  padding: 0.2em 0.6em;
  border-radius: var(--vm-radius-small);
  background: rgba(255, 255, 255, 0.8);   /* ≥ 75 % Deckkraft */
  /* #333 statt Rot-Orange (Änderung von Bianka, live übernommen 21.09.2026).
     Sachlich richtig: Die Bildunterschrift ist kein Link, und die weiße
     Fläche ist nur zu 80 % deckend – über einem dunklen Bild sinkt der
     Grund auf ~#cccccc. Rot-Orange käme dort auf 3,4:1 und läge damit
     unter den 4,5:1, die 0,75rem als normaler Text brauchen. #333 hält
     auch im ungünstigsten Fall 7,9:1. */
  color: var(--vm-text);
  font-size: 0.75rem;
  line-height: 1.35;
  text-align: right;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12);
  pointer-events: none;   /* blockiert Bild-Link / Hover-Zoom nicht */
}

.grafik.content-image > figure figcaption {
    position: relative;
    right: auto;
    bottom: auto;
    padding: 0;
    border-radius: 0;
    background: none;
    text-align: right;
    box-shadow: none;
    color: inherit;
    width: 100% !important;
}

.tagline, .tagline-inner {
  overflow: visible !important;
  border: none !important;
  transform: none !important;
  opacity: 1 !important;
}

.icon-text-block::before {
  top: 0.4em;
}

.icon-buttons a {
  margin: 0;
  border-radius: 0;
  border-color: #e1570c;
  background: #fff;
  font-size: 1.5em;
}

.icon-buttons a::after {
  color: #e1570c;
}

.leistung .main-content {
  margin-top: 200px;
  margin-bottom: 170px;
}

.home-start .bg-white .rs-column {
  background: rgb(255,255,255,0.75);
  border-radius: 20px;
  padding: 2.5em;
  box-shadow: 0 18px 38px rgba(0,0,0,0.25);
  width: 700px !important;
}

.home-start.centered-wrapper,
.hero.centered-wrapper {
  padding-top: 150px;
}

.home-start h2.font-size-s {
    line-height: 1.5;
    font-size: 1em !important;
}

.hero .bg-white {
  background: #fff;
  border-radius: 20px;
  padding: 2.5em 3em;
  width: 800px !important;
  position: absolute;
  top: 200px;
  box-shadow: 0 18px 38px rgba(0,0,0,0.25);
}

.small-width.centered-wrapper {
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
}

.page-footer .verlauf.centered-wrapper {
    background: linear-gradient(0deg,rgba(225, 87, 12, 1) 0%, rgba(184, 68, 10, 1) 50%, rgba(184, 68, 10, 1) 100%) !important;
}

.black {
	color: #333 !important;
}

.red {
    color: var(--vm-primary, #b8440a) !important;   /* Schrift: 5,4:1 statt 3,8:1 */
}

.white, p.white, .white a, a.white {
	color: #fff !important;
}

.liste .vm-card-icon {
    background: var(--vm-white);
}

.liste .vm-card-inner {   
    padding: 0 !important;
}

.bold {
	font-weight: 600 !important;
}

.normal {
	font-weight: 400 !important;
}

.home-start.kunden .bg-white .rs-column {
  background: rgb(255,255,255,0.85);
  padding: 2.5em 3em;
  width: 800px !important;
}

.mod_rocksolid_slider.kundenstimmen .testimonial > p,
.main-content .mod_rocksolid_slider.kundenstimmen .testimonial > p {
  padding: 1.5em 1.25em 1.125em;
  background: #fff;
}

.mod_rocksolid_slider.kundenstimmen p strong {
    background: #e1570c;
    color: #e1570c;
    border-radius: 16px;
    padding: 0.35em 0.75em;
}

.mod_rocksolid_slider.kundenstimmen .testimonial-author,
.mod_rocksolid_slider.kundenstimmen .testimonial .testimonial-author {
  font-weight: 700;
  font-size: 18px;
  letter-spacing: 0.5px;
}

.mod_rocksolid_slider.kundenstimmen .testimonial-author > small b,
.mod_rocksolid_slider.kundenstimmen .testimonial .testimonial-author > small b {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.25;
}

.mod_rocksolid_slider.kundenstimmen.rsts-skin-testimonials .rsts-nav a {
  width: 27px;
  height: 27px;
}

.mod_rocksolid_slider.kundenstimmen.rsts-skin-testimonials .rsts-nav a::after {
  width: 16px;
  height: 16px;
  background-color: #fbe6da;
}

.mod_rocksolid_slider.kundenstimmen.rsts-skin-testimonials .rsts-nav a:hover::after,
.mod_rocksolid_slider.kundenstimmen.rsts-skin-testimonials .rsts-nav a.active::after{
  background-color: #e1570c;
}

.mod_rocksolid_slider.kundenstimmen.rsts-skin-testimonials .rsts-prev::after,
.mod_rocksolid_slider.kundenstimmen.rsts-skin-testimonials .rsts-next::after {
  color: #e1570c;
  font-size: 18px;
}

.footer-links {
    padding-bottom: 100px;
    font-size: 16px;
    float: none;
    clear: both;
}

/* --- Top-Link „Nach oben" (TAO-Element rsce_tao_footer_top) --------------
   - Beschriftung NICHT per display:none verstecken: Der Link hätte dann gar
     keinen Namen (Screenreader: nur „Link"). Nur visuell ausblenden – TAO
     würde die Spans bei Hover/Fokus sonst neben dem Kreis einblenden.
   - Die Kante ist die Bedien-Information: Rahmen ≥ 3:1 (WCAG 1.4.11),
     Fläche 92 %, damit Fotos darunter nicht durchschlagen.
   - Pfeil-Glyphe mit leerem Alternativtext (/ ""), sonst landet das Zeichen
     aus der Privatnutzungszone im Linknamen. Erste Zeile = Rückfall für
     Browser ohne diese Syntax.
   - Fokus springt mit nach oben: vm_basis_a11y.js.
   - z-index: über Bildunterschriften (z-index 2), unter Quicknav (100). */
.footer-top-link {
    position: fixed;
    bottom: 0.5rem;
    right: 0.5rem;
    z-index: 90;
    border-radius: 50%;     /* Fokusring folgt dem Kreis */
    color: #333 !important;
}

.footer-top-link::after {
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.92) !important;
    border: 1px solid var(--vm-border-strong, #767676) !important;
    box-shadow: none !important;
    content: "\e941";
    content: "\e941" / "";
}

.footer-top-link > span,
.footer-top-link:hover > span,
.footer-top-link:focus > span {
    position: absolute !important;
    width: 1px;
    height: 1px;
    margin: -1px !important;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
}

/* ==========================================================
   Links im Fließtext (22.09.2026)

   WCAG 1.4.1 (Level A): Farbe darf nicht das einzige Merkmal sein, an dem
   ein Link zu erkennen ist. Gemessen ergibt das Markenrot #b8440a gegen die
   Fließtextfarbe #333 nur 2,33:1 – gefordert sind 3:1. Statt das Rot zu
   ändern (es erfüllt gegen Weiß mit 5,43:1 sauber AA) bekommen Links im
   Fließtext eine Unterstreichung. Damit hängt die Erkennbarkeit nicht mehr
   an der Farbe, und wer Farben nicht unterscheiden kann, sieht sie trotzdem.

   Greift in Textelementen (.rte) und im Erklärungstext des Formulars
   (.widget-explanation, dort steht der Link auf die Datenschutzhinweise).
   Ausgenommen sind Buttons und Karten-Links: Die sind als Fläche gebaut und
   schon ohne Farbe als Bedienelement erkennbar; eine Unterstreichung würde
   dort nur stören. Stand 22.09.2026 liegt ohnehin kein solches Element in
   einem Fließtext-Container – der Ausschluss ist Vorsorge für später.
   ========================================================== */

.rte a:not(.button):not([class*="vm-card-link"]),
.widget-explanation a:not(.button) {
	text-decoration: underline;
	/* Etwas Luft unter die Grundlinie, sonst schneidet die Linie durch die
	   Unterlängen von g, p und y. */
	text-underline-offset: 0.15em;
	text-decoration-thickness: from-font;
}

/* Beim Überfahren und im Fokus dicker statt verschwunden – die
   Unterstreichung darf nie weggehen, sie ist hier das Erkennungsmerkmal. */
.rte a:not(.button):not([class*="vm-card-link"]):hover,
.rte a:not(.button):not([class*="vm-card-link"]):focus-visible,
.widget-explanation a:not(.button):hover,
.widget-explanation a:not(.button):focus-visible {
	text-decoration: underline;
	text-decoration-thickness: 2px;
}

/* ==========================================================
   @media (max-width: 1280px)
   ========================================================== */

@media screen and (max-width: 1280px) {

.padding-right-xxs,
.padding-right-xs,
.padding-right-s,
.padding-right-m,
.padding-right-l,
.padding-right-xl,
.padding-right-xxl {
    padding-right: 0 !important;
}

.padding-left-xxs,
.padding-left-xs,
.padding-left-s,
.padding-left-m,
.padding-left-l,
.padding-left-xl,
.padding-left-xxl {
    padding-left: 0 !important;
}

.page-header {
  position: fixed;
  width: 100%;
}

.header-navigation-inner {
    height: auto !important;
}

.main-navigation-mobile-open,
.main-navigation-mobile.is-enabled {
    display: block;
}

.main-navigation-mobile-open {
  width: 64px;
  height: 49px;
}

.main-navigation-mobile-open::after {
  height: 2px;
  border-radius: 1px;
  box-shadow: 0 9px #333, 0 18px #333;
}

.main-navigation {
    display: none;
}

.main-navigation-mobile-open {
  position: fixed;
}

.logo {
    text-align: center;
    margin-left: 0;
    padding-top: 0.75em;
}

/* Logo-Link muss die Grafik umschließen: TAO setzt ihn hier auf
   display:inline -> nur 20px hohe Box, der Fokusring lief quer durch das
   Logo (WCAG 2.4.7). */
.logo a {
    display: inline-block;
    vertical-align: top;
    line-height: 0;
}

.logo img {
    vertical-align: top;
}

.footer-links {
    padding-top: 1.5em;
}

.leistung .main-content {
    margin-bottom: 100px;
}

}

/* ==========================================================
   Seiten-Icons im Off-Canvas-Menü  (19.09.2026)

   Seite „Angebote" (243) trägt die CSS-Klasse `icon-donum`, weil die
   QUICKNAV ihr Icon daraus zieht. Im Hauptmenü ist es unerwünscht: Der
   Punkt rückt ein und steht schief zu seinen Geschwistern.

   Diese Regeln standen bis 19.09.2026 in `@media (max-width: 1280px)` –
   zusammen mit dem übrigen Off-Canvas-Block, den TAO nur für Tablet und
   Mobil vorsieht. Bei donum vitae ist das Schubfach aber die EINZIGE
   Navigation, auf jeder Breite. Über 1280px griffen die Regeln deshalb
   nicht und das Icon war wieder da. Sie gehören darum nach draußen.

   Erste Ebene aus, ab der zweiten wieder an.
   ========================================================== */

.main-navigation-mobile a::before,
.main-navigation-mobile strong::before,
.main-navigation-mobile span.active::before,
.main-navigation-mobile span.trail::before,
.main-navigation-mobile span.forward::before {
    display: none;
}

.main-navigation-mobile ul li ul li a::before,
.main-navigation-mobile ul li ul li strong::before,
.main-navigation-mobile ul li ul li span.active::before,
.main-navigation-mobile ul li ul li span.trail::before,
.main-navigation-mobile ul li ul li span.forward::before {
    display: inline-block;
    color: var(--vm-brand, #e1570c);   /* reine Deko neben Text */
}

.main-navigation-mobile li li strong.active::before {
    color: var(--vm-brand, #e1570c);
}


/* ==========================================================
   @media (max-width: 1024px)
   ========================================================== */

@media screen and (max-width: 1024px) {

.hero.centered-wrapper .vm-cw-caption {
  top: 0.75rem;
  bottom: auto;
}

}

/* ==========================================================
   @media (max-width: 1000px)
   ========================================================== */

@media screen and (max-width: 1000px) {

.quicknav {
	padding-bottom: 0 !important;
}

/* Top-Link über der Quicknav-Leiste (Höhe zentral in custom_quicknav.css) */
.footer-top-link {
	bottom: calc(var(--vm-quicknav-space, 64px) + 0.5rem) !important;
}

}

/* ==========================================================
   @media (max-width: 900px)
   ========================================================== */

@media screen and (max-width: 900px) {

.hide-900px {
    display: none;
}

.only-900px {
    display: block;
}

.leistung .main-content {
    margin-top: 0;
}

.leistung .content-wrapper {
    padding-top: 1em;
}

:root {
  --vm-header-space: 110px;   /* Kopfzeile 102px */
}

.content-wrapper {
  padding-top: 98px;
}

.home-start.kunden.centered-wrapper {
  padding-top: 70px;
  padding-bottom: 70px;
  margin-top: 70px;
}

.home-start.kunden .bg-white .rs-column {
  padding: 2em 2.5em;
  width: 100% !important;
}

.home-start h1,
.hero h1 {
	max-width: 450px;
}

.hero.centered-wrapper {
    padding-top: 40px;
    min-height: auto !important;
}

.hero.bis-900px.centered-wrapper .vm-cw-caption {
    display: none;
}

.hero .centered-wrapper-background {
    background-image: none !important;
}

.hero .bg-white {
    width: 100% !important;
    box-shadow: none;
    padding: 0;
    background: transparent;
    position: static;
    top: auto;
}

}

/* ==========================================================
   @media (max-width: 800px)
   ========================================================== */
   
@media screen and (max-width: 800px) {

.only-800px {
	display: block;
}

.kundenbild {
    margin-top: 70px;
}

.home-start.centered-wrapper .vm-cw-caption {
    display: none;
}

.home-start.kunden.centered-wrapper {
    padding-top: 40px;
    margin-top: 0;
}

.home-start.centered-wrapper {
  padding-top: 30px;
  min-height: auto !important;
}

.home-start .centered-wrapper-background {
	background-image: none !important;
}

.home-start .bg-white .rs-column {
  width: 100% !important;
  box-shadow: none;
  padding: 1.5em;
  background: #FDF6F2;
}

.home-start h2.font-size-s {
    font-size: 1.25em !important;
    line-height: 1.4;
}

}

/* ==========================================================
   @media (max-width: 600px)
   ========================================================== */

@media screen and (max-width: 600px) {

/* Versatz am Link statt am Bild, damit der Fokusring eng anliegt */
.logo a {
    margin-left: 2em;
}

 .home-start.kunden.centered-wrapper {
    padding-top: 20px;
    margin-top: 0;
}

.home-start.kunden .bg-white .rs-column {
    padding: 0;
    background: transparent;
    border-radius: 0;
}

.verlauf .centered-wrapper-background {
  background-size: cover !important;
}

}

/* ==========================================================
   @media (max-width: 520px)
   ========================================================== */

@media screen and (max-width: 520px) {

:root {
    --vm-header-space: 92px;   /* Kopfzeile 84px */
}

.content-wrapper {
    padding-top: 80px;
}

.logo a {
    margin-left: 3em;
}

.logo img {
    max-height: 3em;
}

.home-start.centered-wrapper {
    padding-top: 20px;
}

.home-start h1,
.hero h1 {
	font-size: 1.5em !important;
	max-width: 350px;
}

.home-start h2.font-size-s {
    font-size: 1.15em !important;
}

}

/* ==========================================================
   @media (max-width: 400px)
   ========================================================== */

@media screen and (max-width: 400px) {

/* Platz für den Burger mit Beschriftung „Menü" links daneben
   (custom_vm_navigation.css): Logo etwas kleiner und weiter nach rechts. */
.logo a {
    margin-left: 4.5em;
}

.logo img {
    max-height: 2.75em;
}

.home-start h1,
.hero h1 {
	font-size: 1.35em !important;
	max-width: 280px;
}

}

/* ==========================================================
   @media (max-width: 375px)
   ========================================================== */

@media screen and (max-width: 375px) {

.home-start h2.font-size-s {
    font-size: 1.05em !important;
}

}

/* ==========================================================
   @media (max-width: 365px)
   ========================================================== */

@media screen and (max-width: 365px) {

.home-start h1,
.hero h1 {
	font-size: 1.25em !important;
}

}

/* ==========================================================
   Formular als Karte (21.09.2026)

   Gilt für Formular-Inhaltselemente im Hauptbereich – aktuell nur
   das Kontaktformular, aber jedes weitere sieht damit gleich aus.

   WARUM DER DUNKLE FELDRAHMEN (WCAG 1.4.11):
   Das Theme gibt Eingabefeldern `border: 1px solid #bbbbbb` auf
   weißem Grund. Gemessen sind das 1,9:1 – die Begrenzung eines
   Bedienelements braucht aber 3:1, und das Feld ist AUSSCHLIESSLICH
   über diesen Rahmen zu erkennen. Auf der Pfirsichfläche hilft die
   weiße Füllung auch nicht weiter: Weiß auf #FDF6F2 sind 1,07:1.
   Deshalb --vm-border-strong (#767676): 4,5:1 gegen die weiße
   Füllung UND 4,2:1 gegen die Karte, wirkt also nach innen wie nach
   außen.

   Der Fokusring kommt weiter aus der Regel am Dateianfang (3px
   #b8440a, 5,1:1 auf --vm-surface) und braucht hier nichts.
   ========================================================== */

.main-content .ce_form {
	padding: var(--vm-card-padding, 2.15rem);
	border: 1px solid var(--vm-border-accent, #f4cbb2);
	border-radius: var(--vm-radius, 20px);
	background: var(--vm-surface, #FDF6F2);
	box-shadow: var(--vm-shadow, 0 18px 38px rgba(0, 0, 0, 0.055));
}

.main-content .ce_form input[type="text"],
.main-content .ce_form input[type="email"],
.main-content .ce_form input[type="tel"],
.main-content .ce_form input[type="url"],
.main-content .ce_form input[type="number"],
.main-content .ce_form input[type="date"],
.main-content .ce_form input[type="password"],
.main-content .ce_form select,
.main-content .ce_form textarea {
	border: 1px solid var(--vm-border-strong, #767676);
	border-radius: var(--vm-radius-small, 9px);
	background: var(--vm-white, #ffffff);
}

/* Das Theme hellt den Rahmen beim Überfahren auf (#aeaeae/#a4a4a4) –
   das unterschreitet die 3:1 wieder. Hier stattdessen abdunkeln. */
.main-content .ce_form input:hover,
.main-content .ce_form select:hover,
.main-content .ce_form textarea:hover {
	border-color: var(--vm-text, #333333);
	box-shadow: none;
}

/* Fehlerfall bleibt die Themenfarbe, aber mit erkennbarer Stärke:
   1px in Rot-Orange wäre auf der Karte zu leise. */
.main-content .ce_form .invalid input,
.main-content .ce_form .invalid select,
.main-content .ce_form .invalid textarea,
.main-content .ce_form input.error,
.main-content .ce_form textarea.error {
	border-width: 2px;
	border-color: var(--vm-primary, #b8440a);
}

/* Die Anti-Spam-Prüfung ist ebenfalls ein Bedienelement und bekommt
   dieselbe weiße Fläche mit demselben Rahmen. Altcha bringt dafür
   eigene Variablen mit; die Standardwerte (Fläche transparent,
   Rahmen #a0a0a0) ergeben auf der Karte nur 2,5:1. */
.main-content .ce_form .widget-altcha {
	--altcha-color-base: var(--vm-white, #ffffff);
	--altcha-color-border: var(--vm-border-strong, #767676);
	--altcha-border-radius: var(--vm-radius-small, 9px);
}

/* Kästchen und „Ich bin kein Roboter" oben bündig.
   Altcha zentriert beide zueinander (`.altcha-main { align-items: center }`).
   Das Kästchen wird damit an der MITTE der Zeilenbox ausgerichtet – und die
   liegt tiefer als die Mitte der sichtbaren Schrift, weil unter der
   Grundlinie noch der Platz für Unterlängen steckt. Gemessen saß das
   Kästchen dadurch 3,5px zu tief. Oben ausgerichtet stehen Oberkante
   Kästchen und Oberkante Schrift auf derselben Höhe (Restversatz 0,5px).
   Nebeneffekt: Bricht die Beschriftung auf schmalen Geräten um, steht das
   Kästchen neben der ERSTEN Zeile statt mittig zum Block. (21.09.2026) */
.main-content .ce_form .widget-altcha .altcha-main {
	align-items: flex-start;
}

@media (max-width: 900px) {
	.main-content .ce_form {
		padding: 1.6rem;
	}
}

/* ==========================================================
   Weniger Bewegung (WCAG 2.3.3) – bewusst am Dateiende
   Deckt CSS-Transitions, -Animationen und weiches Scrollen ab. Was
   JavaScript Frame für Frame bewegt, fragt das Skript selbst ab
   (vm_basis_a11y.js beim Top-Link). Fokusringe sind keine Animation.
   ========================================================== */

@media (prefers-reduced-motion: reduce) {

html {
	scroll-behavior: auto;
}

*,
*::before,
*::after {
	animation-duration: 0.01ms !important;
	animation-iteration-count: 1 !important;
	transition-duration: 0.01ms !important;
	scroll-behavior: auto !important;
}

}
/* Aufklapp-Pfeil: einzige Kennung des Knopfes -> ≥ 3:1 (WCAG 1.4.11).
   #aaa lag auf dem grauen Panel bei 2:1. */
.main-navigation-mobile .is-expanded > .main-navigation-mobile-expand::after {
    content: "\e941";
    color: var(--vm-primary, #b8440a);
}

.main-navigation-mobile .main-navigation-mobile-expand::after {
    content: "\e93b";
    color: #666;
}

.auflistung .rs-column {
    margin-bottom: 0 !important;
    margin-top: 0 !important;
}

.auflistung p {
    margin-bottom: 1em !important;
    margin-top: 0 !important;
}

.vm-teaser-body {
  border-top: 1px solid var(--vm-border-neutral);
}

.vm-reader-image {
  border-bottom: 1px solid var(--vm-border-neutral);
}

.red, a.red, .red a {
    color: var(--vm-primary, #b8440a) !important;
}

.black, a.black, .black a {
    color: #333 !important;
}

.slab, h1, h2, h3, h4, h5, h6 {
    font-family: 'Roboto Slab' !important;
}

.roboto, h2 .roboto, h3 .roboto, h4 .roboto, h5 .roboto, h6 .roboto,
.roboto h2, .roboto h3, .roboto h4, .roboto h5, .roboto h6{
    font-family: 'Roboto' !important;
}

.margin-top-none,
.margin-top-none h1,
.margin-top-none h2,
.margin-top-none h3,
.margin-top-none h4,
.margin-top-none h5,
.margin-top-none h6 {
    margin-top: 0 !important;
}

.margin-bottom-none,
.margin-bottom-none h1,
.margin-bottom-none h2,
.margin-bottom-none h3,
.margin-bottom-none h4,
.margin-bottom-none h5,
.margin-bottom-none h6 {
    margin-bottom: 0 !important;
}

.news-list-boxed-item {
    background: #fff;
}
html {
    scroll-behavior: smooth;
}
.color-white {
    color: #fff !important;
}
.mod_cms_accept_tags form {
    max-height: 100% !important;
}
.mod_cms_accept_tags form,
.mod_cms_accept_tags form > .tags > div p {
    font-family: 'Roboto', sans-serif !important;
    font-size: 15px !important;
}
.mod_cms_accept_tags form button[name="submit"][value="accept"]:not(.first) {
    margin-top: 0 !important;
}
.mod_cms_accept_tags form > .formbody,
.mod_cms_accept_tags form > .tags > div {
    padding-bottom: 0 !important;
}
.only_mobile {
    display: none;
}
.hide-mobile {
    display: block;
}
p.news-image-teaser-more a span,
.mod_newslist p.more a span {
    text-transform: lowercase;
}
.mod_newslist p.more {
    border-bottom: 1px solid #ccc;
    padding-bottom: 1.5rem;
}
.main-content  .margin-top-0 h1,
.margin-top-0 {
    margin-top: 0 !important;
}
.margin-bottom-none,
p.margin-bottom-none,
.margin-bottom-none p {
    margin-bottom: 0 !important;
}
.margin-top-none,
p.margin-top-none,
.margin-top-none p {
    margin-top: 0 !important;
}
.main-content  .padding-top-0 h1,
.padding-top-0 {
    padding-top: 0 !important;
}
h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight: normal !important;
}
h2,
h3,
h4,
h5,
h6 {
    font-size: 2em;
}
.font-400,
.font-400 h1,
.font-400 h2,
.font-400 h3,
.font-400 h4,
.font-400 h5,
.font-400 h6 {
    font-weight: 400 !important;
}
.schriftfarbe {
    color: #333 !important;
}

footer.page-footer .ce_text.block p strong {
    font-size: 1.25rem;
}
.footer-copyright {
    color: #fff !important;
}
.page footer.page-footer .centered-wrapper.ce_rsce_tao_centered_wrapper_start.-border-top {
    background: #333 !important;
}
nav.mod_customnav.footer-links ul li.active strong.active {
    color: var(--vm-primary, #b8440a) !important;
    text-decoration: none !important;
    font-weight: normal !important;
}
.footernavi {
    padding-top: 1.5rem;
    padding-bottom: 6rem;
}
.footer-links {
    padding: 0;
}
.footer-links li::before {
    content: none !important;
}
.footer-links li {
    padding-right: 1rem !important;
}
.footer-links li.last {
    padding-right: 0 !important;
}
/* Zielgröße der Footer-Links (WCAG 2.5.8): Polster am Link, per negativem
   Außenabstand ausgeglichen -> Klickfläche 19 -> 35px, Layout unverändert.
   Die aufgerufene Seite gibt Contao als <strong> (bzw. span.active/trail/
   forward) aus – ohne dieselben Werte stünde sie als inline-Element auf der
   Grundlinie und damit 1px höher als die Links daneben. */
.footer-links li > a,
.footer-links li > strong,
.footer-links li > span.active,
.footer-links li > span.trail,
.footer-links li > span.forward {
    display: inline-block;
    padding: 0.5em 0;
    margin: -0.5em 0;
    vertical-align: middle;
}
.footer-angebote ul li {
    list-style-type:none;
}
.footer-angebote ul li::before {
    content: "";
    font: 100%/1 "RockSolid Icons";
    text-rendering: geometricPrecision;
}
/* Top-Link: Regeln stehen gesammelt in custom_allgemein.css */

/* MOBIL – 1280px */

@media (max-width: 1280px) {
    
.footer-spalte1.rs-column {
  float: none;
  margin-right: 0;
  clear: both;
}

.footer-spalte2.rs-column {
  clear: none;
  margin-right: 6.25%;
  float: left;
}

.footer-spalte3.rs-column {
  margin-right: 0;
  clear: none !important;
}

}

/* MOBIL – 900px */

@media screen and (max-width: 900px) {

  .content-wrapper {
    padding-top: 95px;
  }
}

/* MOBIL – 800px */

@media (max-width: 800px) {

.footer-links li {
    display: block;
}

.footer-links li.icon-social-instagram {
    padding-bottom: 1rem;
}

}

/* MOBIL – 520px */

@media (max-width: 520px) {

.content-wrapper {
    padding-top: 77px;
}

.main-navigation-mobile-open {
    top: 16px !important;
}

.logo {
    padding-top: 1em;
    padding-bottom: 0.5em;
}

}

/* MOBIL – 400px */

@media (max-width: 400px) {

.content-wrapper {
    padding-top: 72px;
}

.main-navigation-mobile-open {
    top: 15px !important;
}

}
/* =====================================================================
   VM Quicknav – donum vitae
   Fixierte Schnellnavigation am unteren Bildschirmrand (Contao
   Individuelle Navigation mit CSS-Klasse „quicknav").
   Nach dem TAO-Framework-CSS laden.

   Optik: schwebende Leiste in Weiß, Einträge als abgerundete „Chips".
   Hover/aktiv füllt den Chip (nicht die harte Zelle) -> saubere Ecken.
   Desktop: Schrift fließend bis ~19px. Mobil: Icon über Label gestapelt
   (wie Kleinanzeigen-App), Schrift schrumpft -> alle Punkte in einer Reihe.
   Farb-/Maß-Tokens wie in custom_vm_icon_boxes.css (--vm-*).
   ===================================================================== */

/* 0) PLATZ RESERVIEREN ------------------------------------------------
   Die fixe Leiste liegt ÜBER dem Dokument. Eine Variable, drei Nutzer:
   html { scroll-padding-bottom } in custom_allgemein.css (Tab-Fokus landet
   nie hinter der Leiste, WCAG 2.4.11), Position des Top-Links und die
   Enthüllung der Sprunglinks. Gemessen 09/2026: Leiste plus Randabstand
   81px (> 1000px), 58–63px (≤ 1000px). */
:root {
  --vm-quicknav-space: calc(84px + env(safe-area-inset-bottom, 0px));
}
@media (max-width: 1000px) {
  :root {
    --vm-quicknav-space: calc(64px + env(safe-area-inset-bottom, 0px));
  }
}

/* 1) WRAPPER – fixiert, zentriert, hebt die Leiste vom Rand ab -------- */
.quicknav {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 100;

  display: flex;
  justify-content: center;

  /* Abstand zum unteren Rand + iPhone-Safe-Area */
  padding: 0 1rem calc(0.75rem + env(safe-area-inset-bottom));

  /* der transparente Randbereich soll keine Klicks abfangen */
  pointer-events: none;

  /* Fokusring knapp außerhalb des Chips – bleibt im Innenrand der Leiste */
  --vm-focus-offset: 1px;
}

/* 2) DIE LEISTE – Liste als schwebender Container --------------------- */
.quicknav ul {
  list-style: none;
  display: flex;
  gap: 4px;                          /* Luft zwischen den Chips */
  margin: 0 !important;
  padding: 6px !important;           /* Innenrand -> Chips schweben im Container */

  background: var(--vm-white);
  border: 1px solid var(--vm-border);
  border-radius: var(--vm-radius);   /* 20px – etwas geringer als Vollrund, wie die Karten */

  /* an die Kartenschatten angelehnt, aber kräftiger, da frei schwebend */
  box-shadow: 0 6px 28px rgba(0, 0, 0, 0.14);

  pointer-events: auto;              /* Leiste selbst wieder klickbar */
}

.quicknav ul li {
  display: flex;
  margin: 0;
}

/* TAO/Listen-Bullet abschalten */
.quicknav ul li::before {
  display: none !important;
}

/* 3) EINTRÄGE (Chips) ------------------------------------------------- */
.quicknav ul li a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.55em;

  padding: 0.7em 1.15em;
  line-height: 1;

  border-radius: calc(var(--vm-radius) - 6px);   /* konzentrisch zum Container (14px) */

  color: var(--vm-primary);
  font-weight: 600;
  /* Desktop/Tablet: min. 16px (Barrierefreiheit), fließend bis ~19px */
  font-size: clamp(1rem, 0.72rem + 0.9vw, 1.2rem);
  letter-spacing: 0.02em;
  white-space: nowrap;

  text-decoration: none !important;
  background: transparent;
  transition: background-color var(--vm-transition), color var(--vm-transition);
}

.quicknav ul li strong {
  font-size: clamp(1rem, 0.72rem + 0.9vw, 1.2rem);
}

.quicknav ul li a:hover,
.quicknav ul li a:focus-visible {
  background: var(--vm-primary);
  color: var(--vm-white);
}

/* aktiver Menüpunkt – dezente Pfirsich-Fläche */
.quicknav ul li a.active,
.quicknav ul li strong.active {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.55em;
  padding: 0.7em 1.15em;
  border-radius: calc(var(--vm-radius) - 6px);
  background: var(--vm-surface);
  color: var(--vm-primary);   /* #b8440a: 5,1:1 auf der Pfirsich-Fläche */
}

/* Icons (Icon-Font-Glyphe / <i> / <svg> / <img>) sauber ausrichten
   .vm-nav-icon = eigenes aria-hidden-<span> aus nav_vm_a11y.html5; das
   Icon hängt dann nicht mehr als ::before am Link (sonst Teil des Linknamens). */
.quicknav ul li a i,
.quicknav ul li a svg,
.quicknav ul li a img,
.quicknav ul li a::before,
.quicknav ul li .vm-nav-icon,
.quicknav ul li .vm-nav-icon::before {
  flex: 0 0 auto;
  line-height: 1;
  margin-right: 0;
}

/* 4) MOBIL – Icon über Label, alle Punkte in einer Reihe ------------- */
@media (max-width: 800px) {
  .quicknav {
    /* randlose Leiste über die volle Breite */
    padding: 0 0 env(safe-area-inset-bottom);

    /* Chips füllen die Leiste bis zum Rand -> Ring nach innen, weiß auf
       der orangen Fokus-Fläche (4,6:1) */
    --vm-focus-offset: -3px;
    --vm-focus-ring: #ffffff;
  }

  .quicknav ul {
    width: 100%;
    gap: 0;
    padding: 4px !important;
    border: none;
    border-top: 1px solid var(--vm-border);
    border-bottom: 1px solid var(--vm-border);
    border-radius: 0;
    box-shadow: 0 -2px 14px rgba(0, 0, 0, 0.12);
  }

  .quicknav ul li {
    flex: 1;                         /* gleiche Breite, füllt die Reihe */
    min-width: 0;
  }

  .quicknav ul li a,
  .quicknav ul li strong.active {
    flex-direction: column;         /* Icon oben, Label darunter */
    gap: 0.3em;
    padding: 0.5em 0.2em;
    border-radius: 12px;
    /* schrumpft, damit auch „Newsletter" in die Reihe passt */
    font-size: clamp(0.6875rem, 2.9vw, 0.8125rem);
    font-weight: 400;
    width: 100%;
  }
  
  /* auf Touch kein „klebender" Hover. NUR :hover zurücknehmen –
     :focus-visible gehört NICHT in diesen Selektor, sonst ist der
     Tastatur-Fokus mobil unsichtbar. */
  .quicknav ul li a:hover {
    background: inherit;
    color: inherit;
  }
  .quicknav ul li a:focus-visible {
    background: var(--vm-primary);
    color: var(--vm-white);
  }

  /* Icon größer als das Label (Kleinanzeigen-Optik) */
  .quicknav ul li a i,
  .quicknav ul li a svg,
  .quicknav ul li a img,
  .quicknav ul li a::before,
  .quicknav ul li .vm-nav-icon::before {
    font-size: 1.3rem;              /* Icon-Font-Glyphe */
    width: auto;
  }
  .quicknav ul li a::before,
  .quicknav ul li .vm-nav-icon::before {
    margin-right: 0;
  }
  .quicknav ul li a svg,
  .quicknav ul li a img {
    width: 1.3rem;                  /* SVG/Bild-Icon */
    height: auto;
  }
}

/* 4) MOBIL – Breiten auf kleinen Displays anpassen ------------- */
@media (max-width: 500px) {
.quicknav ul {
    padding: 4px 0 !important;
  }
.quicknav ul li {
    padding-left: 0 !important;
  }
}

/* =====================================================================
   VM Component Library · donum vitae
   Component: VM Mobile-Navigation (Off-Canvas-Menü) – schlichte Variante

   Bewusst schlicht statt der Baum-Pills:
   - Panel hellgrau, Text #333
   - Hover & aktive Seite im Akzentton (--vm-primary, #b8440a) + schmaler Akzent-Balken links
   - Off-Canvas auf ALLEN Breiten (auch Desktop). Die horizontale
     .main-navigation wird dafür im Seitenlayout entfernt.

   WICHTIG – Ladereihenfolge: NACH main.css laden (überschreibt die TAO-
   Defaults; gleiche Spezifität → Quellreihenfolge entscheidet).
   Slide-Mechanik (Transform/.is-active) wird NICHT angefasst – nur Optik
   und das Aufheben der ≤900px-Sperren.
   ===================================================================== */

/* --- Off-Canvas auf ALLEN Breiten aktivieren -------------------------
   TAO zeigt Burger + Panel nur ≤900px. Hier für Desktop mit freigeben. */
.main-navigation-mobile.is-enabled { display: block; }  /* Panel immer nutzbar */

/* --- Barrierefreiheit Panel ------------------------------------------
   Geschlossenes Panel aus Tab-Reihenfolge und Vorlesebaum nehmen: TAO
   schiebt es nur per transform aus dem Bild, die Links blieben
   fokussierbar -> 9 unsichtbare Tab-Stopps VOR dem Burger (WCAG 2.4.3,
   2.4.7). visibility schaltet beim Schließen erst NACH der Slide-Animation
   (0,2s) um, beim Öffnen sofort.
   :root davor, weil TAO die Transition mit
   .modernizr-csstransforms3d .main-navigation-mobile.is-enabled (0,3,0) setzt. */
:root .main-navigation-mobile.is-enabled {
  visibility: hidden;
  transition: transform 0.2s ease-out, left 0.2s ease-out, visibility 0s linear 0.2s;
}
:root .main-navigation-mobile.is-enabled.is-active {
  visibility: visible;
  /* visibility hier NICHT in die Transition: Im ersten Frame einer
     hidden->visible-Transition gilt noch „hidden" – der Fokus ließe sich
     beim Öffnen nicht ins Panel setzen. */
  transition: transform 0.2s ease-out, left 0.2s ease-out;
}

/* Platz oben im Panel für den Burger, der beim offenen Menü darüber liegt */
.main-navigation-mobile.is-enabled {
  padding-top: calc(80px + var(--safe-area-top, 0px));
}


/* Offenes Menü: Burger ÜBER dem Panel (Panel z-index 201) und als Kreuz.
   Vorher lag er darunter – Tastaturfokus auf einem verdeckten Element
   (WCAG 2.4.11), und Sehende hatten keinen sichtbaren Schließen-Knopf.
   Das Panel steht im DOM vor .page (TAO hängt es an den Anfang von <body>),
   daher der Geschwister-Selektor. */
.main-navigation-mobile.is-active ~ .page .main-navigation-mobile-open {
  z-index: 210;
  /* Offen NICHT fixiert: Das Kreuz gehört zum oberen Rand des Menüs und
     scrollt mit ihm weg. Fixiert blieb es beim Scrollen über den Menüpunkten
     stehen – für Sehende wirkte das wie eine Überlagerung. .page ist beim
     offenen Menü position:relative (TAO), das Kreuz sitzt damit am
     Seitenanfang; vm_basis_a11y.js scrollt beim Öffnen dorthin. */
  position: absolute;
}
.main-navigation-mobile.is-active ~ .page .main-navigation-mobile-open::after {
  box-shadow: none;
  transform: translateY(8px) rotate(45deg);
}
.main-navigation-mobile.is-active ~ .page .main-navigation-mobile-open::before {
  content: "";
  position: absolute;
  top: 19px;
  left: 11px;
  width: 30px;          /* Balkenbreite – nicht right:11px, der Kasten ist mit Beschriftung breiter */
  height: 2px;
  margin: 0;
  border-radius: 2px;
  background: #333;
  transform: rotate(-45deg);
}

/* Fokusring im Panel nach innen – die Zeilen laufen randbündig */
.main-navigation-mobile {
  --vm-focus-offset: -3px;
}

/* Beim Öffnen bekommt das Panel selbst den Fokus (vm_basis_a11y.js):
   Die aufgerufene Seite ist ein <strong>, „erster Link" wäre sonst Punkt 2.
   Ein Ring um die halbe Bildschirmfläche wäre nur ein Kasten. */
.main-navigation-mobile[tabindex="-1"]:focus {
  outline: none !important;
}

/* Sprunglink der Hauptnavigation oben im Panel zeigen (Standard: unten) */
:root .main-navigation-mobile a.invisible:focus {
  top: 1rem !important;
  bottom: auto !important;
}

/* Burger: einheitliche, schlichte Optik in ALLEN Breiten – dünne Balken,
   vertikal mittig im Header. Überschreibt die TAO-Defaults (fixes top:41px
   + prozentuales left ließen ihn je Header-Höhe/Breite anders aussehen). */
.main-navigation-mobile-open {
  display: block;
  /* fixed -> identische Position in ALLEN Breiten, bleibt beim Scrollen sichtbar */
  position: fixed;
  top: 24px;
  top: calc(24px + var(--safe-area-top, 0px));
  left: 1.5rem;
  left: calc(1.5rem + var(--safe-area-left, 0px));
  box-sizing: content-box;
  width: 30px;              /* Balkenbreite */
  height: 18px;             /* Höhe der Balkengruppe */
  margin: 0;
  padding: 11px 11px 13px;            /* Innenabstand = Tap-Fläche, gesamt 54 × 44px */
  z-index: 200;
  text-indent: -99em;
  line-height: 0;

  /* Dezente graue Box mit weichem Schatten + feiner Haarlinie hinter dem Burger */
  background: #f4f4f4;
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: 6px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
  transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}
.main-navigation-mobile-open:hover,
.main-navigation-mobile-open:focus-visible {
  background: #ececec;
  border-color: rgba(0, 0, 0, 0.1);
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.16);
}
/* Gerade Balken (2px) */
.main-navigation-mobile-open:after {
  content: "";
  display: block;
  height: 2px;
  border-radius: 2px;
  background: #333;
  box-shadow: 0 8px #333, 0 16px #333;
}

/* --- Beschriftung „Menü" neben dem Burger (wie be on solar) ----------
   Sichtbar ist der ECHTE Linktext, nicht ein ::before-Zusatz: Name und
   sichtbare Beschriftung sind damit identisch (WCAG 2.5.3, Sprach-
   steuerung „Klick auf Menü"). vm_basis_a11y.js setzt den Text auf
   „Menü" und die Klasse -vm-beschriftet – ohne Skript bleibt TAOs
   englischer Text „navigation" versteckt und die Balken-Fassung oben gilt.
   Symbol: 20px-SVG als Maske (wie be on solar) statt der 30px-Balken
   aus box-shadow; Farbe kommt aus background-color. */
.main-navigation-mobile-open.-vm-beschriftet {
  width: auto;
  height: 20px;
  padding: 11px 14px 11px 42px;   /* links: 12px Rand + 20px Symbol + 10px Luft -> Kasten 44px hoch */
  text-indent: 0;
  font-size: 16px;
  line-height: 20px;
  font-weight: 500;
  color: #333;
  text-decoration: none;
  white-space: nowrap;
}
.main-navigation-mobile-open.-vm-beschriftet::after {
  position: absolute;
  top: 50%;
  left: 12px;
  width: 20px;
  height: 20px;
  margin: -10px 0 0;
  border-radius: 0;
  box-shadow: none;
  transform: none;
  background: #333;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M4 6h16M4 12h16M4 18h16'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M4 6h16M4 12h16M4 18h16'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* Offen: dasselbe Symbol als Kreuz (die Balken-Fassung oben baut das
   Kreuz aus ::after + ::before – hier nicht nötig) */
.main-navigation-mobile.is-active ~ .page .main-navigation-mobile-open.-vm-beschriftet::after {
  transform: none;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M18 6 6 18M6 6l12 12'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M18 6 6 18M6 6l12 12'/%3E%3C/svg%3E");
}
.main-navigation-mobile.is-active ~ .page .main-navigation-mobile-open.-vm-beschriftet::before {
  content: none;
}

/* ≤ 600px: kompakter Kasten, „Menü" bleibt NEBEN dem Symbol
   (18px Symbol, 14px Schrift, ca. 78 × 44px). Bis 400px reicht der Platz
   zum Logo so; darunter rücken Burger und Logo zusätzlich auseinander
   (Burger an den 16px-Rand hier, Logo in custom_allgemein.css). */
@media (max-width: 600px) {
  .main-navigation-mobile-open.-vm-beschriftet {
    height: 18px;
    padding: 12px 10px 12px 34px;   /* links: 8px Rand + 18px Symbol + 8px Luft */
    font-size: 14px;
    line-height: 18px;
  }
  .main-navigation-mobile-open.-vm-beschriftet::after {
    left: 8px;
    width: 18px;
    height: 18px;
    margin: -9px 0 0;
  }
}
@media (max-width: 400px) {
  .main-navigation-mobile-open.-vm-beschriftet {
    left: 16px;
    left: calc(16px + var(--safe-area-left, 0px));
  }
}

/* --- Logo zentrieren ----------------------------------------------
   TAO stellt das Logo > 1280px links (position:absolute, left:3.7%) und
   901–1280px linksbündig dar. Für donum (Off-Canvas + zentrales Logo)
   überall mittig. ≤900px ist es in TAO bereits zentriert. */
@media (min-width: 1281px) {
  .logo {
    left: 50%;
    right: auto;
    transform: translateX(-50%);
  }

  /* Header-Höhe fixieren: TAO schrumpft .header-navigation-inner beim Scrollen
     von 111px auf 66px -> der fix positionierte Burger würde sonst an die
     Header-Unterkante rutschen. Feste Höhe, !important überstimmt den Scroll-Zustand. */
  .header-navigation-inner {
    height: 111px !important;
    min-height: 111px !important;
  }
}
@media (min-width: 901px) and (max-width: 1280px) {
  .logo {
    margin-left: 0;
    text-align: center;
  }
}

/* Panel-Breite auf Desktop begrenzen (85% wären zu breit).
   Den Versatz übernimmt bei modernen Browsern der Transform aus main.css
   (translate3d(-100%) = -360px); der left-Wert ist nur Fallback. */
@media (min-width: 901px) {
  .main-navigation-mobile.is-enabled {
    width: 400px;
    left: -400px;
  }

  /* Schließbereich rechts des Panels auf die volle Restbreite ziehen,
     damit ein Klick IRGENDWO rechts neben dem Panel schließt. TAO bemisst
     ihn nur an der Panelbreite -> bei 400px sonst nur ~70px klickbar. */
  .main-navigation-mobile-close {
    right: auto;
    left: 100%;
    width: calc(100vw - 400px);
  }
}

/* --- Abdunkelnder Overlay über dem Schließbereich ------------------
   Sichthilfe: „außerhalb = schließen". Nutzt den vorhandenen
   .main-navigation-mobile-close – nur sichtbar, wenn das Menü offen ist
   (.is-active). TAO setzt background dort mit !important, daher hier auch. */
.is-active > .main-navigation-mobile-close {
  background: rgba(0, 0, 0, 0.35) !important;
  cursor: pointer;
  transition: background-color 0.2s ease;
}

/* --- Panel: hellgrau statt TAO-Blau -------------------------------- */
.main-navigation-mobile {
  border-top: 1px solid #e2e2e2;
  padding: 0.4rem 0 calc(0.6rem + var(--safe-area-bottom, 0px));
  color: #333;
  background: #f2f2f2;
}

/* Untermenü-Flächen ruhig (kein blauer Inset-Schatten) */
.main-navigation-mobile ul ul {
  background: transparent;
  box-shadow: none;
}

/* --- Einträge: schlichte Zeilen ------------------------------------
   Auf `li` gescoped, damit ein evtl. eingebetteter News-Teaser
   (.mobile-newsteaser) nicht mitgestylt wird. */
.main-navigation-mobile li a,
.main-navigation-mobile li strong,
.main-navigation-mobile li span.active,
.main-navigation-mobile li span.trail,
.main-navigation-mobile li span.forward {
  display: block;
  padding: 0.8em 1.4em;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
  color: #333;
  font-weight: 500;
  background: transparent;
  box-shadow: none;
  transition: color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
}

/* Hover / Fokus = Akzenttext, Zeile hebt sich auf Weiß, Akzent-Balken links */
.main-navigation-mobile li a:hover,
.main-navigation-mobile li a:focus,
.main-navigation-mobile li strong:hover,
.main-navigation-mobile li strong:focus,
.main-navigation-mobile li span.active:hover,
.main-navigation-mobile li span.trail:hover,
.main-navigation-mobile li span.forward:hover {
  color: var(--vm-primary, #b8440a);
  background-color: #ffffff;
  box-shadow: inset 3px 0 0 var(--vm-primary, #b8440a);
  text-decoration: none;
}

/* Elternseiten im Pfad (Trail/Forward): nur Akzenttext
   Dunkler Akzent: #e1570c erreicht auf dem grauen Panel nur 4,1:1
   (WCAG 1.4.3 verlangt 4,5:1), #b8440a 4,9:1. */
.main-navigation-mobile li a.trail,
.main-navigation-mobile li strong.trail,
.main-navigation-mobile li strong.forward,
.main-navigation-mobile li span.trail,
.main-navigation-mobile li span.forward {
  color: var(--vm-primary, #b8440a);
  font-weight: 700;
}

/* Aktuelle Seite = Akzenttext + weiße Fläche + Akzent-Balken links */
.main-navigation-mobile li a.active,
.main-navigation-mobile li strong.active,
.main-navigation-mobile li span.active {
  color: var(--vm-primary, #b8440a);
  font-weight: 700;
  background-color: #ffffff;
  box-shadow: inset 3px 0 0 var(--vm-primary, #b8440a);
}

/* Icons (falls pro Seite gepflegt) im Akzent */
.main-navigation-mobile li a:before,
.main-navigation-mobile li strong:before,
.main-navigation-mobile li span.active:before,
.main-navigation-mobile li span.trail:before,
.main-navigation-mobile li span.forward:before {
  color: var(--vm-primary, #b8440a);
}

/* --- Untereinträge (Level 2+): kleiner + engere Abstände ----------- */
.main-navigation-mobile li li a,
.main-navigation-mobile li li strong,
.main-navigation-mobile li li span.active,
.main-navigation-mobile li li span.trail,
.main-navigation-mobile li li span.forward {
  padding-top: 0.35em;
  padding-bottom: 0.35em;
  font-size: 0.85em;
  font-weight: 400;
  border-bottom: 0;
  background: transparent;
  box-shadow: none;
}
/* Untereinträge stehen auf Grau, nicht auf Weiß -> dunkler Akzent (4,9:1) */
.main-navigation-mobile li li a:hover,
.main-navigation-mobile li li a:focus,
.main-navigation-mobile li li strong.active {
  color: var(--vm-primary, #b8440a);
  background: transparent;
  box-shadow: none;
}

/* --- Aufklapp-Pfeil (Chevron) rechts ------------------------------- */
/* --- Aufklapp-Knopf über die volle Zeilenhöhe (19.09.2026) ---------
   TAO setzt den Knopf absolut mit fester Höhe: 34px in einer 54px hohen
   Zeile. Er ist damit kleiner als der Menüpunkt, den er bedient, und mit
   dem Daumen schlecht zu treffen.

   Statt feste Maße nachzurechnen (die von Schriftgröße und Innenabstand
   des Links abhängen und je Breakpoint anders ausfallen) wird die erste
   Zeile des <li> zur Flexzeile: Link und Knopf liegen nebeneinander, der
   Knopf zieht sich über `align-self: stretch` auf die Höhe des Links.
   Das Untermenü bekommt `flex-basis: 100%` und rutscht in die nächste
   Zeile – eingeklappt steht es ohnehin auf display:none und zählt nicht
   mit. So stimmt die Höhe automatisch, auch wenn sich die Typografie
   ändert. */
.main-navigation-mobile li.submenu {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
}
.main-navigation-mobile li.submenu > a,
.main-navigation-mobile li.submenu > strong,
.main-navigation-mobile li.submenu > span {
  flex: 1 1 auto;
  min-width: 0;
}
.main-navigation-mobile li.submenu > ul {
  flex: 0 0 100%;
}

.main-navigation-mobile .main-navigation-mobile-expand {
  position: static;
  flex: 0 0 auto;
  align-self: stretch;

  /* Pfeil mittig in der jetzt höheren Fläche */
  display: flex;
  align-items: center;
  justify-content: center;
  padding-top: 0;
  padding-bottom: 0;

  /* Die Trennlinie sitzt am Link. Weil der Knopf jetzt neben ihm steht
     statt darüber zu schweben, endete die Linie sonst 45px vor dem Rand –
     sichtbar anders als bei Punkten ohne Untermenü. Gleiche Linie hier
     fortsetzen (Wert identisch zur Regel am Link weiter oben). */
  border: 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);

  box-shadow: none;
  color: #333;
  transition: color 0.2s ease;
}
.main-navigation-mobile .is-expanded > .main-navigation-mobile-expand {
  color: var(--vm-primary, #b8440a);
}

/* --- Suchfeld (falls im Mobilmenü aktiv) --------------------------- */
.main-navigation-mobile-search {
  margin: 0.75rem 1rem 1rem;
}
.main-navigation-mobile-search input,
.main-navigation-mobile-search input:hover,
.main-navigation-mobile-search input:focus {
  border: 1px solid #d9d9d9;
  border-radius: 999px;
  padding: 0.7em 1.1em;
  background: #ffffff;
  box-shadow: none;
}
.main-navigation-mobile-search input:focus {
  border-color: var(--vm-primary, #b8440a);
}
.main-navigation-mobile-search button {
  color: var(--vm-primary, #b8440a);
}

/* --- Optionale Icon-/Social-Reihe unten ---------------------------- */
.main-navigation-mobile-icons.main-navigation-mobile-icons a:before {
  color: var(--vm-primary, #b8440a) !important;
}
.main-navigation-mobile-icons.main-navigation-mobile-icons a:hover:before {
  color: var(--vm-primary-hover, #f26a20) !important;
}

/* =====================================================================
   News-Teaser im Mobilmenü (.mobile-newsteaser) – bleibt erhalten,
   an die schlichtere Optik angeglichen.
   Modul-Template mod_newslist_mobilenav_vm + Item-Template
   news_list_boxed_mobilenav_vm (Titel „Top News", heading-frei).
   ===================================================================== */

.mobile-newsteaser {
  margin: 0.75rem 1rem calc(0.75rem + var(--safe-area-bottom, 0px));
  padding-top: 0.9rem;
}

/* „Top News"-Eyebrow */
.mobile-newsteaser-title {
  margin: 0 0 0.6rem;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--vm-primary, #b8440a);   /* auf Grau: 4,9:1 statt 4,1:1 */
  font-family: 'Roboto Slab' !important;
}

/* Karte kompakter + leiser */
.mobile-newsteaser .vm-newsbox-item.vm-card {
  border-radius: var(--vm-radius-small, 9px);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
}
.mobile-newsteaser .vm-card-text p strong {
  display: inline !important;
  font-weight: 400 !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
}
.mobile-newsteaser .vm-newsbox-item.featured .vm-card-title a {
  border: none;
  font-family: 'Roboto Slab' !important;
}
/* Bild einheitlich 16:9, bündig in die Karte */
.mobile-newsteaser .vm-teaser-image {
  aspect-ratio: 16 / 9;
  padding: 0;
  margin: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
}
.mobile-newsteaser .vm-teaser-image img,
.mobile-newsteaser .vm-teaser-image picture {
  height: 100%;
  object-fit: cover;
}

/* Typo kompakt; Teasertext auf 3 Zeilen */
.mobile-newsteaser .vm-card-title {
  font-size: 1.05rem !important;
  line-height: 1.3;
}
.mobile-newsteaser .vm-card-title a {
  margin: 0;
  padding: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
}
.mobile-newsteaser .vm-card-text {
  font-size: 0.85rem;
  line-height: 1.45;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* „mehr Details"-Button: Akzent-Fläche, weiße Schrift (kein Orange-auf-Orange) */
.mobile-newsteaser .vm-card-action .button {
  padding: 0.45em 1em;
  font-size: 0.9rem !important;
  background: var(--vm-primary, #b8440a);
  border-color: var(--vm-primary-dark, #b8440a);
  color: #ffffff;
}
.mobile-newsteaser .vm-card-action .button:hover,
.mobile-newsteaser .vm-card-action .button:focus-visible {
  background: var(--vm-primary-dark, #b8440a);
  border-color: var(--vm-primary, #b8440a);
  color: #ffffff;
}

/* =====================================================================
   VM Buttons – konsolidiert  ·  donum vitae
   Nach dem TAO-Framework-CSS laden. Vereinheitlicht ALLE Buttons
   (globaler .button + .vm-card-link.button in Iconbox/Teaser).
   Kernfix: font-size in REM + symmetrisches Padding = überall gleiche Höhe.
   --vm-btn-font ist die zentrale Stellschraube für die Buttongröße.

   Farbschema donum vitae:  Primär/Akzent = Rot-Orange #b8440a (weiße Schrift 5,4:1; #e1570c nur 3,8:1) · Zweitvariante = Neutral-Grau #b2b2b2
   Radius: gerundet wie KKF (16px / kleiner Button 12px).
   ===================================================================== */

:root {
  --vm-btn-font: 1.15rem;   /* <- hier die Buttongröße global justieren */
}

/* 1) GEMEINSAMES BOX-MODEL -------------------------------------------- */
.button, button.submit,
.headline-box-link,
.highlight-box-link {
  box-sizing: border-box;
  padding: 0.64286em 1.42857em;          /* symmetrisch */
  border: 2px solid var(--vm-primary-dark);
  border-width: 2px !important;          /* TAO-Basis nutzt 1px, Varianten 2px -> hier auf 2px vereinheitlichen (nur Breite, Farbe bleibt je Variante) */
  border-image: none !important;         /* TAO-Rahmenverlauf aus */
  border-radius: 16px !important;        /* KKF-Radius */

  font-size: var(--vm-btn-font) !important;
  line-height: 1.42929;
  letter-spacing: 0.05rem;
  font-weight: 400;

  color: var(--vm-white);
  text-align: center;
  text-decoration: none !important;
  text-transform: none !important;       /* kein TAO-UPPERCASE */

  background: var(--vm-primary);          /* Standard = Rot-Orange */
  background-image: none !important;      /* TAO-Hintergrundverlauf aus */
  box-shadow: none !important;            /* TAO-Schatten aus */
  text-shadow: none !important;           /* TAO-Textschatten aus */

  transition: background-color .2s ease, border-color .2s ease, color .2s ease, transform .2s ease;
}

/* Card-Link: gleiche Maße erzwingen (überschreibt alte 0.75em / 1.15em-Regel)
   padding + line-height mit !important, damit TAO sie nicht je nach
   Ladereihenfolge überschreibt. Nur Maße – Farbe bleibt je Variante. */
.vm-card-link.button {
  display: inline-flex !important;   /* TAO setzt .button = inline-block; hier flex erzwingen, sonst kippt die Höhe je Variante */
  align-items: center;
  justify-content: center;
  padding: 0.64286em 1.42857em !important;
  line-height: 1.42929 !important;
  font-size: var(--vm-btn-font) !important;
}

/* Flex-Item auf Zeilenhöhe heben, damit die Buttonhöhe nicht auf die
   Glyphenhöhe (font-size) zusammenfällt -> alle Varianten gleich hoch */
.vm-card-link.button .vm-card-link-text {
  line-height: 1.42929;
}

/* TAO-Overlay (::after) abschalten, Pfeil-Icon vertikal sauber */
.button::after,
.headline-box-link::after,
.highlight-box-link::after { display: none !important; }
.button::before { top: 0.05em; }

/* Standard/Rot-Orange – Hover */
.button:hover, .button:focus-visible,
.headline-box-link:hover, .highlight-box-link:hover,
button.submit:hover {
  background: var(--vm-primary-dark); border-color: var(--vm-primary); color: var(--vm-white);
  transform: translateY(-1px);
}

/* 2) FARBVARIANTEN ---------------------------------------------------- */

/* Neutral / Grau – Zweitvariante  (-secondary) */
.button.-secondary,
.headline-box-link.-secondary,
.vm-card-link.button.-secondary {
  background: #b2b2b2; border: 2px solid #9a9a9a; color: #ffffff;
}
.button.-secondary:hover, .button.-secondary:focus-visible,
.headline-box-link.-secondary:hover,
.vm-card-link.button.-secondary:hover, .vm-card-link.button.-secondary:focus-visible {
  background: #9a9a9a; border-color: #b2b2b2; color: #ffffff;
}

/* Pfirsich  (-light) */
.button.-light,
.headline-box-link.-light,
.vm-card-link.button.-light {
  background: var(--vm-surface); border: 2px solid var(--vm-primary); color: var(--vm-primary);
}
.button.-light:hover, .button.-light:focus-visible,
.headline-box-link.-light:hover,
.vm-card-link.button.-light:hover, .vm-card-link.button.-light:focus-visible {
  background: var(--vm-primary); border-color: var(--vm-primary); color: var(--vm-white);
}

/* Hellgrau  (-tertiary) */
.button.-tertiary,
.headline-box-link.-tertiary,
.vm-card-link.button.-tertiary {
  background: var(--vm-grey); border: 2px solid var(--vm-primary); color: var(--vm-primary);
}
.button.-tertiary:hover, .button.-tertiary:focus-visible,
.headline-box-link.-tertiary:hover,
.vm-card-link.button.-tertiary:hover, .vm-card-link.button.-tertiary:focus-visible {
  background: var(--vm-primary); border-color: var(--vm-primary); color: var(--vm-white);
}

/* Weiß  (-quaternary) */
.button.-quaternary,
.headline-box-link.-quaternary,
.vm-card-link.button.-quaternary {
  background: var(--vm-white); border: 2px solid var(--vm-primary); color: var(--vm-primary);
}
.button.-quaternary:hover, .button.-quaternary:focus-visible,
.headline-box-link.-quaternary:hover,
.vm-card-link.button.-quaternary:hover, .vm-card-link.button.-quaternary:focus-visible {
  background: var(--vm-primary); border-color: var(--vm-primary); color: var(--vm-white);
}

/* Buttons in invertierten (dunklen) Boxen ----------------------------
   Wird eine Box auf „Textfarbe invertieren" gestellt und der Hintergrund
   von Hand auf Rot-Orange (#e1570c) gelegt, verschmilzt der Button mit der
   Fläche: die hellen Varianten schlagen im Hover auf #e1570c um, die
   Standard-Variante ist schon im Ruhezustand gleichfarbig. Eine
   durchgängig weiße Outline (Ruhezustand + Hover/Fokus) hält die
   Buttonform in jedem Zustand sichtbar – Farb- und Textlogik bleiben. */
.vm-card--inverted .vm-card-link.button,
.vm-card--inverted .vm-card-link.button:hover,
.vm-card--inverted .vm-card-link.button:focus-visible {
  border-color: var(--vm-white);
}

/* Buttons auf zentriertem, invertiertem Hintergrund (heller Text) -----
   Gleiches Problem wie in den invertierten Boxen: auf dunklem Grund
   verschmelzen Standard- und Hover-Fläche mit dem Hintergrund. Dieselbe
   durchgängig weiße Outline (Ruhezustand + Hover/Fokus) hält die
   Buttonform sichtbar – Farb- und Textlogik bleiben. */
.centered-wrapper.-color-inverted .button,
.centered-wrapper.-color-inverted .button:hover,
.centered-wrapper.-color-inverted .button:focus-visible,
.centered-wrapper.-color-inverted .vm-card-link.button,
.centered-wrapper.-color-inverted .vm-card-link.button:hover,
.centered-wrapper.-color-inverted .vm-card-link.button:focus-visible,
.centered-wrapper.-color-inverted .headline-box-link,
.centered-wrapper.-color-inverted .headline-box-link:hover,
.centered-wrapper.-color-inverted .highlight-box-link,
.centered-wrapper.-color-inverted .highlight-box-link:hover {
  border-color: var(--vm-white);
}

/* 3) KLEINER BUTTON --------------------------------------------------- */
.button.-small,
.vm-card-link.button.-small {
  padding: 0.4em 0.95em;
  font-size: 16px !important;            /* barrierearm: feste Mindestgröße */
  border-radius: 12px !important;        /* KKF-Radius */
}

/* --- Textlink (VM Button, Variante „Textlink") ----------------------
   Kein Kasten – reiner Link im donum Rot-Orange, Icon aus data-icon davor. */
.vm-textlink {
  display: inline-flex;
  align-items: center;
  gap: 0.4em;
  color: var(--vm-primary);
  font-weight: 700;
  font-size: var(--vm-btn-font);
  line-height: 1.3;
  text-decoration: none;
  letter-spacing: 0.02em;
  transition: color .2s ease;
}
.vm-textlink:hover,
.vm-textlink:focus-visible {
  color: var(--vm-primary-hover);
  text-decoration: underline;
  text-underline-offset: 0.28em;
}
.vm-textlink::before { margin: 0; top: 0; }

/* ==========================================================
   VM Component Library  ·  donum vitae
   Component: VM Iconbox / Grid / Card Base
   Version: 2.0.0
   CMS: Contao 5.7
   Theme: RockSolid TAO
   Breakpoints: Tablet ≤1280px / Mobil ≤900px / Mobil klein ≤600px
   (Spaltenanzahl je Breakpoint einzeln über Redakteurs-Selects wählbar)

   Farbschema donum vitae (mono-Akzent):
   - Primär/Akzent:    Rot-Orange   #b8440a (Schrift, Buttons – barrierefrei)
   - Markenorange:     #e1570c NUR für Grafik (Logo-Ton, Deko) – als Schrift 3,8:1
   - Zweitvariante:    Neutral-Grau #b2b2b2
   - Text:             #333333
   - Flächen:          Pfirsich     #FDF6F2 / #fdf2ea / #f9dccc
   Radius: gerundet wie KKF (Karten 20px, Icon-Felder 9px).
   ========================================================== */

:root {
  /* Text & Rot-Orange (Primär) */
  --vm-text: #333333;            /* Standard-Textfarbe / Fließtext */
  /* Kontrast (WCAG 1.4.3, Schrift ≥ 4,5:1) – gemessen 13.09.2026:
     #e1570c auf Weiß nur 3,77:1, weiße Schrift auf #e1570c ebenso.
     #b8440a: 5,4:1 auf Weiß, 5,0:1 auf #f5f5f5, 5,1:1 auf --vm-surface,
     4,9:1 auf dem grauen Menü (#f2f2f2), weiße Schrift darauf 5,4:1. */
  --vm-primary: #b8440a;         /* Rot-Orange: Schrift, Links, Button-Fläche, Rahmen, Icons */
  --vm-primary-dark: #963707;    /* Hover/aktiv von Flächen – weiße Schrift 7,4:1 */
  --vm-primary-hover: #963707;   /* Hover von Textlinks: DUNKLER, ein hellerer Ton fiele unter 4,5:1 */
  --vm-brand: #e1570c;           /* Markenorange – nur Grafik/Deko ohne Textfunktion (≥ 3:1 genügt dort) */
  --vm-white: #ffffff;
  --vm-page-bg: #f5f5f5;         /* Website-Hintergrund – im Theme/Layout auf body setzen */

  /* Akzent (geht im Primär auf – mono-Akzent) */
  --vm-accent: #b8440a;
  --vm-accent-dark: #963707;

  /* Flächen (Pfirsich-Tönung) */
  --vm-surface: #FDF6F2;         /* Karten-Hintergrund */
  --vm-surface-light: #fdf2ea;
  --vm-surface-icon: #f9dccc;

  /* Rahmen & Grautöne */
  --vm-border: #e8e8e8;
  --vm-border-accent: #f4cbb2;
  --vm-border-neutral: #e5e5e5;
  --vm-grey: #eeeeee;
  --vm-border-strong: #767676;   /* Kante von Bedienelementen (Top-Link) – 4,5:1 auf Weiß (WCAG 1.4.11) */
  --vm-focus-ring: #b8440a;      /* Tastatur-Fokusring – 5,4:1 auf Weiß, 5,1:1 auf --vm-surface, 4,5:1 auf #fbe6da */

  /* Effekte & Maße (Radius wie KKF) */
  --vm-shadow: 0 18px 38px rgba(0, 0, 0, 0.055);
  --vm-shadow-hover: 0 24px 46px rgba(0, 0, 0, 0.085);
  --vm-radius: 20px;
  --vm-radius-small: 9px;
  --vm-gap: 2.25rem;
  --vm-card-padding: 2.15rem;
  --vm-transition: 220ms ease;
}

/* ----------------------------------------------------------
   Component wrapper
   ---------------------------------------------------------- */

.vm-component,
.vm-component * {
  box-sizing: border-box;
}

.vm-component {
  color: var(--vm-text);
}

.vm-component-headline {
  margin: 0 0 1.75rem;
  color: var(--vm-primary);   /* Überschriften in Markenfarbe Rot-Orange */
  font-weight: 700;
  line-height: 1.18;
  text-transform: none;
}

/* ----------------------------------------------------------
   Grid engine
   ---------------------------------------------------------- */

.vm-grid {
  display: grid;
  gap: var(--vm-gap);
  align-items: stretch;
}

.vm-grid.grid-1 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
.vm-grid.grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.vm-grid.grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.vm-grid.grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.vm-grid.grid-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.vm-grid.grid-6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }

.vm-grid .span-2 { grid-column: span 2; }
.vm-grid .span-3 { grid-column: span 3; }
.vm-grid .span-4 { grid-column: span 4; }
.vm-grid .span-5 { grid-column: span 5; }
.vm-grid .span-6 { grid-column: 1 / -1; }

/* ----------------------------------------------------------
   Card base
   ---------------------------------------------------------- */

.vm-card {
  position:relative;
  min-width: 0;
  height: 100%;
  color: var(--vm-text);
  border-radius: var(--vm-radius);
  border: 1px solid var(--vm-border-accent);
  background: var(--vm-surface);
  box-shadow: var(--vm-shadow);
  overflow: hidden;
  transition:
    transform .25s ease,
    box-shadow .25s ease,
    border-color .25s ease;
}


.vm-card::before{content:"";position:absolute;left:0;top:0;width:100%;height:4px;background:var(--vm-border-accent);}
.vm-card:hover::before{background:var(--vm-primary-hover);}
.vm-card h3 {
    color: var(--vm-text);   /* Card-Überschriften in #333 (nicht Akzent) */
    line-height: 1.25;
    margin: 0 0 .75rem;
}

.vm-card:hover {
    transform: translateY(-2px);
    box-shadow:
      0 18px 38px rgba(0,0,0,.08);
    border-color: rgba(225, 87, 12,.35);
}

.vm-card-inner {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: var(--vm-card-padding);
}

.vm-card-body {
  flex: 1 1 auto;
  min-width: 0;
}

/* ==========================================================
   Kartenfarben
   Primär = Pfirsich-Karte · plus neutrale Varianten
   ========================================================== */

/* --- Getönte Karte (Primär / Standard) = Pfirsich ---------- */
.vm-card--green {
    background: var(--vm-surface);
    border: 1px solid var(--vm-border-accent);
}

.vm-card--white {
    background: var(--vm-white);
    border: 1px solid var(--vm-border-neutral);
}

.vm-card--border {
    background: var(--vm-white);
    border: 1px solid var(--vm-border-accent);
}

.vm-card--plain {
    background: transparent;
    border: none;
    box-shadow: none;
}

.vm-card--plain:hover {
    transform: none;
    box-shadow: none;
}

.vm-card--bare {
  background: transparent;
  border: none;
  box-shadow: none;
}

/* Eine randlose Karte soll sich wie normaler Fließtext verhalten: kein
   Hintergrund, kein Rahmen – und auch kein Innenabstand. Mit den 2,15rem
   aus --vm-card-padding oben und unten stand zwischen zwei Zeilen eines
   zweispaltigen Rasters sonst die Rasterlücke PLUS 2 x 34px, was wie ein
   Abschnittswechsel aussah statt wie ein Listenabstand. (19.09.2026) */
.vm-card--bare .vm-card-inner {
  padding: 0;
}

.vm-card--bare::before {
  display: none;          /* hebt die obere Akzentlinie auf */
}

/* Rundung UND Beschnitt aufheben. .vm-card bringt `border-radius: 20px`
   zusammen mit `overflow: hidden` mit – sinnvoll, solange die Karte eine
   Fläche hat, deren Ecken rund beschnitten werden sollen. Die randlose
   Karte hat keine Fläche, dafür aber `padding: 0` (s. oben): Der Inhalt
   liegt damit exakt auf der Kartenkante, und die runde Ecke schneidet ihm
   oben links ein Stück heraus – sichtbar am Iconfeld der Variante „Icon
   klein neben Überschrift" und an langen Zeilen in den Ecken. Ohne Fläche
   gibt es nichts zu runden und nichts zu beschneiden. (21.09.2026) */
.vm-card--bare {
  border-radius: 0;
  overflow: visible;
}

.vm-card--bare:hover {
  transform: none;
  box-shadow: none;
}

.vm-card--custom-color {
  border-color: rgba(0, 0, 0, 0.08);
}

.vm-card--inverted,
.vm-card--inverted .vm-card-title,
.vm-card--inverted .vm-card-text,
.vm-card--inverted .vm-card-text * {
  color: var(--vm-white);
}

/* ==========================================================
   Iconfarbe abhängig vom Kartentyp
   ========================================================== */

/* Getönte Karte -> weißes Iconfeld */

.vm-card--green .vm-card-icon {
    background:var(--vm-white);
}

/* Weiße/rahmenlose Karten -> pfirsiches Iconfeld */

.vm-card--white .vm-card-icon,
.vm-card--border .vm-card-icon,
.vm-card--plain .vm-card-icon {
    background: var(--vm-surface-icon);
}

/* Optional: „Icon invertiert" auf der getönten Karte -> orangefarbenes Feld */
.vm-card.vm-card--green.-inverted-icon .vm-card-icon { background: var(--vm-primary); }


/* ----------------------------------------------------------
   Iconbox
   ---------------------------------------------------------- */

.vm-iconbox-item {
  text-decoration: none;
}

.vm-card-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  margin-bottom: 1.5rem;
  color: var(--vm-primary);
  background: var(--vm-surface-icon);

  /* Radius in Prozent statt fest: So bleibt die Rundung bei JEDER
     Icon-Größe gleich stark. Vorher standen hier 9px – auf dem 64px-Icon
     der Variante „Icon neben Überschrift" waren das 14 %, während das
     kleine Icon (46px) und das Badge (87px) bei 27–28 % lagen. Das Icon
     wirkte dadurch deutlich eckiger als alle anderen. (19.09.2026) */
  border-radius: 27%;

  transition:
    background .25s ease,
    color .25s ease,
    transform .25s ease,
    box-shadow .25s ease;

  box-shadow: inset 0 0 0 1px rgba(225, 87, 12,.08);

}

.vm-card-icon span {
  display: inline-flex;
  line-height: 1;
  color: inherit;
}

.vm-card-icon span::before {
  content: attr(data-icon);
  font: 100%/1 "RockSolid Icons";
  font-size: 1.75rem;
  line-height: 1;
  color: var(--vm-primary);
  margin-right: 0;
  speak: never;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.vm-card-title {
  margin: 0 0 0.75rem;
  color: var(--vm-text);   /* Card-Überschriften in #333 (nicht Akzent) */
  font-size: clamp(1.35rem, 1.1vw, 1.75rem);
  font-weight: 700;
  line-height: 1.22;
  text-transform: none;

  /* Auch lange Überschriften-Komposita (z. B. „Schwangerschaftskonflikt-
     beratung") sauber trennen – aber nur sehr lange Wörter (ab 10 Zeichen).
     Mehrzeilige Titel ausgewogen umbrechen. */
  hyphens: auto;
  -webkit-hyphens: auto;
  hyphenate-limit-chars: 10 4 4;
  -webkit-hyphenate-limit-before: 4;
  -webkit-hyphenate-limit-after: 4;
  overflow-wrap: break-word;
  text-wrap: balance;
}

/* Box-Überschriften immer fett darstellen.
   Höhere Spezifität als .vm-card h3, damit keine Theme-Grundregel
   für h3 die Schriftstärke überschreibt (gilt für Icon- und Teaserboxen). */
.vm-card .vm-card-title,
.vm-teaser .vm-card-title {
  font-weight: 700;   /* = bold */
}

.vm-card-text {
  color: var(--vm-text);
  font-size: 17px;
  line-height: 1.62;

  /* Automatische Silbentrennung für Boxeninhalte.
     Braucht lang="de" am <html> (Contao-Root), sonst trennt der Browser
     willkürlich. hyphenate-limit-chars bändigt die Trennung: nur Wörter ab
     8 Zeichen, min. 4 davor UND min. 4 danach – so entstehen keine hässlichen
     Kurzsilben wie „ergebnisof-fen" (Tail hätte nur 3 Zeichen). */
  hyphens: auto;
  -webkit-hyphens: auto;
  hyphenate-limit-chars: 8 4 4;

  /* Safari kennt hyphenate-limit-chars (noch) nicht → Einzelwerte */
  -webkit-hyphenate-limit-before: 4;
  -webkit-hyphenate-limit-after: 4;
  -webkit-hyphenate-limit-lines: 2;   /* max. 2 Trennstriche direkt untereinander */

  overflow-wrap: break-word;   /* Notbremse: extrem lange Wörter hart umbrechen statt Überlauf */
  text-wrap: pretty;           /* modernere Umbruch-Logik, reduziert schlechte Zeilenenden */
}

.vm-card-text > *:first-child { margin-top: 0; }
.vm-card-text > *:last-child { margin-bottom: 0; }

.vm-card-action {
  flex: 0 0 auto;
  margin-top: 1.75rem;
}

/* ----------------------------------------------------------
   Link / button variants inside cards
   ---------------------------------------------------------- */

.vm-card-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.6em;
  max-width: 100%;
  text-decoration: none;
  transition:
    color var(--vm-transition),
    background-color var(--vm-transition),
    border-color var(--vm-transition),
    transform var(--vm-transition);
}

/* ==========================================================
   Card-Button – Primär (Rot-Orange)
   Größe (rem-basiert), Padding, Farbe, Hover und alle
   Farbvarianten liegen zentral in custom_vm_buttons.css
   (single source of truth). Hier bewusst KEINE eigenen
   .vm-card-link.button-Maße mehr definieren – sonst gewinnt
   je nach Ladereihenfolge mal die em-Regel, mal die rem-Regel
   und die Buttons in den Iconboxen bekommen unterschiedliche
   Höhen.
   ========================================================== */

/* --- Textlink ------------------------------------------------------- */
.vm-card-link.-link {
  color: var(--vm-primary);
  font-weight: 700;
  text-decoration: none;
  text-underline-offset: 0.28em;
  font-size: 1.15em;
}

.vm-card-link.-link:hover,
.vm-card-link.-link:focus-visible {
  color: var(--vm-primary-hover);
  text-decoration: none;
}
/* Unterstrich nur unter dem Text: Der Pfeil ist ein Flex-Element – eine
   Unterstreichung am Link liefe unter ihm mit (und lässt sich dort nicht
   mehr abschalten). */
.vm-card-link.-link:hover .vm-card-link-text,
.vm-card-link.-link:focus-visible .vm-card-link-text {
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

/* Invertierte Karte + Textlink -> weiße Schrift */
.vm-card--inverted .vm-card-link.-link {
  color: var(--vm-white);
}
.vm-card--inverted .vm-card-link.-link:hover,
.vm-card--inverted .vm-card-link.-link:focus-visible {
  color: rgba(255, 255, 255, 0.8);
}

/* ----------------------------------------------------------
   Button Icon
   ---------------------------------------------------------- */

.vm-card-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .55rem;
}

.vm-card-link-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    flex: 0 0 auto;

    line-height: 1;

    transform: translateY(0.06em);
}

.vm-card-link-text {
    display: inline-flex;
    align-items: center;

    line-height: 1;
}

.vm-card-link--inactive {
  cursor: default;
  opacity: 0.75;
}

/* ----------------------------------------------------------
   Alignment variants
   ---------------------------------------------------------- */

.vm-iconbox-item.-align-center,
.vm-iconbox-item.-align-center .vm-card-inner,
.vm-iconbox-item.-align-center .vm-card-body {
  text-align: center;
  align-items: center;
}

.vm-iconbox-item.-align-right,
.vm-iconbox-item.-align-right .vm-card-inner,
.vm-iconbox-item.-align-right .vm-card-body {
  text-align: right;
  align-items: flex-end;
}

/* ----------------------------------------------------------
   Icon variants
   ---------------------------------------------------------- */

.vm-iconbox-item.-large-icon .vm-card-icon {
  width: 4.5rem;
  height: 4.5rem;
  border-radius: var(--vm-radius-small);
}

.vm-iconbox-item.-large-icon .vm-card-icon span::before {
  font-size: 2.05rem;
}

.vm-iconbox-item.-inverted-icon .vm-card-icon {
  color: var(--vm-white);
  background: var(--vm-primary);
}

.vm-iconbox-item.-inverted-icon .vm-card-icon span::before {
  color: var(--vm-white) !important;
}

.vm-iconbox-item.-headline-icon .vm-card-inner {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  grid-template-rows: 1fr auto;
  column-gap: 1rem;
  row-gap: 0.75rem;
}

.vm-iconbox-item.-headline-icon .vm-card-icon {
  grid-column: 1;
  grid-row: 1;
  margin-bottom: 0;
}

.vm-iconbox-item.-headline-icon .vm-card-body {
  grid-column: 2;
  grid-row: 1;
}

.vm-iconbox-item.-headline-icon .vm-card-action {
  grid-column: 2;
  grid-row: 2;
  margin-top: 0.75rem;
}

/* ==========================================================
   Icon KLEIN neben der Überschrift
   ========================================================== */
.vm-iconbox-item.-headline-icon-small .vm-card-inner {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  grid-template-rows: 1fr auto;
  column-gap: 0.85rem;
  row-gap: 0.75rem;
}
.vm-iconbox-item.-headline-icon-small .vm-card-icon {
  grid-column: 1;
  grid-row: 1;
  width: 2.5rem;
  height: 2.5rem;

  /* Bewusst FLACHER als die 27 % der großen Icons: Bei kleinen Flächen
     liest sich derselbe Prozentwert deutlich runder, weil von der Kante
     kaum noch ein gerades Stück übrig bleibt. 0,55rem sind auf 46px rund
     22 % und wirken damit so kantig wie das Badge bei 87px. (19.09.2026) */
  border-radius: 0.55rem;
  margin-bottom: 0;
}
.vm-iconbox-item.-headline-icon-small .vm-card-icon span::before {
  font-size: 1.15rem;
}
.vm-iconbox-item.-headline-icon-small .vm-card-body {
  grid-column: 2;
  grid-row: 1;
}
.vm-iconbox-item.-headline-icon-small .vm-card-action {
  grid-column: 2;
  grid-row: 2;
  margin-top: 0.75rem;
}

/* ==========================================================
   Icon als Badge – ragt über den oberen Kartenrand hinaus
   ========================================================== */
.vm-iconbox-item.-badge-top-icon {
  overflow: visible;

  /* HIER STAND `margin-top: 2.75rem` – der eigentliche Fehler (19.09.2026).
     Die Karte erbt von .vm-card ein `height: 100%`. Diese Höhe füllt die
     komplette Rasterzeile; der Außenabstand kam obendrauf. Die Karte stand
     damit genau um diesen Betrag UNTEN aus ihrer Zeile heraus – und da die
     Höhe der Box die Höhe des Rasters ist, rutschte das Folgeelement um
     50px nach oben. Es sah aus, als hätte die Box einen negativen Abstand
     nach unten; tatsächlich lag der Inhalt schlicht außerhalb.

     Den Platz für das überstehende Badge machen jetzt der Innenabstand der
     Box (padding-top) und der Zeilenabstand des Rasters, beide aus
     --vm-badge-ueberstand. Die Karte selbst muss sich nicht mehr
     verschieben. */
}

.vm-iconbox-item.-badge-top-icon h3 {
    margin-top: 0.5rem;
}

.vm-iconbox-item.-badge-top-icon::before {
  display: none;
}

.vm-iconbox-item.-badge-top-icon .vm-card-inner {
  padding-top: calc(var(--vm-card-padding) + 2.5rem);
}

/* Größe des Badges und der Überstand, den es nach oben aus der Karte
   herausragt. Beides einmal hier, damit Innenabstand der Reihe und
   Zeilenabstand des Rasters weiter unten davon ableiten können. */
.vm-iconbox.-badge-top-icon,
.vm-iconbox-item.-badge-top-icon {
  --vm-badge-groesse: clamp(4rem, 3.4rem + 1.7vw, 5.5rem);
  --vm-badge-ueberstand: calc(var(--vm-badge-groesse) / 2);
}

.vm-iconbox-item.-badge-top-icon .vm-card-icon {
  position: absolute;
  top: 0;
  left: var(--vm-card-padding);
  transform: translateY(-50%);
  margin: 0;
  z-index: 2;

  width:  var(--vm-badge-groesse);
  height: var(--vm-badge-groesse);
  border-radius: 27%;

  box-shadow:
    inset 0 0 0 1px rgba(225, 87, 12, 0.08),
    0 10px 24px rgba(0, 0, 0, 0.18);
}

.vm-iconbox-item.-badge-top-icon .vm-card-icon span::before {
  font-size: clamp(1.75rem, 1.4rem + 1vw, 2.5rem);
}

.vm-iconbox-item.-badge-top-icon.-align-center .vm-card-icon {
  left: 50%;
  transform: translate(-50%, -50%);
}
.vm-iconbox-item.-badge-top-icon.-align-right .vm-card-icon {
  left: auto;
  right: var(--vm-card-padding);
}

.vm-iconbox-item.-badge-top-icon .vm-card-action {
  /* Vorher 0: Der Textlink saß ohne Luft direkt unter der letzten Textzeile
     und las sich dadurch wie eine weitere Zeile des Adressblocks statt wie
     eine eigene Handlung. 1,5rem ist derselbe Abstand, den die Teaserboxen
     über ihrer Aktion haben. (21.09.2026) */
  margin-top: 1.5rem;
}

/* Das Badge ragt oben aus der Karte heraus, die Box selbst rechnet den
   Überstand aber nicht mit: Ihre Oberkante ist die Kartenoberkante. Ohne
   diesen Innenabstand stößt das Badge an das Element darüber, und man muss
   an jedem Element von Hand eine margin-Klasse setzen. Mit dem Abstand
   greifen die normalen Abstandsklassen wieder wie bei jeder anderen Box.
   (19.09.2026)

   Der Zeilenabstand im Raster braucht denselben Wert, sonst ist die Lücke
   zwischen zwei Kartenreihen optisch kleiner als zwischen zwei Karten
   nebeneinander. */
.vm-iconbox.-badge-top-icon {
  padding-top: var(--vm-badge-ueberstand);
}

.vm-iconbox.-badge-top-icon .vm-grid {
  row-gap: calc(var(--vm-gap) + var(--vm-badge-ueberstand));
}

/* Badge-Icon (getönte Karte): Innenkontur in Themenfarbe */
.vm-card.vm-card--green.-badge-top-icon .vm-card-icon {
  box-shadow:
    inset 0 0 0 1px rgba(225, 87, 12, 0.15),
    0 10px 24px rgba(0, 0, 0, 0.18);
}


/* ----------------------------------------------------------
   Responsive – Spaltenanzahl je Breakpoint
   Die Spaltenzahl wählt der Redakteur pro Breakpoint selbst:
     Desktop     .grid-1 … .grid-6      (Basis, > 1280px, siehe „Grid engine")
     Tablet      .grid-t-1 … .grid-t-6  (≤ 1280px)
     Mobil       .grid-m-1 … .grid-m-6  (≤ 900px)
     Mobil klein .grid-s-1 … .grid-s-6  (≤ 600px)
   Am Element hängen alle vier Klassen gleichzeitig. Da die Blöcke in der
   Reihenfolge Tablet -> Mobil -> Mobil klein stehen (gleiche Spezifität),
   gewinnt bei überlappenden Breakpoints per Quellreihenfolge immer der
   schmalere Wert.
   ---------------------------------------------------------- */

/* Tablet – ab 1280px und schmaler */
@media (max-width: 1280px) {
  .vm-grid.grid-t-1 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
  .vm-grid.grid-t-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .vm-grid.grid-t-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .vm-grid.grid-t-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .vm-grid.grid-t-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .vm-grid.grid-t-6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }
}

/* Mobil – ab 900px und schmaler */
@media (max-width: 900px) {
  .vm-grid.grid-m-1 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
  .vm-grid.grid-m-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .vm-grid.grid-m-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .vm-grid.grid-m-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .vm-grid.grid-m-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .vm-grid.grid-m-6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }

  /* Spannweiten aufheben + Layout-Feinschliff (bleibt wie gehabt) */
  .vm-grid .span-2,
  .vm-grid .span-3,
  .vm-grid .span-4,
  .vm-grid .span-5,
  .vm-grid .span-6 {
    grid-column: auto;
  }

  .vm-card-inner {
    padding: 1.6rem;
  }

  .vm-iconbox-item.-headline-icon .vm-card-inner {
    display: flex;
  }

  .vm-iconbox-item.-headline-icon .vm-card-action {
    margin-top: 1.5rem;
  }
}

/* Mobil klein – ab 600px und schmaler */
@media (max-width: 600px) {
  .vm-grid.grid-s-1 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
  .vm-grid.grid-s-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .vm-grid.grid-s-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .vm-grid.grid-s-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .vm-grid.grid-s-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .vm-grid.grid-s-6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }
}

/* =====================================================================
   VM Component Library · donum vitae  (aus Baum/JCW übernommen, 19.09.2026)
   custom_vm_iconliste.css — Optik für das Element „VM Icon-Liste"
   Version: 1.0.0
   ---------------------------------------------------------------------
   Gehört zu templates/rsce_vm_iconliste.html5 + _config.php.

   LADEREIHENFOLGE: nach main.css und custom_vm_icon_boxes.css (Tokens).
   Ohne die Tokens greifen die Fallback-Farben — die Datei funktioniert
   also auch allein.

   ZIEL: pixelgleich zu einer Gruppe einzelner „VM Absatz mit Icon"-
   Elemente (.icon-text-block), damit beim Umbau einer Seite optisch
   nichts springt. Die Werte stammen aus main.css und wurden im
   JCW-Projekt live vermessen (Quelle des Elements):

     Einzug Text           1.875em      (.icon-text-block padding-left)
     Icon nach unten       0.21429em    (.icon-text-block:before top)
     Abstand zwischen      0.75em       (p margin-top, bei margin-bottom-none)
     Abstand vor / nach    0.75em / 1.5em  (= .main-content ul/p)
   ===================================================================== */

/* --- Liste selbst ---------------------------------------------------- */

/* `ul` davor aus demselben Grund wie bei ul.vm-linkliste: main.css setzt
   `.main-content ul` (0,1,1) auf list-style: disc und padding-left 1.25em.
   `ul.vm-iconliste` ist ebenfalls (0,1,1) und gewinnt über die Reihenfolge.

   Die Außenabstände entsprechen denen von .main-content p/ul — so steht
   die Liste auch AUSSERHALB des Inhaltsbereichs (Footer, Sidebar) gleich. */
ul.vm-iconliste {
  margin: 0.75em 0 1.5em;
  padding: 0;
  list-style: none;
}

/* --- Mehrspaltig (Auswahlfeld „Spalten") ------------------------------
   Verteilt die Einträge auf 2 bis 6 Spalten, ohne dass ein RockSolid-
   Spaltenumbruch um die Liste herum nötig wäre. Die Einträge laufen
   zeilenweise: 1 2 3 / 4 5 6 – wie beim Spaltenumbruch auch.

   Der Zeilenabstand kommt hier aus `row-gap` und NICHT mehr aus dem
   `margin-top` des Nachbar-Selektors weiter unten: Im Raster bekämen
   sonst auch der zweite und dritte Eintrag der ERSTEN Zeile diesen
   Abstand, und die erste Zeile stünde stufig. (21.09.2026)

   Einspaltig (Standard) bleibt alles wie bisher – dort wird keine
   Klasse ausgegeben und diese Regeln greifen nicht. */
ul.vm-iconliste.-spalten-2,
ul.vm-iconliste.-spalten-3,
ul.vm-iconliste.-spalten-4,
ul.vm-iconliste.-spalten-5,
ul.vm-iconliste.-spalten-6 {
  display: grid;
  column-gap: 2rem;
  row-gap: 0.6rem;
  align-items: start;
}

ul.vm-iconliste.-spalten-2 .vm-iconliste-item + .vm-iconliste-item,
ul.vm-iconliste.-spalten-3 .vm-iconliste-item + .vm-iconliste-item,
ul.vm-iconliste.-spalten-4 .vm-iconliste-item + .vm-iconliste-item,
ul.vm-iconliste.-spalten-5 .vm-iconliste-item + .vm-iconliste-item,
ul.vm-iconliste.-spalten-6 .vm-iconliste-item + .vm-iconliste-item {
  margin-top: 0;
}

ul.vm-iconliste.-spalten-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
ul.vm-iconliste.-spalten-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
ul.vm-iconliste.-spalten-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
ul.vm-iconliste.-spalten-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
ul.vm-iconliste.-spalten-6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }

/* Tablet (≤1280px): höchstens zwei Spalten – ein Listeneintrag ist Text,
   keine Karte, und wird in einer schmalen Spalte schnell zum Wortturm. */
@media (max-width: 1280px) {
  ul.vm-iconliste.-spalten-3,
  ul.vm-iconliste.-spalten-4,
  ul.vm-iconliste.-spalten-5,
  ul.vm-iconliste.-spalten-6 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Mobil (≤900px): wieder einspaltig – dieselben Breakpoints wie überall
   sonst in der Komponentenbibliothek. */
@media (max-width: 900px) {
  ul.vm-iconliste.-spalten-2,
  ul.vm-iconliste.-spalten-3,
  ul.vm-iconliste.-spalten-4,
  ul.vm-iconliste.-spalten-5,
  ul.vm-iconliste.-spalten-6 {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* --- Eintrag --------------------------------------------------------- */

/* Eintrag: Icon-Quader links, Text daneben. Flex statt Einzug, damit der
   Text bei mehrzeiligen Einträgen sauber an der Quaderkante bleibt. */
.vm-iconliste-item {
  display: flex;
  align-items: flex-start;
  gap: 0.85rem;
  margin: 0;
  padding: 0;
}

.vm-iconliste-item + .vm-iconliste-item {
  margin-top: 0.6rem;
}

/* Der Text füllt den Rest der Zeile */
.vm-iconliste-item > *:not(.vm-iconliste-icon) {
  flex: 1 1 auto;
  min-width: 0;
}

/* Der Text kommt aus dem Editor und steckt meist in einem <p>. Dessen
   Theme-Abstände (.main-content p, 0,1,1) würden sich zum Listenabstand
   addieren. Kindselektor mit `>` hebt die Spezifität auf (0,2,0) —
   gewinnt unabhängig von der Reihenfolge. Mehrere Absätze IN einem
   Eintrag behalten ihren normalen Abstand untereinander. */
.vm-iconliste-item > :first-child,
.vm-iconliste-item > .vm-iconliste-icon + * {
  margin-top: 0;
}

.vm-iconliste-item > :last-child {
  margin-bottom: 0;
}

/* --- Icon: rein dekorativ, kommt aus data-icon ----------------------- */

/* Icon auf hellgrünem Quader – dieselbe Optik wie in den Iconboxen
   (.vm-card-icon, Variante „Icon klein neben Überschrift"): 2,5rem
   Kantenlänge, Radius 0,7rem, Fläche --vm-surface-icon, Icon im Akzent.
   Schrift und content liefert die Theme-Regel `*[data-icon]:before`. */
.vm-iconliste-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: none;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 0.55rem;   /* wie .-headline-icon-small, s. custom_vm_icon_boxes.css */
  background: var(--vm-surface-icon, #f9dccc);
  box-shadow: inset 0 0 0 1px rgba(30, 86, 15, 0.08);
  line-height: 1;
}

.vm-iconliste-icon::before {
  margin-right: 0;
  font-size: 1.15rem;
  color: var(--vm-primary, #b8440a);   /* 4,9:1 auf der Pfirsichfläche */
}

/* Der Quader steht IMMER auf Höhe der ersten Textzeile, nicht mittig zum
   ganzen Absatz – sonst schwebt er bei mehrzeiligen Einträgen in der
   Mitte.

   Bewusst OHNE negativen Außenabstand: Ein `margin-top` am Icon wird vom
   Theme überschrieben (live gemessen: gesetzt −0.625rem, wirksam 0px).
   Stattdessen bekommt der Quader dieselbe Höhe wie die erste Zeile und
   zentriert sein Icon darin – das hält unabhängig von fremden Regeln.

   Dazu die Textgröße im Eintrag auf 1rem zurück: TAO gibt Absätzen im
   Hauptbereich 1.1em, wodurch die Zeilenhöhe auf 31px wuchs. */
.vm-iconliste-item {
  align-items: flex-start;
}

.main-content .vm-iconliste-item > *:not(.vm-iconliste-icon),
.vm-iconliste-item > *:not(.vm-iconliste-icon) {
  font-size: 1rem;
  line-height: 1.7625;   /* 28,2px – wie der übrige Fließtext */
}

/* Quaderhöhe = Höhe der ersten Zeile; das Icon sitzt darin mittig.
   Die sichtbare Fläche bleibt 2,5rem, sie wird nur vertikal zentriert
   ausgerichtet statt über einen Außenabstand verschoben. */
.main-content .vm-iconliste-icon,
.vm-iconliste-icon {
  align-self: flex-start;
  height: 2.5rem;
  margin-top: 0;
  /* Rechnerisch mittig zur Zeile wäre −5,9px ((28,2px Zeile − 40px
     Quader) / 2). Optisch wirkt der Quader dann zu hoch: Er überragt die
     28,2px hohe Zeile oben wie unten um knapp 6px, und während sich der
     Raum unten durch die Folgezeilen füllt, bleibt er oben leer.
     Deshalb bewusst tiefer gesetzt – nach Augenschein abgestimmt.
     Über translate statt margin, weil transform von keiner Theme-Regel
     angefasst wird. */
  transform: translateY(-0.15rem);
}

/* Auf dunklem Grund (Footer): heller Quader entfällt, das Icon erbt die
   helle Schriftfarbe – sonst grüner Quader auf grünem Grund. */
.-color-inverted .vm-iconliste-icon {
  background: none;
  box-shadow: none;
  width: auto;
  height: auto;
}

.-color-inverted .vm-iconliste-icon::before {
  color: inherit;
}

/* =====================================================================
   VM Component Library · donum vitae
   custom_vm_linkliste.css — Optik für das Element „VM Linkliste"
   Version: 1.0.0 (übernommen aus dem Projekt Jobcenter Westerwald)
   ---------------------------------------------------------------------
   Gehört zu templates/rsce_vm_linkliste.html5 + _config.php.

   LADEREIHENFOLGE: nach custom_vm_icon_boxes.css — von dort kommen die
   Rasterklassen (.vm-grid, .grid-*) und die --vm-*-Tokens. Im Layout
   steht die Datei direkt hinter custom_vm_iconliste.css.

   WOFÜR bei donum vitae
   Die Seite /links führte elf externe Adressen als nackte URLs in drei
   Spalten („www.bioeg.de"). Sichtbar stand dort nicht, was einen
   erwartet; Screenreader buchstabierten die Adresse. Diese Komponente
   gibt jedem Eintrag einen sprechenden Namen plus Untertitel.

   UNTERSCHIED ZUR ICON-LISTE
   custom_vm_iconliste.css ist für Aufzählungen aus FLIESSTEXT. Diese
   hier ist für Aufzählungen aus LINKS — mit Zielgröße, Fokusring und
   der Ansage „öffnet in neuem Fenster".
   ===================================================================== */

/* --- Liste selbst ---------------------------------------------------- */

/* Selektor bewusst mit `ul` davor: Das Theme setzt in main.css
   `.main-content ul { list-style: disc }`, `.main-content ul { padding-left:
   1.25em }` und eine Margin-Regel — alle mit Spezifität (0,1,1). Ein
   schlichtes `.vm-linkliste` (0,1,0) verliert dagegen, und die Liste bekäme
   im Inhaltsbereich Aufzählungspunkte und Einzug.

   `ul.vm-linkliste` ist ebenfalls (0,1,1) und gewinnt über die Reihenfolge —
   diese Datei lädt nach main.css. main.css NICHT anfassen, die schreibt der
   Theme Assistant bei jedem Speichern neu. */
ul.vm-linkliste {
  margin: 0;
  padding: 0;
  list-style: none;
  /* Zeilenabstand etwas enger als das Kartenraster, sonst wirken
     einzeilige Links verloren. */
  --vm-gap: 0.75rem 2rem;
}

.vm-linkliste-item {
  margin: 0;
  padding: 0;
}

/* --- Der Link ist die Klickfläche ------------------------------------ */

.vm-linkliste-link {
  display: flex;
  align-items: flex-start;
  gap: 0.6em;
  /* Zielgröße (WCAG 2.5.5): auch einzeilige Einträge bleiben 44px hoch.
     Zusammen mit dem Padding trägt der Link die ganze Fläche, nicht nur
     der Text — wichtig für Maus UND Touch. */
  min-height: 44px;
  padding: 0;
  text-decoration: none;
  color: inherit;
}

.vm-linkliste-link:hover .vm-linkliste-label,
.vm-linkliste-link:focus-visible .vm-linkliste-label {
  text-decoration: underline;
}

/* --- Icon: rein dekorativ, kommt aus data-icon ----------------------- */

.vm-linkliste-icon {
  flex: 0 0 auto;
  /* an der ersten Textzeile ausrichten, nicht an der Blockmitte */
  line-height: 1.45;
}

.vm-linkliste-icon::before {
  font: 1.15em/1 "RockSolid Icons";
  content: attr(data-icon);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: geometricPrecision;
  display: inline-block;
}

/* --- Text ------------------------------------------------------------ */

.vm-linkliste-text {
  display: flex;
  flex-direction: column;
  min-width: 0;                 /* erlaubt Umbruch langer Bezeichnungen */
}

.vm-linkliste-label {
  line-height: 1.3;
}

/* KEINE reduzierte Deckkraft: Der Untertitel trägt bei donum vitae die
   eigentliche Information („Hebammensuche für den Kreis Warendorf").
   Die Unterscheidung zur Bezeichnung macht die Schriftgröße, nicht die
   Farbe — ein ausgegrauter Untertitel fiele unter die Kontrastgrenze.

   Farbe bewusst auf die Textfarbe zurückgesetzt: Der Untertitel liegt IM
   Link und würde sonst das Rot-Orange erben. Dann sähe die ganze Zeile
   nach Linktext aus, und der eigentliche Name ginge darin unter. */
.vm-linkliste-sublabel {
  font-size: 0.8em;
  line-height: 1.35;
  color: var(--vm-text, #333);
  margin-top: 0.15em;
}

/* --- Zusatztext neben dem Link --------------------------------------- */

/* Für Hinweise, die sichtbar bleiben MÜSSEN, aber nicht zum Linkziel
   gehören — z. B. ein Gebührenhinweis an einer Telefonnummer. Bewusst
   KEIN Untertitel: Der liegt im <a> und würde vom Screenreader als Teil
   des Linktextes vorgelesen. Als Geschwister-Absatz mit
   aria-describedby (siehe Template) bleibt die Verknüpfung erhalten.

   Schriftgröße bewusst NICHT verkleinert und keine reduzierte Deckkraft:
   Ein rechtlich verbindlicher Hinweis darf optisch nicht zurücktreten. */
/* `p` davor aus demselben Grund wie bei ul.vm-linkliste: `.main-content p`
   (0,1,1) setzt margin 0.75em/1.5em und würde sonst gewinnen. */
/* Einträge MIT Zusatztext
   -------------------------------------------------------------------
   Der Link ist sonst über `min-height: 44px` immer 44px hoch, eine
   einzelne Textzeile füllt davon nur rund 25px. Die übrigen ~19px lägen
   als Leerraum genau zwischen Link und Hinweis.

   Hier wird die erzwungene Höhe zurückgenommen, damit der Hinweis direkt
   unter dem Link steht. Die Klickfläche kommt stattdessen aus einem
   Innenabstand NACH OBEN, den der gleich große negative Außenabstand im
   Layout wieder aufhebt.

   Bewusst nur nach oben: Ein Innenabstand nach unten würde die Klick-
   fläche über den Hinweistext legen — ein Klick auf den Hinweis würde
   dann den Link auslösen.

   `:has()` statt einer eigenen Klasse — so bleibt das Template unberührt. */
.vm-linkliste-item:has(> p.vm-linkliste-zusatz) .vm-linkliste-link {
  min-height: 0;
  padding-top: 0.6em;
  margin-top: -0.6em;
}

p.vm-linkliste-zusatz {
  margin: 0.15em 0 0;
  line-height: 1.25;
}

/* Bei Einträgen mit Icon unter dem TEXT ausrichten, nicht unter dem Icon.
   1.15em Icon-Schriftgröße + 0.6em Abstand = Breite der Icon-Spalte.
   Die Angabe bleibt in em der Zeile, deshalb hier keine eigene
   font-size — sonst würde sich der Einzug mitverkleinern. */
.vm-linkliste-item--icon p.vm-linkliste-zusatz {
  padding-left: 1.75em;
}

/* --- Hinweiszeile über der Liste ------------------------------------- */

/* Trägt „Alle Links öffnen in einem neuen Fenster." — einmal sichtbar
   für Sehende, statt an jedem Eintrag ein Icon. Der Hinweis FÜR
   Screenreader steckt zusätzlich in jedem Link (.vm-nur-sr im Template),
   weil viele Nutzer per Linkliste navigieren und den Absatz nie hören. */
p.vm-linkliste-hinweis {
  margin: 0 0 0.75em;
  font-size: 0.8em;
  /* Deckkraft bewusst voll — siehe Begründung beim Untertitel oben. */
}

/* --- Nur für Screenreader --------------------------------------------
   .vm-nur-sr steht bei donum vitae bereits in custom_allgemein.css und
   wird hier bewusst NICHT wiederholt: custom_allgemein.css ist in beiden
   Layouts die erste donum-Datei und fällt nicht weg. (Im JCW-Projekt
   steht an dieser Stelle eine Dublette — dort hängt die Klasse an einer
   optionalen Komponente.)
   -------------------------------------------------------------------- */

/* --- Im Inhaltsbereich -----------------------------------------------
   Farbe: `color: inherit` ergäbe hier die schwarze Textfarbe — die
   Einträge sähen nicht mehr wie Links aus. Deshalb das donum-Rot-Orange
   wie jeder andere Link im Inhalt; das Icon erbt die Farbe mit.

   Zeilenabstand: Die 44px Mindesthöhe des Links ergeben allein schon den
   gewohnten Zeilentakt. Der Rasterabstand käme OBEN drauf und würde die
   Liste strecken — deshalb hier nur Spaltenabstand. Einträge MIT
   Untertitel sind aber zweizeilig und brauchen wieder etwas Luft, sonst
   klebt der nächste Name am Untertitel darüber.

   Unten: `.main-content ul` setzt margin-bottom 1.5em, die Liste selbst
   setzt margin 0 — der Folgeinhalt klebte sonst an der Liste.
   -------------------------------------------------------------------- */

.main-content ul.vm-linkliste {
  --vm-gap: 0.9rem 2.5rem;
  margin-bottom: 1.5em;
}

.main-content .vm-linkliste-link {
  color: var(--vm-primary, #b8440a);
}

.main-content .vm-linkliste-link:hover,
.main-content .vm-linkliste-link:focus-visible {
  color: var(--vm-primary-hover, #963707);
}

/* --- Rückfall: Überschrift IM Element --------------------------------
   ACHTUNG, Projektregel: Überschriften werden bei donum vitae als
   EIGENES Inhaltselement angelegt und mit `font-size-*` ausgezeichnet
   (üblich: `black bold font-size-xl margin-top-s margin-bottom-xs`).
   Grund: Die Theme-Standardgrößen skalieren mobil nicht mit und werden
   auf dem Handy zu groß. Das Feld „Überschrift" IM Element bleibt
   deshalb leer — siehe README-DONUM.md.

   Diese Regel greift nur, wenn jemand das Feld doch benutzt. Dann
   stünde die Überschrift als Geschwister vor dem <ul>, ohne eigene
   Klasse, und bekäme den Theme-Standardabstand von rund 45px nach
   unten: bei 50px zwischen den Gruppen wäre sie damit fast genauso
   weit von ihrer eigenen Liste entfernt wie von der Gruppe darüber,
   die Zuordnung also nicht mehr ablesbar. 0.6em stellt das Verhältnis
   wieder her. Die TAO-Klassen sind `!important` und gewinnen, sobald
   eine eigene Überschrift davorsteht — die Regel stört dort nicht.

   `:has()` statt einer Template-Klasse, damit das aus dem Projekt
   Jobcenter Westerwald übernommene Template unverändert bleibt und
   sich weiter gegen das Original abgleichen lässt.
   -------------------------------------------------------------------- */

.main-content h2:has(+ ul.vm-linkliste),
.main-content h3:has(+ ul.vm-linkliste),
.main-content h2:has(+ p.vm-linkliste-hinweis),
.main-content h3:has(+ p.vm-linkliste-hinweis) {
  margin-bottom: 0.6em;
}

/* Ab 900px halbiert die TAO-Skala den Gruppenabstand (margin-bottom-s:
   50px -> 25px), der Abstand unter der Überschrift bliebe aber bei 22px.
   Beide Abstände wären damit fast gleich groß und die Zuordnung wieder
   dahin. Deshalb hier ebenfalls kleiner: rund 11px gegen 25px. */
@media (max-width: 900px) {
  .main-content h2:has(+ ul.vm-linkliste),
  .main-content h3:has(+ ul.vm-linkliste),
  .main-content h2:has(+ p.vm-linkliste-hinweis),
  .main-content h3:has(+ p.vm-linkliste-hinweis) {
    margin-bottom: 0.4em;
  }
}

@media (max-width: 600px) {
  .main-content ul.vm-linkliste {
    --vm-gap: 0.75rem 1rem;
  }
}

/* ==========================================================
   VM Component Library  ·  donum vitae
   Component: VM Teaserbox
   Version: 2.0.0
   Baut auf .vm-card auf (Rahmen, Radius, Schatten, Hover,
   Kartenfarben, invertierter Text) und ergänzt das Layout
   „Bild oben, Inhalt darunter".
   Farben werden komplett über die :root-Variablen aus
   custom_vm_icon_boxes.css bezogen (Primär = Rot-Orange #e1570c).
   ========================================================== */

/* Karte als vertikale Spalte: Bild oben, Body füllt den Rest.
   .vm-card liefert Höhe (height:100%), Rahmen, Radius, Schatten,
   Hover und die ::before-Akzentleiste. */
.vm-teaserbox .vm-teaser {
  display: flex;
  flex-direction: column;
}

/* --- Bild: randlos oben --- */
.vm-teaser-image {
  display: block;
  position: relative;
  margin: 0;
  line-height: 0;
  overflow: hidden;
  background: rgba(0, 0, 0, 0.04);
}
.vm-teaser-image figure { margin: 0; height: 100%; }

/* Original (kein Format gewählt): natürliches Seitenverhältnis */
.vm-teaser-image img,
.vm-teaser-image picture {
  display: block;
  width: 100%;
  height: auto;
}

/* Mit Bildformat: festes Seitenverhältnis + formatfüllender Beschnitt */
.vm-teaserbox.-ratio-1-1  .vm-teaser-image { aspect-ratio: 1 / 1; }
.vm-teaserbox.-ratio-4-3  .vm-teaser-image { aspect-ratio: 4 / 3; }
.vm-teaserbox.-ratio-3-2  .vm-teaser-image { aspect-ratio: 3 / 2; }
.vm-teaserbox.-ratio-16-9 .vm-teaser-image { aspect-ratio: 16 / 9; }
.vm-teaserbox.-ratio-3-4  .vm-teaser-image { aspect-ratio: 3 / 4; }

.vm-teaserbox[class*="-ratio-"] .vm-teaser-image img,
.vm-teaserbox[class*="-ratio-"] .vm-teaser-image picture {
  height: 100%;
  object-fit: cover;
}

/* sanfter Zoom, wenn das Bild verlinkt ist und man die Karte hovert */
.vm-teaser a.vm-teaser-image img { transition: transform 0.45s ease; }
.vm-teaser:hover a.vm-teaser-image img { transform: scale(1.04); }

/* --- Bildunterschrift (z. B. KI-Kennzeichnung) ---------------------
   Bild + Caption stecken in <figure class="vm-teaser-figure">; die
   figcaption liegt als Overlay-Badge unten links AUF dem Bild.
   Weil sie position:absolute ist, ist die Bildhöhe egal -> funktioniert
   auch im Featured-Aufmacher (Bild auf 100 % Höhe). Wird auch von den
   News-Kacheln genutzt (gleiches Markup). */
.vm-teaser-figure {
  margin: 0;
  position: relative;   /* Positionierungskontext der Caption */
}
.vm-teaser-caption {
  position: absolute;
  right: 0.6rem;
  bottom: 0.6rem;
  z-index: 2;

  margin: 0;
  padding: 0.2em 0.6em;
  border-radius: var(--vm-radius-small);

  background: rgba(255, 255, 255, 0.8);   /* ≥ 75 % Deckkraft */
  color: var(--vm-primary);               /* Rot-Orange #e1570c */
  font-size: 0.75rem;
  line-height: 1.35;
  text-align: left;

  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12);
  pointer-events: none;   /* blockiert Bild-Link / Hover-Zoom nicht */
}

/* In der Teaserbox nach rechts, damit die Caption nicht mit dem Badge-Icon
   (unten links auf der Bildkante) kollidiert. News-Kacheln (kein Badge)
   bleiben unten links. */
.vm-teaserbox .vm-teaser-caption {
  left: auto;
  right: 0.6rem;
  text-align: right;
}


/* --- Body: gepolsterter Inhaltsbereich, füllt die restliche Höhe --- */
.vm-teaser-body {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
  padding: var(--vm-card-padding);
}
/* Inhalt wächst -> Button bleibt unten in der Karte */
.vm-teaser-content {
  flex: 1 1 auto;
  min-width: 0;
}
.vm-teaser .vm-card-icon { margin-bottom: 1.25rem; }
.vm-teaser .vm-card-action { margin-top: 1.5rem; }

/* ==========================================================
   Ausrichtung
   ========================================================== */
.vm-teaser.-align-center .vm-teaser-body {
  text-align: center;
  align-items: center;
}
.vm-teaser.-align-right .vm-teaser-body {
  text-align: right;
  align-items: flex-end;
}

/* ==========================================================
   Icon-Varianten
   ========================================================== */
.vm-teaser.-large-icon .vm-card-icon {
  width: 4.5rem;
  height: 4.5rem;
}
.vm-teaser.-large-icon .vm-card-icon span::before {
  font-size: 2.05rem; }

.vm-teaser.-inverted-icon .vm-card-icon {
  color: var(--vm-white);
  background: var(--vm-primary);
}
.vm-teaser.-inverted-icon .vm-card-icon span::before { color: var(--vm-white) !important; }

/* Icon neben der Überschrift: Icon links, Inhalt rechts, IMMER linksbündig */
.vm-teaser.-headline-icon .vm-teaser-body {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  column-gap: 1rem;
  row-gap: 0.75rem;
  text-align: left;
  align-items: start;
}
.vm-teaser.-headline-icon .vm-card-icon {
  grid-column: 1;
  grid-row: 1;
  margin-bottom: 0;
}
.vm-teaser.-headline-icon .vm-teaser-content {
  grid-column: 2;
  grid-row: 1;
}
.vm-teaser.-headline-icon .vm-card-action {
  grid-column: 2;
  grid-row: 2;
  margin-top: 1rem;
}

/* ==========================================================
   Icon KLEIN neben der Überschrift
   ========================================================== */
.vm-teaser.-headline-icon-small .vm-teaser-body {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  column-gap: 0.85rem;
  row-gap: 0.75rem;
  text-align: left;
  align-items: start;
}

.vm-teaser.-headline-icon-small .vm-card-icon {
  grid-column: 1;
  grid-row: 1;
  width: 2.5rem;          /* kompakt statt 64px */
  height: 2.5rem;
  border-radius: 0.7rem;
  margin-bottom: 0;
}
.vm-teaser.-headline-icon-small .vm-card-icon span::before {
  font-size: 1.15rem;     /* kleineres Glyph */
}

.vm-teaser.-headline-icon-small .vm-teaser-content {
  grid-column: 2;
  grid-row: 1;
}
.vm-teaser.-headline-icon-small .vm-card-action {
  grid-column: 2;
  grid-row: 2;
  margin-top: 1rem;
}


/* ==========================================================
   Icon als schwebendes Badge auf der Bildunterkante
   ========================================================== */
.vm-teaser.-badge-icon .vm-teaser-body {
  position: relative;
  /* Platz schaffen, damit die Überschrift nicht unter dem Badge sitzt */
  padding-top: calc(var(--vm-card-padding) + 2.25rem);
}

.vm-teaser.-badge-icon .vm-card-icon {
  position: absolute;
  top: 0;                 /* = Oberkante Body = Unterkante Bild */
  left: var(--vm-card-padding);
  transform: translateY(-50%);   /* Badge sitzt mittig auf der Bildkante */
  margin: 0;
  z-index: 2;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.16);
}

/* Badge folgt der Textausrichtung */
.vm-teaser.-badge-icon.-align-center .vm-card-icon {
  left: 50%;
  transform: translate(-50%, -50%);
}
.vm-teaser.-badge-icon.-align-right .vm-card-icon {
  left: auto;
  right: var(--vm-card-padding);
}


/* ==========================================================
   Split-Layout: Bild NEBEN Text (Feld „Layout")
   -media               -> Bild und Text nebeneinander
   -media-image-right   -> Bild rechts (Standard des -media: Bild links)
   Am besten mit 1 Spalte / breiter Box. Auf Mobil gestapelt (s. u.).
   ========================================================== */
.vm-teaser.-media {
  flex-direction: row;
  align-items: stretch;
}
.vm-teaser.-media.-media-image-right {
  flex-direction: row-reverse;
}

/* Bildspalte füllt die Kartenhöhe (kein festes Seitenverhältnis).
   WICHTIG: Direktes Kind der Karte ist bei gesetzter Bildunterschrift die
   <figure class="vm-teaser-figure">, sonst direkt .vm-teaser-image – die
   Flex-Breite muss deshalb auf BEIDE passen, sonst schrumpft die Spalte
   auf die Eigenbreite des Bildes. */
.vm-teaser.-media > .vm-teaser-figure,
.vm-teaser.-media > .vm-teaser-image {
  flex: 0 0 45%;
  min-width: 0;
  align-self: stretch;
  aspect-ratio: auto;
  height: auto;
}

/* Bild in der Spalte auf volle Breite/Höhe ziehen – auch kleine Bilder
   werden hochskaliert (bewusst, lieber unscharf als zu schmal). */
.vm-teaser.-media > .vm-teaser-figure > .vm-teaser-image {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: auto;
}
.vm-teaser.-media .vm-teaser-image img,
.vm-teaser.-media .vm-teaser-image picture {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Text vertikal mittig (wie im Beispiel „Ihre Unterstützung hilft.") */
.vm-teaser.-media .vm-teaser-body {
  justify-content: center;
}

/* ==========================================================
   Responsive
   ========================================================== */
@media (max-width: 900px) {
  .vm-teaser-body { padding: 1.6rem; }
  .vm-teaser.-headline-icon .vm-teaser-body { display: flex; }
  .vm-teaser.-headline-icon .vm-card-action { margin-top: 1.5rem; }

  /* Split-Layout auf Mobil stapeln: Bild oben, Text darunter */
  .vm-teaser.-media,
  .vm-teaser.-media.-media-image-right {
    flex-direction: column;
  }
  .vm-teaser.-media > .vm-teaser-figure,
  .vm-teaser.-media > .vm-teaser-image {
    flex: 0 0 auto;
    height: auto;
  }
  .vm-teaser.-media > .vm-teaser-figure > .vm-teaser-image { height: auto; }
  .vm-teaser.-media .vm-teaser-image img,
  .vm-teaser.-media .vm-teaser-image picture {
    height: auto;
  }
}

/* ==========================================================
   Mobile Listenansicht  ·  Klasse "vm-mobil-liste"  (19.09.2026)

   Wunsch des Teams: Die Angebots-Kacheln sollen auf dem Handy
   abspecken – links ein randloses Bild, rechts der Titel – und
   die ganze Kachel soll wie ein Button reagieren, damit man sie
   sicher trifft.

   Die Klasse wird im Backend im Feld "CSS-Klasse" des Elements
   gesetzt. Ohne sie bleibt alles beim Alten, die Teaserboxen auf
   der Spenden- und Bildungsspender-Strecke sind also nicht betroffen.

   Barrierefreiheit: Der Linktext "mehr Infos" wird nur OPTISCH
   versteckt, nicht entfernt – sonst hieße der Link für Screenreader
   bloß noch "– Konfliktberatung". Und statt eines zusätzlichen
   Overlays wird der vorhandene Link selbst über die Karte gelegt:
   So bleibt es ein Tab-Stopp, der Fokusring umschließt die ganze
   Karte und der sichtbare Kartentitel steht weiter im Linknamen
   (WCAG 2.5.3).
   ========================================================== */

@media (max-width: 900px) {

  /* Karte wird zur Listenzeile.
     Zeilenhöhe und Bildbreite stecken in zwei Variablen – darüber
     läuft der Wechsel von Quer- auf Hochformat weiter unten. */
  .vm-teaserbox.vm-mobil-liste .vm-teaser {
    --vm-liste-hoehe: 112px;
    --vm-liste-format: 1.5;          /* Bildbreite = Höhe x Format -> Querformat 3:2 */

    flex-direction: row;
    align-items: stretch;
    min-height: var(--vm-liste-hoehe);

    /* Fokusring nach innen, sonst schneidet ihn das overflow:hidden
       der Karte ab. Siehe Kopf von custom_allgemein.css. */
    --vm-focus-offset: -3px;
  }

  /* Die Akzentleiste über der Karte entfällt in der Listenzeile –
     sie stammt aus .vm-card::before. */
  .vm-teaserbox.vm-mobil-liste .vm-teaser::before {
    content: none;
  }

  /* Als Liste dürfen die Zeilen dichter stehen als die Karten im Raster. */
  .vm-teaserbox.vm-mobil-liste .vm-grid {
    gap: calc(var(--vm-gap) / 2);
  }

  /* --- links: Bild ohne Rand, bis an die Kartenkante ---
     Links, oben und unten bündig; die runden Ecken übernimmt das
     overflow:hidden der Karte. */
  .vm-teaserbox.vm-mobil-liste .vm-teaser-image {
    flex: 0 0 auto;
    width: calc(var(--vm-liste-hoehe) * var(--vm-liste-format));
    align-self: stretch;
    height: auto;
    aspect-ratio: auto;
    margin: 0;
    border-radius: 0;

    /* Der Bildlink ist nur für die Maus (aria-hidden, tabindex -1) und
       liegt unter dem Link-Overlay – getippt wird immer derselbe Link. */
    z-index: 1;
  }
  /* Absolut, damit das Bild KEINE natürliche Höhe in den Fluss einbringt:
     Sonst zieht ein 1024x796-Motiv die Zeile auf seine eigene Höhe und der
     Ausschnitt ist nie quadratisch. So bestimmt die Zeile die Höhe und das
     Bild füllt sie formatfüllend aus. */
  .vm-teaserbox.vm-mobil-liste .vm-teaser-image img,
  .vm-teaserbox.vm-mobil-liste .vm-teaser-image picture {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  /* --- rechts: Titel, Pfeil am rechten Rand ---
     position:static hebt das relative Body-Layout der Badge-Variante auf,
     damit sich der Link unten auf die GANZE Karte legen kann und nicht nur
     auf den Textbereich. Das Badge-Icon ist in der Liste ohnehin aus. */
  .vm-teaserbox.vm-mobil-liste .vm-teaser-body {
    position: static;
    flex-direction: row;
    align-items: center;
    padding: 0.8rem 2.6rem 0.8rem 1.1rem;   /* rechts Platz für den Pfeil */

    /* desktop-anpassungen.css legt eine Trennlinie über den Body – in der
       stehenden Karte sitzt sie zwischen Bild und Text. In der Zeile landet
       sie direkt unter dem Kartenrahmen, die Oberkante wäre dadurch doppelt
       so kräftig wie die anderen drei Seiten. */
    border-top: 0;
  }
  .vm-teaserbox.vm-mobil-liste .vm-teaser-content {
    flex: 1 1 auto;
    min-width: 0;
  }

  /* Beschreibungstext und Badge-Icon entfallen in der Listenzeile */
  .vm-teaserbox.vm-mobil-liste .vm-card-text,
  .vm-teaserbox.vm-mobil-liste .vm-card-icon {
    display: none;
  }

  .vm-teaserbox.vm-mobil-liste .vm-card-title {
    margin: 0;

    /* Bewusst größer als der Kartentitel im Raster: In der Zeile steht nur
       noch der Titel, er darf die Hauptrolle spielen.

       Maß nimmt der längste Titel "Beratung für Männer und Väter": "Männer
       und Väter" muss als Block in die Spalte passen, sonst wird aus zwei
       Zeilen eine dritte. Deshalb wächst die Schrift mit der Fensterbreite
       und deckelt bei 24px.

       !important, weil die Größe sonst aus TAOs Hilfsklasse .font-size-m
       kommt (files/tao/css/main.css: 1.1em !important ab 900px) – die ist
       ohne !important nicht zu schlagen. Die Klasse steht fest im Template
       am Kartentitel. */
    font-size: clamp(1.1rem, 5.6vw, 1.6rem) !important;

    /* KEINE automatische Trennung: In der schmalen Zeile setzt der Browser
       sie an der falschen Stelle ("Schwange-renberatung" statt
       "Schwangeren-beratung"). Stattdessen entscheidet die Redaktion –
       ein bedingter Trennstrich (&shy;) im Titel bricht genau dort um.
       Wörter ohne &shy; brechen notfalls über overflow-wrap aus
       .vm-card-title, also ohne Trennstrich statt über den Rand hinaus. */
    hyphens: manual;
    -webkit-hyphens: manual;
  }

  /* --- der vorhandene Link deckt die ganze Karte ab --- */
  .vm-teaserbox.vm-mobil-liste .vm-card-action {
    margin-top: 0;
  }
  .vm-teaserbox.vm-mobil-liste .vm-card-link {
    position: absolute;
    inset: 0;
    z-index: 2;
    justify-content: flex-end;
    align-items: center;
    padding-right: 1rem;
  }
  .vm-teaserbox.vm-mobil-liste .vm-card-link-icon {
    font-size: 1.3rem;
  }

  /* Nur optisch weg, für Screenreader bleibt "mehr Infos – <Angebot>" */
  .vm-teaserbox.vm-mobil-liste .vm-card-link-text {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
  }

  /* Rückmeldung beim Antippen – auf der ganzen Karte, nicht nur am Pfeil.
     Ohne :has() bleibt schlicht die Hervorhebung aus, sonst nichts. */
  .vm-teaserbox.vm-mobil-liste .vm-teaser:has(.vm-card-link:active) {
    background: var(--vm-surface-light);
  }
}

/* Schmale Displays: Der Querformat-Ausschnitt frisst zu viel Breite,
   hier wird der Ausschnitt quadratisch. Es wechselt nur das Format. */
@media (max-width: 600px) {
  .vm-teaserbox.vm-mobil-liste .vm-teaser {
    --vm-liste-format: 1;
  }
}

/* Ab hier wird die Spalte neben dem Bild zu schmal, um Titel und Pfeil
   nebeneinander zu setzen: Der Pfeil rutscht unter den Text, in die untere
   rechte Ecke. Der Titel bekommt dadurch die volle Spaltenbreite.
   Das Tippziel bleibt die ganze Karte – der Link liegt weiter als Overlay
   darüber, nur sein Inhalt sitzt jetzt woanders. */
@media (max-width: 500px) {
  /* Der Pfeil unter dem Titel braucht eine Zeile mehr – ohne höhere Zeile
     würde die Karte über die Bildbreite hinauswachsen und der Ausschnitt
     wäre nicht mehr quadratisch. */
  .vm-teaserbox.vm-mobil-liste .vm-teaser {
    --vm-liste-hoehe: 120px;
  }

  .vm-teaserbox.vm-mobil-liste .vm-teaser-body {
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    padding: 0.6rem 1rem;           /* rechts kein Extra-Platz mehr nötig */
  }
  /* nicht mitwachsen, sonst driften Titel und Pfeil auseinander */
  .vm-teaserbox.vm-mobil-liste .vm-teaser-content {
    flex: 0 0 auto;
  }
  .vm-teaserbox.vm-mobil-liste .vm-card-action {
    flex: 0 0 auto;
    margin-top: 0.2rem;
  }

  /* Hier steht der Link wieder IM Fluss – nur so sitzt der Pfeil direkt
     unter dem Titel statt in der Kartenecke. Das Tippziel übernimmt ein
     ::after, das sich über die ganze Karte legt (die Karte ist der
     Bezugsrahmen, .vm-teaser-body steht oben auf position:static). */
  .vm-teaserbox.vm-mobil-liste .vm-card-link {
    position: static;
    justify-content: flex-start;
    padding: 0;
  }
  .vm-teaserbox.vm-mobil-liste .vm-card-link::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2;
  }

  /* Der Fokusring gehört um die ganze Karte, nicht um den Pfeil. Die globale
     Regel in custom_allgemein.css setzt ihn mit !important am Link – hier
     wird er deshalb dort unsichtbar gemacht und am Overlay gezeichnet. */
  .vm-teaserbox.vm-mobil-liste .vm-card-link:focus-visible {
    outline-color: transparent !important;
  }
  .vm-teaserbox.vm-mobil-liste .vm-card-link:focus-visible::after {
    outline: 3px solid var(--vm-focus-ring, #b8440a);
    outline-offset: -3px;
  }
}

/* Schmale Geräte: flachere Zeile. Weil die Bildbreite an der Zeilenhöhe
   hängt, bleibt dadurch mehr Spalte für den Titel – er soll auch hier auf
   zwei Zeilen passen. */
@media (max-width: 400px) {
  .vm-teaserbox.vm-mobil-liste .vm-teaser {
    --vm-liste-hoehe: 104px;
  }
}

/* ==========================================================
   VM Component Library  ·  donum vitae
   Component: VM News (Boxed) – Newsblog im Teaserbox-Look
   Nach custom_vm_icon_boxes.css, custom_vm_teaser_boxes.css und
   custom_vm_buttons.css laden.

   Grundidee: Die News-Kacheln geben dieselbe Markup-Struktur aus
   wie die VM Teaserbox (.vm-card / .vm-teaser / .vm-teaser-image /
   .vm-teaser-body / .vm-teaser-content / .vm-card-action) und erben
   damit Rahmen, Radius, Schatten, Hover, Bild-Zoom, „Button unten"
   und Button-Optik. Hier steht nur, was news-spezifisch fehlt.

   Templates: news_list_boxed_vm.html5 · news_list_boxed_item_vm.html5 ·
   mod_newslist_vm.html5 (Grid-Wrapper). Farb-/Maß-Tokens = --vm-*.
   ========================================================== */

.vm-newsbox-item,
.vm-newsbox-item * {
  box-sizing: border-box;
}

/* Karte als vertikale Spalte.
   Die Flex-Regel für .vm-teaser ist in custom_vm_teaser_boxes.css auf
   „.vm-teaserbox .vm-teaser" gescoped -> für die News-Kachel (kein
   .vm-teaserbox-Vorfahr) hier erneut setzen. */
.vm-newsbox-item.vm-teaser {
  display: flex;
  flex-direction: column;
}

/* Headline-Link: erbt die Titelfarbe (Rot-Orange), kein Unterstrich,
   dezenter Hover – die Karte hebt sich zusätzlich über .vm-card:hover. */
.vm-newsbox-item .vm-card-title a {
  color: inherit;
  text-decoration: none;
  transition: color var(--vm-transition);
}
.vm-newsbox-item .vm-card-title a:hover,
.vm-newsbox-item .vm-card-title a:focus-visible {
  color: var(--vm-primary-hover);
}

/* Button bündig an den unteren Kartenrand – auch bei unterschiedlich
   langen Headlines/Teasern. margin-top:auto schiebt die Aktion ans Ende
   der (karten­hohen) Flex-Spalte; padding-top hält den Mindestabstand
   zum Teasertext. Überschreibt die feste margin aus custom_vm_teaser_boxes.css
   (gleiche Spezifität, wird später geladen). */
.vm-newsbox-item .vm-card-action {
  margin-top: auto;
  padding-top: 1.5rem;
}

/* Pagination sitzt außerhalb des Grids, mittig unter den Kacheln. */
.vm-newsbox-pagination {
  margin-top: var(--vm-gap);
}

/* ==========================================================
   Übersicht „Wissenswertes" – Editorial Overview
   Aufmacher (erster Eintrag, voll breit, Bild neben Text) + Grid,
   dazu „Mehr laden"-Button (JS) mit No-JS-Pagination-Fallback.
   Modul-Template: mod_newslist_wissenswertes_vm.html5
   JS: vm_newslist_loadmore.js
   ========================================================== */

/* --- Featured-Aufmacher = erster Eintrag im Grid -------------------- */
.vm-newsgrid--featured-first > .vm-newsbox-item:first-child {
  grid-column: 1 / -1;                 /* volle Breite */
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
  align-items: stretch;
}

/* Bild füllt die linke Spalte auf ganze Kartenhöhe */
.vm-newsgrid--featured-first > .vm-newsbox-item:first-child .vm-teaser-image { height: 100%; }
.vm-newsgrid--featured-first > .vm-newsbox-item:first-child .vm-teaser-image img {
  height: 100%;
  object-fit: cover;
}

/* Textseite: vertikal zentriert, größere Headline */
.vm-newsgrid--featured-first > .vm-newsbox-item:first-child .vm-teaser-body {
  justify-content: center;
  padding: clamp(1.75rem, 1rem + 2vw, 2.75rem);
}
.vm-newsgrid--featured-first > .vm-newsbox-item:first-child .vm-teaser-content {
  flex: 0 0 auto;                      /* nicht wachsen -> Zentrierung greift */
}
.vm-newsgrid--featured-first > .vm-newsbox-item:first-child .vm-card-title {
  font-size: clamp(1.5rem, 1.2rem + 1.2vw, 2.1rem);
}
.vm-newsgrid--featured-first > .vm-newsbox-item:first-child .vm-card-action {
  margin-top: 1.5rem;                  /* fixer Abstand statt „ans Ende schieben" */
}

/* Mobil: Aufmacher wieder Bild oben, Text unten */
@media (max-width: 700px) {
  .vm-newsgrid--featured-first > .vm-newsbox-item:first-child {
    grid-template-columns: 1fr;
  }
  .vm-newsgrid--featured-first > .vm-newsbox-item:first-child .vm-teaser-image { height: auto; }
}

/* --- „Mehr laden" + Pagination-Fallback ---------------------------- */
.vm-newslist-more {
  margin-top: var(--vm-gap);
  text-align: center;
}
.vm-loadmore.is-loading { opacity: 0.7; pointer-events: none; }

/* Button ausblenden, wenn alle Beiträge geladen sind: Das JS setzt dann das
   `hidden`-Attribut. Nötig ist die Regel, weil `.button` per TAO auf
   `display: inline-block` steht und damit das UA-`[hidden] { display:none }`
   überschreiben würde. Greift auch für den Start-Zustand (Template: `hidden`). */
.vm-loadmore[hidden] { display: none !important; }

/* Nach dem Mausklick behält der Button sonst einen abweichenden Fokus-/Active-Stil
   (Theme-/Browser-Default für <button>) – bis man daneben klickt. Optik in diesen
   Zuständen wieder auf Orange festlegen; Tastatur-Fokus (:focus-visible) bleibt sichtbar. */
.vm-loadmore:focus:not(:focus-visible),
.vm-loadmore:active {
  background: var(--vm-accent);
  border-color: var(--vm-accent-dark);
  color: var(--vm-primary);
}

/* No-JS-Fallback: normale Pagination zentriert (JS blendet sie aus) */
.vm-newslist-pagination {
  margin-top: var(--vm-gap);
  text-align: center;
}

/* ==========================================================
   Button-Pfeile (individueller Icon-Zeichensatz)
   Rechtspfeil = \e909, Linkspfeil = \e907, Font "RockSolid Icons".
   Farbe erbt automatisch die Button-Textfarbe.
   Hinweis: gilt für ALLE VM-News-Kacheln (Startseite + „Wissenswertes"),
   da beide dasselbe Item-Template nutzen.
   ========================================================== */

/* „mehr Details" (News-Kachel): Rechtspfeil HINTER den Text.
   .button::after ist in custom_vm_buttons.css global display:none -> gezielt
   wieder einblenden (höhere Spezifität + !important). */
.vm-newsbox-item .vm-card-action .button::after {
  content: "\e909";
  font: 100%/1 "RockSolid Icons";
  display: inline-block !important;
  position: relative;
  top: 0.06em;                 /* optische Zentrierung – bei Bedarf justieren */
  margin-left: 0.5em;
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision;
}

/* „mehr laden" (Übersicht): Rechtspfeil VOR den Text (linksseitig).
   top:0.05em kommt bereits aus .button::before (custom_vm_buttons.css). */
.vm-loadmore::before {
  content: "\e909";
  font: 100%/1 "RockSolid Icons";
  margin-right: 0.5em;
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision;
}

/* ==========================================================
   VM Component Library  ·  donum vitae
   Component: VM News Reader / Blog-Beitrag ("A4-Blatt")
   Nach custom_vm_icon_boxes.css (Token-Zentrale) laden.

   Weißes Blatt mit Rundung + Schatten auf dem grauen
   Seitenhintergrund (--vm-page-bg #f5f5f5). Bild randlos oben,
   darunter Lesetypografie (H1/H2 + Fließtext aus Contao).
   Template: news_full_vm.html5 · Modul: mod_newsreader_vm.html5
   ========================================================== */

/* --- Layout: Blatt links, kompakte Sidebar rechts (auf Grau) --------- */
.vm-reader-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: var(--vm-gap);
  max-width: 1200px;
  margin-inline: auto;
  align-items: start;
}
.vm-reader-layout,
.vm-reader-layout * { box-sizing: border-box; }

/* ohne weitere Beiträge: nur das zentrierte Blatt */
.vm-reader-layout--solo {
  grid-template-columns: minmax(0, 860px);
  justify-content: center;
}

@media (max-width: 900px) {
  .vm-reader-layout { grid-template-columns: 1fr; }
}

/* --- Das Blatt ------------------------------------------------------- */
.vm-reader {
  display: block;
  color: var(--vm-text);
}

.vm-reader-sheet {
  background: var(--vm-white);
  border: 1px solid var(--vm-border-neutral);
  /* oben eckig (schließt an Header an), unten gerundet */
  border-radius: 0 0 var(--vm-radius) var(--vm-radius);
  /* schwebendes Blatt auf #f5f5f5 */
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.12);
  overflow: hidden;
}

/* --- Bild randlos oben (auf volle Blattbreite zwingen) -------------- */
.vm-reader-image,
.vm-reader-image figure,
.vm-reader-image .image_container { display: block; width: 100%; margin: 0; line-height: 0; }
.vm-reader-image { background: rgba(0, 0, 0, 0.04); }
.vm-reader-image img,
.vm-reader-image picture {
  display: block !important;
  width: 100% !important;
  height: auto;
}
/* optionale Bildunterschrift dezent, mit Innenabstand */
.vm-reader-image figcaption {
  padding: 0.6rem clamp(1.25rem, 3vw, 2rem);
  font-size: 0.85rem;
  line-height: 1.4;
  color: var(--vm-text);
}

/* --- Textkörper ------------------------------------------------------ */
.vm-reader-body {
  padding: clamp(1.75rem, 1rem + 3vw, 3.5rem);
}

/* Sitzt ein Bild direkt über dem Text, oben weniger Luft – das Bild schließt
   den oberen Blattbereich schon ab (bei Beiträgen ohne Bild bleibt der volle
   Innenabstand, damit die H1 nicht am Blattrand klebt). */
.vm-reader-image + .vm-reader-body {
  padding-top: clamp(1.25rem, 0.75rem + 1vw, 1.75rem);
}

.vm-reader-title {
  margin: 0 0 0.5em;
  color: var(--vm-primary);
  font-weight: 700;
  line-height: 1.14;
  font-size: clamp(1.9rem, 1.35rem + 2vw, 2.9rem);
}

@media (max-width: 900px) {
  .vm-reader-title {
    font-size: 1.5em !important; 
    
  }
}

.vm-reader-subtitle {
  margin: 0 0 1em;
  color: var(--vm-primary-hover);
  font-weight: 600;
  line-height: 1.3;
  font-size: clamp(1.05rem, 0.95rem + 0.4vw, 1.2rem) !important;
  padding-bottom: 1em;
}

/* Trennlinie unter den Überschriften, vor dem Fließtext */
.vm-reader-hr {
  border: 0;
  border-top: 1px solid var(--vm-border);
  margin: 0 0 1.6rem;
}

/* Lesemodus: angenehme Zeilenlänge + luftige Zeilen */
.vm-reader-content {
  color: var(--vm-text);
  font-size: 1.075rem;
  line-height: 1.75;
  max-width: 68ch;

  hyphens: auto;
  -webkit-hyphens: auto;
  text-wrap: pretty;
}

.vm-reader-content > *:first-child { margin-top: 0; }
.vm-reader-content > *:last-child { margin-bottom: 0; }

.vm-reader-content p { margin: 0 0 1.25em; }

/* Zwischenüberschriften aus den Content-Elementen */
.vm-reader-content h2,
.vm-reader-content h3,
.vm-reader-content h4 {
  color: var(--vm-primary);
  font-weight: 700;
  line-height: 1.25;
}
.vm-reader-content h2 { font-size: 1.6rem; margin: 1.9em 0 0.5em; }
.vm-reader-content h3 { font-size: 1.3rem; margin: 1.7em 0 0.4em; }
.vm-reader-content h4 { font-size: 1.1rem; margin: 1.5em 0 0.4em; }

.vm-reader-content ul,
.vm-reader-content ol { margin: 0 0 1.25em; padding-left: 1.4em; }
.vm-reader-content li { margin: 0.4em 0; }

/* Normale Textlinks orange + unterstrichen. Buttons (a.button) werden bewusst
   AUSGENOMMEN, sonst überschreibt diese Regel (höhere Spezifität als .button)
   die weiße Button-Schrift -> orange auf orange. So behalten Buttons ihre
   eigene Variantenfarbe und bekommen keine Unterstreichung. */
.vm-reader-content a:not(.button) {
  color: var(--vm-primary-hover);
  text-decoration: underline;
  text-underline-offset: 0.2em;
}
.vm-reader-content a:not(.button):hover,
.vm-reader-content a:not(.button):focus-visible { color: var(--vm-primary); }

/* Blockzitat mit Akzent = Blog-Charakter */
.vm-reader-content blockquote {
  margin: 1.6em 0;
  padding: 0.3em 0 0.3em 1.25em;
  border-left: 4px solid var(--vm-accent);
  color: var(--vm-primary);
  font-size: 1.12em;
  font-style: italic;
}

/* Bilder in den Content-Elementen */
.vm-reader-content img { max-width: 100%; height: auto; border-radius: var(--vm-radius-small); }
.vm-reader-content figure { margin: 1.6em 0; }
.vm-reader-content figure img { display: block; }
.vm-reader-content figcaption {
  margin-top: 0.5rem;
  font-size: 0.85rem;
  color: var(--vm-text);
}

/* Downloads / Anhänge */
.vm-reader-enclosure { list-style: none; margin: 2rem 0 0; padding: 0; }
.vm-reader-enclosure li { margin: 0.4em 0; }
.vm-reader-enclosure a { color: var(--vm-primary-hover); text-decoration: none; font-weight: 600; }
.vm-reader-enclosure a:hover { text-decoration: underline; }

/* --- Sidebar „Weitere Beiträge" (kompakt: Mini-Bild + Titel) -------- */
.vm-reader-aside {
  position: sticky;
  top: 1.5rem;
  padding-top: 2rem;   /* Luft nach oben, seit das Blatt bündig am Header sitzt */
}
/* höhere Spezifität, damit die Theme-h2-Größe nicht gewinnt */
.vm-reader-aside .vm-reader-aside-title {
  margin: 0 0 1rem;
  color: var(--vm-primary);
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.3;
}
/* Contao-Default (list-style: disc + padding-left) sicher entfernen */
.vm-reader-aside .vm-reader-morelist {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.75rem;
}
.vm-reader-aside .vm-reader-morelist li {
  list-style: none;
  margin: 0;
  padding: 0;
}

.vm-reader-allposts::before {
  content: "\e940";
  font: 100%/1 "RockSolid Icons";
  display: inline-block !important;
  margin-right: 0.5em;
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision;
}

.vm-reader-more-link {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  padding: 0.75rem 0.9rem;   /* Textliste ohne Thumbnail -> etwas komfortabler */
  background: var(--vm-surface);        /* Pfirsich-Fläche */
  border: 1px solid var(--vm-border-accent);
  border-radius: var(--vm-radius-small);
  text-decoration: none;
  transition: border-color var(--vm-transition), box-shadow var(--vm-transition), transform var(--vm-transition);
}
.vm-reader-more-link:hover,
.vm-reader-more-link:focus-visible {
  border-color: var(--vm-border-accent);
  box-shadow: var(--vm-shadow);
  transform: translateY(-1px);
}
.vm-reader-more-thumb {
  flex: 0 0 auto;
  width: 64px;
  height: 64px;
  border-radius: calc(var(--vm-radius-small) - 2px);
  overflow: hidden;
  line-height: 0;
  background: rgba(0, 0, 0, 0.04);
}
.vm-reader-more-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.vm-reader-more-title {
  min-width: 0;
  color: var(--vm-primary);
  font-weight: 600;
  font-size: 0.95rem;
  line-height: 1.3;
}

/* --- „alle Beiträge"-Button unter der Sidebar-Liste ----------------
   Ersetzt den früheren Zurück-Link unter dem Blatt (keine Dublette mehr;
   mobil sitzt die Sidebar ohnehin unter dem Beitrag, der Button also ganz
   unten). Roter Primär-Button (.button), volle Sidebar-Breite, verlinkt fest
   auf die Beitrags-Übersicht (Seiten-ID 238). */
.vm-reader-allposts {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  margin-top: 1rem;
  padding-left: 1em !important;
}
/* =====================================================================
   VM Component Library · donum vitae
   Component: VM Accordion (FAQ) – Aufhübschung des jQuery-UI-Accordions

   Überschreibt die graue TAO-Basis (.ce_accordion in main.css) aufs
   donum Rot-Orange: jede Frage eine eigenständige, gerundete Karte, Akzent-Badge
   fürs +/−, orangefarbener Hover, weißer statt grauer Aufklapp-Bereich.

   WICHTIG – Ladereihenfolge: NACH main.css (TAO-Basis) laden, sonst
   gewinnen die grauen Basis-Regeln (gleiche Spezifität → Quellreihenfolge).
   Nutzt die --vm-*-Tokens aus custom_vm_icon_boxes.css.

   Gilt für den klassischen jQuery-UI-Accordion (Template j_accordion):
     <div class="ce_accordion">
       <div class="toggler">Frage</div>           (aktiv: .ui-accordion-header-active / .active)
       <div class="accordion"> … Antwort … </div>  (jQuery UI zeigt/versteckt)
     </div>
   ===================================================================== */

.ce_accordion {
  --vm-faq-radius: 14px;
  color: var(--vm-text);
  margin-bottom: 0.6rem;   /* Luft zwischen den Fragen (Basis-Kollaps aufheben) */
}
.ce_accordion:last-of-type { margin-bottom: 0; }

/* Basis stapelt die Karten (negative margins, nur letzte unten rund) –
   hier zurücksetzen, damit jede Frage eine eigene Karte ist. */
.ce_accordion + .ce_accordion .toggler {
  border-radius: var(--vm-faq-radius);
}

/* --- Frage-Zeile (Header) ------------------------------------------- */
.ce_accordion .toggler {
  position: relative;
  margin-bottom: 0;
  padding: 1em 3.4em 1em 1.25em;   /* rechts Platz fürs Badge */

  border: 1px solid var(--vm-border-neutral);
  border-radius: var(--vm-faq-radius);
  background: var(--vm-white);

  color: var(--vm-primary);
  font-weight: 600;
  line-height: 1.35;
  font-size: 1.15em;
  cursor: pointer;
  transition: border-color var(--vm-transition),
              box-shadow var(--vm-transition),
              background-color var(--vm-transition);
}

.ce_accordion .toggler:hover,
.ce_accordion .toggler:focus-visible {
  color: var(--vm-primary);
  border-color: var(--vm-border-accent);
  box-shadow: var(--vm-shadow);
  text-decoration: none;
}

/* Leeren jQuery-UI-Icon-Span (ohne UI-Theme-CSS ohnehin unsichtbar) aus */
.ce_accordion .toggler .ui-accordion-header-icon { display: none; }

/* --- +/−-Badge (RockSolid-Icon in Akzent-Kreis) ----------------------- */
.ce_accordion .toggler:after {
  content: "\2b";                       /* + */
  font: 0.8125em/1 "RockSolid Icons";
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision;
  text-indent: 0;

  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.15em;
  height: 2.15em;
  border-radius: 50%;
  background: var(--vm-surface);
  color: var(--vm-primary);

  position: absolute;
  top: 50%;
  right: 0.85em;
  transform: translateY(-50%);
  transition: background-color var(--vm-transition), color var(--vm-transition);
}

/* --- Aktive (offene) Frage ------------------------------------------ */
.ce_accordion .toggler.ui-accordion-header-active,
.ce_accordion .toggler.active {
  background: var(--vm-surface);
  border-color: var(--vm-border-accent);
  /* verbindet sich optisch mit dem Antwort-Bereich darunter */
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}
.ce_accordion .toggler.ui-accordion-header-active:after,
.ce_accordion .toggler.active:after {
  content: "\2212";                     /* − */
  background: var(--vm-accent);
  color: var(--vm-primary);
}

/* --- Antwort-Bereich (Panel) ---------------------------------------- */
.ce_accordion .accordion {
  margin-bottom: 0;
  padding: 0.35em 1.25em 1.15em;

  border: 1px solid var(--vm-border-accent);
  border-top: none;                     /* schließt bündig an die offene Frage an */
  border-radius: 0 0 var(--vm-faq-radius) var(--vm-faq-radius);
  background: var(--vm-white);          /* statt grau */
  color: var(--vm-text);
}
.ce_accordion .accordion > *:first-child { margin-top: 0; }
.ce_accordion .accordion > *:last-child { margin-bottom: 0; }

.ce_accordion .accordion a {
  color: var(--vm-primary-hover);
  text-decoration: underline;
  text-underline-offset: 0.2em;
}
.ce_accordion .accordion a:hover,
.ce_accordion .accordion a:focus-visible { color: var(--vm-primary); }

/* =====================================================================
   VM Component Library · donum vitae
   Component: VM Centered Wrapper (Zentrierter Bereich)

   Der Basis-Baukasten (`.centered-wrapper`, `.centered-wrapper-background`,
   `.centered-wrapper-inner`, Rahmen/Farben/Mindesthöhen/Parallax) steckt
   weiter in der TAO-`main.css` – der ist bereits auf donum Rot-Orange eingestellt
   (#e1570c / #e1570c), daher wird er hier NICHT dupliziert (sonst Gefahr,
   dass eine unvollständige Kopie das Framework übersteuert).

   Diese Datei ergänzt nur, was das umbenannte VM-Element neu mitbringt:
   die **Bildunterschrift** auf dem Hintergrundbild (z. B. KI-Kennzeichnung).
   NACH main.css laden. Nutzt --vm-*-Tokens mit Hex-Fallback.

   Templates: rsce_vm_centered_wrapper_start.html5 (+ _config.php)
   ===================================================================== */

/* Die <figure> ist nur ein semantischer Wrapper um das Hintergrundbild +
   figcaption. Sie enthält ausschließlich absolut positionierte Kinder →
   0 Höhe; margin:0 verhindert jeden Layout-Einfluss. Das Hintergrund-DIV
   positioniert sich weiterhin gegen `.centered-wrapper` (position:relative). */
.vm-cw-figure { margin: 0; }

/* Kompatibilität: Der Maus-/Parallax-Versatz zielt in main.css auf ein
   DIREKTES Kind `.centered-wrapper-background`. Mit figure-Wrapper (nur im
   Caption-Fall) ist es kein direktes Kind mehr → hier nachziehen. */
.-background-mousemove > .vm-cw-figure > .centered-wrapper-background,
.-background-mousemove-inverted > .vm-cw-figure > .centered-wrapper-background {
  right: -12%;
}

/* Bildunterschrift = dezentes Overlay unten rechts auf dem Bereich.
   Weiß 80 % + Rot-Orange, unabhängig von der (evtl. invertierten) Textfarbe
   des Bereichs. pointer-events:none → blockiert keine Klicks im Inhalt. */
.centered-wrapper .vm-cw-caption {
  position: absolute;
  right: 0.75rem;
  bottom: 0.75rem;
  z-index: 2;

  margin: 0;
  padding: 0.2em 0.6em;
  border-radius: var(--vm-radius-small, 9px);

  background: rgba(255, 255, 255, 0.8);   /* ≥ 75 % Deckkraft */
  color: var(--vm-primary, #e1570c);      /* Rot-Orange */
  font-size: 0.75rem;
  line-height: 1.35;
  text-align: right;

  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12);
  pointer-events: none;
}

/* ==========================================================
   Feature-Box mit Galerie
   donum vitae · rsce_tao_feature_box_gallery

   Großes Hauptbild + umschaltbare Thumbnails.
   JS: vm_feature_box_gallery.js
   ========================================================== */

.feature-box-gallery {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

/* Hauptbild */
.feature-box-gallery .fbg-stage {
	margin: 0;
}

.feature-box-gallery .fbg-stage-img {
	display: block;
	width: 100%;
	height: auto;
	transition: opacity .2s ease;
}

.feature-box-gallery .fbg-stage-img.is-swapping {
	opacity: 0;
}

/* Thumbnail-Reihe */
.feature-box-gallery .fbg-thumbs {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.feature-box-gallery .fbg-thumb {
	margin: 0;
}

.feature-box-gallery .fbg-thumb-btn {
	display: block;
	padding: 0;
	line-height: 0;
	cursor: pointer;
	background: none;
	border: 2px solid transparent;
	border-radius: 6px;
	overflow: hidden;
	opacity: .65;
	transition: opacity .2s ease, border-color .2s ease;
}

.feature-box-gallery .fbg-thumb-btn:hover,
.feature-box-gallery .fbg-thumb-btn:focus-visible {
	opacity: 1;
}

.feature-box-gallery .fbg-thumb-btn.is-active {
	opacity: 1;
	border-color: currentColor;
}

.feature-box-gallery .fbg-thumb-btn img {
	display: block;
	width: 100%;
	height: auto;
}

/* Ecken runden, wenn „Bilder abrunden" aktiv ist */
.feature-box--gallery.-image-rounded .fbg-stage-img,
.feature-box--gallery.-image-rounded .fbg-thumb-btn {
	border-radius: 12px;
}

