.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-ac-unit:before {
  content: "\e947";
}
.icon-accessibility:before {
  content: "\e902";
}
.icon-accessibility-2:before {
  content: "\e949";
}
.icon-add-reaction:before {
  content: "\e94a";
}
.icon-address-book:before {
  content: "\e911";
}
.icon-agriculture:before {
  content: "\e94b";
}
.icon-amazon:before {
  content: "\e004";
}
.icon-anchor:before {
  content: "\e005";
}
.icon-android:before {
  content: "\e006";
}
.icon-animals:before {
  content: "\e94c";
}
.icon-animals-no:before {
  content: "\e9d6";
}
.icon-apartment:before {
  content: "\e94d";
}
.icon-aperture:before {
  content: "\e007";
}
.icon-app-registration:before {
  content: "\e94e";
}
.icon-apple:before {
  content: "\e008";
}
.icon-arrow-1-down:before {
  content: "\e93b";
}
.icon-arrow-1-left:before {
  content: "\e904";
}
.icon-arrow-1-right:before {
  content: "\e940";
}
.icon-arrow-1-top:before {
  content: "\e941";
}
.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-left:before {
  content: "\e943";
}
.icon-arrow-right:before {
  content: "\e944";
}
.icon-arrow-up:before {
  content: "\e022";
}
.icon-article-person:before {
  content: "\e94f";
}
.icon-assignment-late:before {
  content: "\e950";
}
.icon-assist-walker:before {
  content: "\e951";
}
.icon-at:before {
  content: "\40";
}
.icon-auto-stories:before {
  content: "\e952";
}
.icon-auto-towing:before {
  content: "\e953";
}
.icon-award:before {
  content: "\e023";
}
.icon-baby-changing-station:before {
  content: "\e954";
}
.icon-backspace:before {
  content: "\e024";
}
.icon-badge:before {
  content: "\e955";
}
.icon-baidu:before {
  content: "\e025";
}
.icon-bars:before {
  content: "\e026";
}
.icon-basket:before {
  content: "\e027";
}
.icon-bathroom:before {
  content: "\e956";
}
.icon-bathtub:before {
  content: "\e957";
}
.icon-beaker:before {
  content: "\e028";
}
.icon-bed:before {
  content: "\e958";
}
.icon-bed-baby:before {
  content: "\e9c3";
}
.icon-bedroom:before {
  content: "\e959";
}
.icon-beer-1:before {
  content: "\e9c4";
}
.icon-beer-2:before {
  content: "\e9c5";
}
.icon-beer-garden-chairs:before {
  content: "\e9c6";
}
.icon-bell:before {
  content: "\e029";
}
.icon-bike:before {
  content: "\e95a";
}
.icon-binoculars:before {
  content: "\e02a";
}
.icon-bolt-2:before {
  content: "\e02e";
}
.icon-book-3:before {
  content: "\e030";
}
.icon-bookmarks:before {
  content: "\e914";
}
.icon-books:before {
  content: "\e915";
}
.icon-bowling:before {
  content: "\e9c7";
}
.icon-box:before {
  content: "\e033";
}
.icon-briefcase:before {
  content: "\e916";
}
.icon-brush:before {
  content: "\e034";
}
.icon-bubble:before {
  content: "\e917";
}
.icon-bubble-anfrage:before {
  content: "\e913";
}
.icon-bubbles:before {
  content: "\e918";
}
.icon-calc:before {
  content: "\e035";
}
.icon-calculator:before {
  content: "\e919";
}
.icon-calendar:before {
  content: "\e037";
}
.icon-calendar3:before {
  content: "\e91a";
}
.icon-camera:before {
  content: "\e038";
}
.icon-cancel-storno:before {
  content: "\e906";
}
.icon-candle-flame:before {
  content: "\e9c8";
}
.icon-car:before {
  content: "\e9bd";
}
.icon-cardiology:before {
  content: "\e95c";
}
.icon-cart:before {
  content: "\e03a";
}
.icon-cart-2:before {
  content: "\e039";
}
.icon-case:before {
  content: "\e03b";
}
.icon-catering:before {
  content: "\e9c9";
}
.icon-catering-2:before {
  content: "\e9ca";
}
.icon-cc:before {
  content: "\e03c";
}
.icon-cd:before {
  content: "\e03d";
}
.icon-chair:before {
  content: "\e95d";
}
.icon-chair-counter:before {
  content: "\e95e";
}
.icon-chart:before {
  content: "\25d5";
}
.icon-chart-down:before {
  content: "\e03f";
}
.icon-chart-down-2:before {
  content: "\e03e";
}
.icon-chart-up:before {
  content: "\e041";
}
.icon-chart-up-2:before {
  content: "\e040";
}
.icon-chat-2:before {
  content: "\e95f";
}
.icon-chat-3:before {
  content: "\e960";
}
.icon-check-2:before {
  content: "\e044";
}
.icon-check-3:before {
  content: "\2714";
}
.icon-check_in_out:before {
  content: "\e961";
}
.icon-christmas-hat:before {
  content: "\e9cb";
}
.icon-christmas-stutenkerl:before {
  content: "\e9cc";
}
.icon-christmas-tree:before {
  content: "\e9cd";
}
.icon-chrome:before {
  content: "\e045";
}
.icon-climate:before {
  content: "\e9ce";
}
.icon-clipboard:before {
  content: "\e048";
}
.icon-clock:before {
  content: "\e049";
}
.icon-clock-alarm:before {
  content: "\e912";
}
.icon-clock3:before {
  content: "\e91b";
}
.icon-cloud:before {
  content: "\2601";
}
.icon-cocktail-party:before {
  content: "\e9b4";
}
.icon-code:before {
  content: "\e04c";
}
.icon-coffee:before {
  content: "\e04d";
}
.icon-coffee-cup:before {
  content: "\e9cf";
}
.icon-cogs:before {
  content: "\e04e";
}
.icon-coin-euro:before {
  content: "\e91c";
}
.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-cone-2:before {
  content: "\e054";
}
.icon-connecting-airports:before {
  content: "\e967";
}
.icon-construction:before {
  content: "\e968";
}
.icon-contao:before {
  content: "\e056";
}
.icon-content-cut:before {
  content: "\e969";
}
.icon-credit-card:before {
  content: "\e91d";
}
.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-direction:before {
  content: "\e05f";
}
.icon-display:before {
  content: "\e91e";
}
.icon-document:before {
  content: "\e06a";
}
.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-documents:before {
  content: "\e06c";
}
.icon-download:before {
  content: "\e06d";
}
.icon-download-2:before {
  content: "\2913";
}
.icon-drawer:before {
  content: "\e91f";
}
.icon-dribbble:before {
  content: "\e06f";
}
.icon-droplet:before {
  content: "\e920";
}
.icon-elevator:before {
  content: "\e970";
}
.icon-ember:before {
  content: "\e071";
}
.icon-enter:before {
  content: "\e921";
}
.icon-equalizer:before {
  content: "\e072";
}
.icon-escalator-warning:before {
  content: "\e971";
}
.icon-exit:before {
  content: "\e922";
}
.icon-external:before {
  content: "\e151";
}
.icon-eye:before {
  content: "\e073";
}
.icon-family-restroom:before {
  content: "\e975";
}
.icon-fan:before {
  content: "\e077";
}
.icon-favorite:before {
  content: "\e976";
}
.icon-fax:before {
  content: "\e078";
}
.icon-fax-2:before {
  content: "\e977";
}
.icon-file-text:before {
  content: "\e923";
}
.icon-film:before {
  content: "\e924";
}
.icon-fire-truck:before {
  content: "\e978";
}
.icon-firewire:before {
  content: "\e07d";
}
.icon-fitness-center:before {
  content: "\e979";
}
.icon-flag:before {
  content: "\e07f";
}
.icon-flashlight:before {
  content: "\e97a";
}
.icon-flickr:before {
  content: "\e081";
}
.icon-folder:before {
  content: "\e083";
}
.icon-folders:before {
  content: "\e084";
}
.icon-fork:before {
  content: "\2443";
}
.icon-fork-spoon:before {
  content: "\e97b";
}
.icon-forklift:before {
  content: "\e97c";
}
.icon-forrst:before {
  content: "\e088";
}
.icon-funnel:before {
  content: "\e08b";
}
.icon-gallery:before {
  content: "\e08c";
}
.icon-game:before {
  content: "\e08d";
}
.icon-garage:before {
  content: "\e97e";
}
.icon-glass:before {
  content: "\e925";
}
.icon-glasses:before {
  content: "\e094";
}
.icon-globe:before {
  content: "\e095";
}
.icon-googlemaps:before {
  content: "\e903";
}
.icon-gplus-2:before {
  content: "\e096";
}
.icon-grid:before {
  content: "\e09a";
}
.icon-grid-2:before {
  content: "\e099";
}
.icon-grocery:before {
  content: "\e97f";
}
.icon-hairdryer:before {
  content: "\e9b5";
}
.icon-hammer:before {
  content: "\e926";
}
.icon-hand-right:before {
  content: "\e9be";
}
.icon-handy:before {
  content: "\e90d";
}
.icon-handy-gekippt:before {
  content: "\e90e";
}
.icon-handy-hand:before {
  content: "\e90f";
}
.icon-headphones:before {
  content: "\e09c";
}
.icon-heart:before {
  content: "\e09e";
}
.icon-heartbeat:before {
  content: "\e09f";
}
.icon-help:before {
  content: "\e0a0";
}
.icon-hiking:before {
  content: "\e980";
}
.icon-home-2:before {
  content: "\e0a1";
}
.icon-honeymoon:before {
  content: "\e9b6";
}
.icon-house:before {
  content: "\e927";
}
.icon-house-bar:before {
  content: "\e9b7";
}
.icon-ice-cream-cup:before {
  content: "\e9d0";
}
.icon-icon-add-event:before {
  content: "\e908";
}
.icon-icon-sign-language:before {
  content: "\e907";
}
.icon-info:before {
  content: "\2139";
}
.icon-info-2:before {
  content: "\e0a6";
}
.icon-ipad:before {
  content: "\e0a7";
}
.icon-iphone:before {
  content: "\e0a8";
}
.icon-ipod:before {
  content: "\e0a9";
}
.icon-keyboard:before {
  content: "\e983";
}
.icon-laptop:before {
  content: "\e0ad";
}
.icon-laptop-2:before {
  content: "\e0ac";
}
.icon-laundry:before {
  content: "\e984";
}
.icon-laundry-2:before {
  content: "\e985";
}
.icon-layers:before {
  content: "\e0b0";
}
.icon-leave:before {
  content: "\e0b1";
}
.icon-left-quote:before {
  content: "\201c";
}
.icon-left-quote-2:before {
  content: "\e0b2";
}
.icon-library:before {
  content: "\e928";
}
.icon-libreoffice:before {
  content: "\e929";
}
.icon-lightbulb-2:before {
  content: "\e9bf";
}
.icon-like:before {
  content: "\e0b3";
}
.icon-link:before {
  content: "\e0b5";
}
.icon-link-2:before {
  content: "\e0b4";
}
.icon-list:before {
  content: "\e0b8";
}
.icon-list-2:before {
  content: "\e0b7";
}
.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-location:before {
  content: "\e92a";
}
.icon-lock:before {
  content: "\e0c3";
}
.icon-lock-2:before {
  content: "\e0c1";
}
.icon-lock-stroke:before {
  content: "\e0c2";
}
.icon-login:before {
  content: "\e98c";
}
.icon-logout:before {
  content: "\e98d";
}
.icon-loop-left:before {
  content: "\e0c6";
}
.icon-loop-left-2:before {
  content: "\e0c5";
}
.icon-loop-right-2:before {
  content: "\e0c7";
}
.icon-magnifying-glass:before {
  content: "\e0cb";
}
.icon-magnifying-glass-2:before {
  content: "\e0c9";
}
.icon-mail-3:before {
  content: "\e0cd";
}
.icon-mail-stroke:before {
  content: "\e0ce";
}
.icon-man:before {
  content: "\e92b";
}
.icon-man-woman:before {
  content: "\e92c";
}
.icon-measuring-tape:before {
  content: "\e98e";
}
.icon-medical-info:before {
  content: "\e98f";
}
.icon-mic:before {
  content: "\e0d6";
}
.icon-minibar:before {
  content: "\e9ba";
}
.icon-minus:before {
  content: "\2212";
}
.icon-minus-2:before {
  content: "\2296";
}
.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:before {
  content: "\e0d7";
}
.icon-monitor-heart:before {
  content: "\e994";
}
.icon-moon:before {
  content: "\e0d8";
}
.icon-more-time-late:before {
  content: "\e995";
}
.icon-mouse:before {
  content: "\e0d9";
}
.icon-movie:before {
  content: "\e0db";
}
.icon-mug:before {
  content: "\e92d";
}
.icon-new-window:before {
  content: "\e0dc";
}
.icon-news:before {
  content: "\e0dd";
}
.icon-newspaper:before {
  content: "\e92e";
}
.icon-nutrition:before {
  content: "\e996";
}
.icon-office:before {
  content: "\e92f";
}
.icon-paint-format:before {
  content: "\e930";
}
.icon-paperclip:before {
  content: "\e0df";
}
.icon-paragraph:before {
  content: "\e945";
}
.icon-paragraph-bold:before {
  content: "\e946";
}
.icon-parking-sign:before {
  content: "\e997";
}
.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-paste:before {
  content: "\e931";
}
.icon-pause:before {
  content: "\e0e2";
}
.icon-pause-2:before {
  content: "\e0e1";
}
.icon-pen:before {
  content: "\270f";
}
.icon-pen-3:before {
  content: "\e0e5";
}
.icon-phone:before {
  content: "\e0e8";
}
.icon-phone-call:before {
  content: "\e910";
}
.icon-picasa:before {
  content: "\e0ea";
}
.icon-pilcrow:before {
  content: "\b6";
}
.icon-pin:before {
  content: "\e0eb";
}
.icon-plane:before {
  content: "\e002";
}
.icon-play:before {
  content: "\25b6";
}
.icon-play-2:before {
  content: "\e0ee";
}
.icon-plumbing:before {
  content: "\e998";
}
.icon-plus:before {
  content: "\2b";
}
.icon-plus-2:before {
  content: "\e0ef";
}
.icon-plus-3:before {
  content: "\2295";
}
.icon-podcast-2:before {
  content: "\e0f0";
}
.icon-polaroids:before {
  content: "\e0f2";
}
.icon-pool:before {
  content: "\e999";
}
.icon-power:before {
  content: "\e0f3";
}
.icon-power-cord:before {
  content: "\e932";
}
.icon-printer:before {
  content: "\e0f5";
}
.icon-printer-2:before {
  content: "\e0f4";
}
.icon-printer3:before {
  content: "\e933";
}
.icon-profile:before {
  content: "\e934";
}
.icon-qrcode:before {
  content: "\e935";
}
.icon-question:before {
  content: "\e0f7";
}
.icon-question-mark:before {
  content: "\3f";
}
.icon-radio-button:before {
  content: "\e99a";
}
.icon-read:before {
  content: "\e0f9";
}
.icon-recycle:before {
  content: "\e0fa";
}
.icon-responsive:before {
  content: "\e0fb";
}
.icon-restaurant:before {
  content: "\e99b";
}
.icon-right-quote:before {
  content: "\201d";
}
.icon-right-quote-2:before {
  content: "\e0fc";
}
.icon-rocket:before {
  content: "\e0fd";
}
.icon-room-service:before {
  content: "\e99c";
}
.icon-ruler:before {
  content: "\e100";
}
.icon-safari:before {
  content: "\e101";
}
.icon-safe:before {
  content: "\e9bb";
}
.icon-salt-pepper:before {
  content: "\e9d5";
}
.icon-sauna:before {
  content: "\e99d";
}
.icon-save:before {
  content: "\e102";
}
.icon-schedule:before {
  content: "\e99e";
}
.icon-schreibtisch-table:before {
  content: "\e9d7";
}
.icon-scooter:before {
  content: "\e99f";
}
.icon-services:before {
  content: "\e936";
}
.icon-services2:before {
  content: "\e937";
}
.icon-share:before {
  content: "\e105";
}
.icon-shield-2:before {
  content: "\e107";
}
.icon-shield-2-stroke:before {
  content: "\e106";
}
.icon-shopping-cart:before {
  content: "\e9a0";
}
.icon-shower:before {
  content: "\e9a1";
}
.icon-shower-2:before {
  content: "\e9b8";
}
.icon-shuffle:before {
  content: "\e109";
}
.icon-skype:before {
  content: "\e10a";
}
.icon-smart-card-reader:before {
  content: "\e9a2";
}
.icon-smoke-free:before {
  content: "\e9a3";
}
.icon-snowflake:before {
  content: "\e10c";
}
.icon-social-facebook:before {
  content: "\e901";
}
.icon-social-facebook-2:before {
  content: "\e948";
}
.icon-social-instagram:before {
  content: "\e152";
}
.icon-social-linkedin:before {
  content: "\e0b6";
}
.icon-social-pinterest:before {
  content: "\e0ed";
}
.icon-social-tictoc:before {
  content: "\e900";
}
.icon-social-whatsapp:before {
  content: "\e905";
}
.icon-social-xing:before {
  content: "\e14b";
}
.icon-speedometer:before {
  content: "\e112";
}
.icon-speedometer-2-medium:before {
  content: "\e110";
}
.icon-sports-bar:before {
  content: "\e9a4";
}
.icon-sprinkler:before {
  content: "\e9a5";
}
.icon-stairs:before {
  content: "\e9b9";
}
.icon-star:before {
  content: "\2605";
}
.icon-star-stroke:before {
  content: "\e118";
}
.icon-stars:before {
  content: "\e9a6";
}
.icon-stats-bars:before {
  content: "\e939";
}
.icon-stethoscope:before {
  content: "\e9a7";
}
.icon-stop-2:before {
  content: "\e119";
}
.icon-stop-small:before {
  content: "\25a0";
}
.icon-stumbleupon:before {
  content: "\e11b";
}
.icon-stumbleupon-2:before {
  content: "\e11a";
}
.icon-sun:before {
  content: "\2600";
}
.icon-sun-stroke:before {
  content: "\263c";
}
.icon-support:before {
  content: "\e11c";
}
.icon-table-sign:before {
  content: "\e9a8";
}
.icon-tag:before {
  content: "\e120";
}
.icon-tag-left:before {
  content: "\e11d";
}
.icon-tag-right:before {
  content: "\e11e";
}
.icon-tag-stroke:before {
  content: "\e11f";
}
.icon-target:before {
  content: "\e122";
}
.icon-target-2:before {
  content: "\e121";
}
.icon-telephone:before {
  content: "\e93a";
}
.icon-temperature:before {
  content: "\e124";
}
.icon-temperature-2:before {
  content: "\e123";
}
.icon-tennis:before {
  content: "\e9c0";
}
.icon-thumb-down:before {
  content: "\e125";
}
.icon-thumb-up:before {
  content: "\e126";
}
.icon-ticket:before {
  content: "\e90c";
}
.icon-tie:before {
  content: "\e127";
}
.icon-tools:before {
  content: "\e129";
}
.icon-tools-2:before {
  content: "\e128";
}
.icon-tools-3:before {
  content: "\e9a9";
}
.icon-tools-4:before {
  content: "\e9aa";
}
.icon-touch-app:before {
  content: "\e9ab";
}
.icon-trackpad_input:before {
  content: "\e9c1";
}
.icon-train:before {
  content: "\e9c2";
}
.icon-trash:before {
  content: "\e12d";
}
.icon-tree:before {
  content: "\e93c";
}
.icon-truck:before {
  content: "\e12e";
}
.icon-tv-sign-1:before {
  content: "\e9ac";
}
.icon-tv-sign-2:before {
  content: "\e9ad";
}
.icon-umbrella:before {
  content: "\2602";
}
.icon-user-group:before {
  content: "\e93d";
}
.icon-user-tie:before {
  content: "\e93e";
}
.icon-users:before {
  content: "\e139";
}
.icon-vacuum-cleaner:before {
  content: "\e9bc";
}
.icon-vcard:before {
  content: "\e13a";
}
.icon-video:before {
  content: "\e13d";
}
.icon-wand:before {
  content: "\e142";
}
.icon-warning:before {
  content: "\e144";
}
.icon-warning-2:before {
  content: "\e143";
}
.icon-weekend:before {
  content: "\e9ae";
}
.icon-wheelchair:before {
  content: "\e9af";
}
.icon-wifi:before {
  content: "\e9b0";
}
.icon-wifi-android:before {
  content: "\e9b1";
}
.icon-wireless:before {
  content: "\e146";
}
.icon-woman:before {
  content: "\e93f";
}
.icon-woman-2:before {
  content: "\e9b2";
}
.icon-wrench:before {
  content: "\e149";
}
.icon-x:before {
  content: "\d7";
}
.icon-x-2:before {
  content: "\2297";
}
.icon-x-2-stroke:before {
  content: "\e14a";
}
.icon-yard:before {
  content: "\e9b3";
}
.icon-youtube:before {
  content: "\e14f";
}
.icon-youtube-2:before {
  content: "\e14e";
}
.icon-zahn:before {
  content: "\e942";
}

/*
 * 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: 90%) {
	: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.2em/1.5625 Roboto, sans-serif;
	color: #1d1d1b;
	-webkit-tap-highlight-color: #006029;
}
@media screen and (max-width: 900px) {
	html {
		font-size: 1.05em;
	}
}

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: #006029;
	color: #ffffff;
	text-shadow: none !important;
}

::-moz-selection {
	background: #006029;
	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 #cccccc;
	border-radius: 0;
	background: #ffffff;
}
table th,
table td {
	border: solid #cccccc;
	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: #006029;
	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 #cccccc;
}
.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 #cccccc;
}

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

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: #006029;
}

.information {
	color: #006029;
}

.warning {
	color: #e30613;
}

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 #cccccc;
	border-radius: 0;
	color: #001408;
	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: #006029;
}
p.information,
div.information,
span.information {
	color: #001408;
}
p.information:before,
div.information:before,
span.information:before {
	content: "\e0a6";
	background: #006029;
}
p.warning,
div.warning,
span.warning {
	color: #98040d;
}
p.warning:before,
div.warning:before,
span.warning:before {
	content: "\e143";
	background: #e30613;
}

p.drop-cap:first-letter,
span.drop-cap {
	float: left;
	margin: 0.11111em 0.33333em 0 0;
	padding: 0.19444em;
	border: 1px solid #cccccc;
	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: #cccccc;
	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: #cccccc;
}
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: #00471e #002d13 #001408;
	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 #002d13;
	background: #006029;
	background: linear-gradient(#007a34, #005122);
	box-shadow: inset 0 1px #4c8f69;
}
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: #000000 #000000 #000000;
	text-decoration: none;
	background-image: linear-gradient(#00893a, #00411c);
}
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(#006f30, #005b27);
}
#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: #10100f #030302 #000000;
	color: #ffffff;
	text-shadow: 0 -1px 0 #030302;
	background: #1d1d1b;
	background: linear-gradient(#2a2a27, #151514);
	box-shadow: inset 0 1px #60605f;
}
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(#32322f, #0d0d0c);
}
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(#252522, #1a1a19);
}

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: #1d1d1b;
	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 #1d1d1b;
	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: 90%;
	margin-right: auto;
	margin-left: auto;
}

.centered-wrapper-inner,
.info-map-boxes {
	max-width: 83.333333333333%;
	margin-right: auto;
	margin-left: auto;
}
@media screen and (max-width: 90%) {
	.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: #f0f6ed;
}
.page:before {
	content: "";
	display: table;
}
.page:after {
	content: "";
	display: table;
	clear: both;
}
.tao-boxed .page {
	max-width: 90%;
	border: solid #cccccc;
	border-width: 0 1px;
	box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
}
@media screen and (max-width: 90%) {
	.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 #cccccc;
	font-size: 0.8125em;
	background: #f0f6ed;
}
.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: 90%;
	margin-right: auto;
	margin-left: auto;
	border-right: 1px solid #cccccc;
	border-left: 1px solid #cccccc;
}
@media screen and (max-width: 90%) {
	.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: #1d1d1b;
}
@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: #1d1d1b;
	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: #f0f6ed;
	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: #1d1d1b;
}

.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 #cccccc;
	border-radius: 0 0 0 0;
	color: #1d1d1b;
	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: #cccccc;
	color: #1d1d1b;
	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 #cccccc;
	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: 90%;
	margin-right: auto;
	margin-left: auto;
	border-right: 1px solid #cccccc;
	border-left: 1px solid #cccccc;
}
@media screen and (max-width: 90%) {
	.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: #1d1d1b;
}
@media screen and (max-width: 1280px) {
	.header-navigation-inner {
		height: auto;
		min-height: 0;
	}
}

.logo {
	position: absolute;
	top: 17.5%;
	bottom: 17.5%;
	left: 0;
	left: calc(0 + 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 #cccccc;
	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.429em;
	font-size: 0.875em;
	color: #1d1d1b;
}
.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 #1d1d1b;
	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: #006029;
	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: #006029;
}
.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 #cccccc;
	border-width: 1px 1px 2px;
	border-top-color: #cccccc;
	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 #cccccc;
	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: #1d1d1b;
	transition: background-color 0.6s ease-in, color 0.6s ease-in;
}
.main-navigation > ul > li > ul a:hover {
	text-decoration: none;
	color: #006029;
	background-color: #cccccc;
	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: #006029;
}
.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 #cccccc;
	border-width: 1px 1px 2px;
	border-top-color: #cccccc;
	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: #006029;
}
.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: #1d1d1b;
}
.mega-dropdown-column ul a:hover {
	color: #006029;
}
.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 #cccccc;
}
.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 #cccccc;
}
.main-navigation-search:hover input,
.main-navigation-search.focus input {
	margin-left: 0.85714em;
	border-color: #cccccc;
	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 #cccccc;
	}
	.main-navigation-search input {
		margin-left: 0.85714em;
		border-color: #cccccc;
		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: #1d1d1b;
	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: #006029;
}

.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: #1d1d1b;
	box-shadow: 0 7px #1d1d1b, 0 14px #1d1d1b;
}
@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 #cccccc;
	color: #1d1d1b;
	background: #f0f6ed;
}
@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: #f0f6ed;
	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 #cccccc;
	color: inherit;
	background-color: #f0f6ed;
	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: #e2eddc;
	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 #f0f6ed;
}
.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 #ebebeb;
	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 #cccccc;
	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: #1d1d1b !important;
}
.main-navigation-mobile-icons.main-navigation-mobile-icons a:hover:before {
	color: inherit !important;
}

.tagline {
	zoom: 1;
	border-bottom: 1px solid #cccccc;
	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: #1d1d1b;
	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: 90%) {
	.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 #cccccc;
}
.centered-wrapper.-border-bottom {
	border-bottom: 1px solid #cccccc;
}
.centered-wrapper.-color-inverted {
	color: #ffffff;
}
.centered-wrapper.-highlight-color {
	background-color: #006029;
}
.centered-wrapper.-background-color-1 {
	background-color: #1d1d1b;
}
.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: 2.5em;
	font-weight: bold;
	color: #006029;
}
.main-content .-color-inverted h1 {
	color: #ffffff;
}
.main-content h2 {
	font-size: 1.875em;
	color: #1d1d1b;
}
.main-content .-color-inverted h2 {
	color: #1d1d1b;
}
.main-content h3 {
	font-size: 1.3em;
}
.main-content h4 {
	font-size: 1.3em;
}
.main-content h5 {
	font-size: 1.3em;
	line-height: 1.50056;
}
.main-content h6 {
	font-size: 1.3em;
	line-height: 1.50063;
	letter-spacing: 0.0625em;
	color: #1d1d1b;
	text-transform: uppercase;
}
.-color-inverted .main-content h6 {
	color: #1d1d1b;
}
.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: #006029;
}
.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: #1d1d1b;
}
.-color-inverted .main-content blockquote {
	color: #1d1d1b;
}
@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: #e30613;
}

input,
textarea {
	padding: 0.85714em 1.35714em;
	line-height: normal;
	border: 1px solid #cccccc;
	border-bottom-color: #bfbfbf;
	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: #e30613;
}
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: #bfbfbf #bfbfbf #b5b5b5;
	box-shadow: 0 0 6px rgba(0, 0, 0, 0.1);
}
input:focus,
textarea:focus {
	border-color: #006029;
}
.-color-inverted input,
.-color-inverted textarea {
	background: #1d1d1b;
}

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 #cccccc \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 #cccccc;
}
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: #1d1d1b;
}
.-color-inverted .main-content label {
	color: #1d1d1b;
}
.main-content label .mandatory {
	margin-left: 0.14286em;
	color: #006029;
}
.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: #1d1d1b;
}
.-color-inverted .explanation {
	color: #1d1d1b;
}

.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: #1d1d1b;
}

.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 #cccccc;
	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: #006029;
}
.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: #006029;
}

.ce_accordion {
	color: #1d1d1b;
}
.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 #cccccc;
	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: #006029;
	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 #cccccc;
	border-top-color: #e5e5e5;
	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: #1d1d1b;
}
.content-accordion .handorgel__header {
	display: block;
	margin: 0;
	border: 1px solid #cccccc;
	/* collapse borders */
	margin-bottom: -1px;
	outline: none;
	font-size: inherit;
	font-weight: bold;
	text-transform: none;
	color: #1d1d1b;
	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: #006029;
}
.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 #cccccc;
	border-top-color: #e5e5e5;
	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: #1d1d1b;
	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 #cccccc;
	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 #006029;
	border-radius: 100%;
	font-size: 2.28571em;
	color: #006029;
	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: #006029;
	color: #ffffff;
	background-color: #006029;
}
.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: #006029;
}
.icon-boxes-item:hover.-inverted-icon:before,
.icon-boxes-item:focus.-inverted-icon:before {
	color: #006029;
	background-color: #ffffff;
}
.icon-boxes-item:hover.-headline-icon:before,
.icon-boxes-item:focus.-headline-icon:before {
	color: #006029;
	background: none;
}
.icon-boxes-item h3 {
	margin: 0 0 0.66667em;
	font-family: Roboto, sans-serif;
	font-style: normal;
	font-size: 1.5em;
	color: #1d1d1b;
}
.icon-boxes-item p {
	margin: 0.5em 0;
}

.icon-boxes-item-link.-link {
	color: #006029;
}
.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: #1d1d1b;
	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 #cccccc;
	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: #006029;
}
.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: #006029;
	opacity: 0.2;
}
.rotating-boxes-item-content h3 {
	position: relative;
	margin: 0.66667em 0;
	font-size: 1.5em;
	color: #006029;
}
.-color-inverted .rotating-boxes-item-content h3 {
	color: #006029;
}
.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: #1d1d1b;
}
.-boxed > .teaser-boxes-item,
.-boxed > .team-boxes-item {
	color: #1d1d1b;
}
.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 #cccccc;
	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: #1d1d1b;
}
.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: #52524c !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 #cccccc;
	border-radius: 0;
	font-size: 1.125em;
	line-height: 1.50056;
	color: #1d1d1b;
}

.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 #cccccc;
	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: #bfbfbf;
	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 #cccccc;
	border: 1px solid rgba(204, 204, 204, 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 #cccccc;
	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: #006029;
}
.pricing-table-plan h3 {
	margin: 0;
	padding: 0.875em 0;
	border-bottom: 1px solid #cccccc;
	font-size: inherit;
	font-weight: bold;
	color: inherit;
}
.pricing-table-plan p {
	margin: 0;
	padding: 0.375em 0;
	border-bottom: 1px solid #cccccc;
	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: #1d1d1b;
}
.pricing-table-plan p i {
	display: block;
	font-style: normal;
	font-size: 0.29167em;
	color: #1d1d1b;
}
.pricing-table-plan ul {
	margin: 0 0 -1px 0;
	padding: 0;
	list-style: none;
	font-size: 0.875em;
	color: #1d1d1b;
}
.pricing-table-plan li {
	display: block;
	padding: 0.5em;
	border-bottom: 1px solid #cccccc;
	transition: background-color 0.3s ease-in;
}
.pricing-table-plan li:hover {
	background-color: #cccccc;
	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: #1d1d1b;
}
@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: #1d1d1b;
	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: #1d1d1b;
}
.-color-inverted .counter-boxes > h3 {
	color: #1d1d1b;
}
.-color-inverted.-highlight-color .counter-boxes > h3 {
	color: #000000;
}
.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: #1d1d1b;
}
.-color-inverted .counter-boxes-item:before {
	color: #1d1d1b;
}
.-color-inverted.-highlight-color .counter-boxes-item:before {
	color: #000000;
}
.counter-boxes-item p {
	margin: 0.06944em -0.5em 0.16667em;
	font-size: 4.5em;
	line-height: 1;
	color: #006029;
	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: #000000;
}
.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: #1d1d1b;
}
.-color-inverted .counter-boxes-item h4 {
	color: #1d1d1b;
}

.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: #1d1d1b;
	background: rgba(29, 29, 27, 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: #1d1d1b;
}
.-color-inverted.-highlight-color .headline-box h3 {
	color: #000000;
}
.-color-inverted .headline-box h3 {
	color: #1d1d1b;
}
.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 #cccccc;
	color: inherit;
}
.projects-item:nth-of-type(even) {
	border-top-color: #cccccc;
}
.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: 90%) {
	.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: #006029;
	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 #cccccc;
	color: #006029;
	font-size: 1em;
	font-weight: bold;
	text-transform: uppercase;
}
.info-map-boxes-item p {
	margin: 0.57143em 0;
}

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

.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 #1d1d1b;
	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: #1d1d1b;
	background: rgba(29, 29, 27, 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: #006029;
}

.tab-navigation {
	margin: 2.25em 0 0;
	border: 1px solid transparent;
	border-bottom-color: #cccccc;
	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 #cccccc;
	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 #006029, -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: #006029;
		color: #ffffff;
		background: #006029;
		box-shadow: 0 1px #006029;
	}
}
.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: #006029;
}
.tab-navigation.-image-tabs a.is-active {
	color: #006029;
	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: #006029;
	border-bottom: 0;
}
.tab-navigation.-image-tabs a:before {
	display: block;
	margin: 0 auto 0.25em;
	font-size: 3em;
	color: #006029;
}
.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 #cccccc;
	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 #cccccc;
	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: #006029;
}
@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: #006029;
	box-shadow: 0 -2px 5px rgba(0, 0, 0, 0.1);
}
@media screen and (max-width: 90%) {
	.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: #002d13;
}
.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 #cccccc;
	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 #cccccc;
	font-size: 1.5em;
	font-weight: bold;
	color: inherit;
}
.news-image-teaser h2 a {
	color: inherit;
}
.news-image-teaser h2 a:hover {
	color: #006029;
	text-decoration: none;
}
.news-image-teaser p {
	margin: 0.625em 0;
	color: #1d1d1b;
}
.news-image-teaser .news-image-teaser-info {
	margin: 0 0 0.93333em;
	font-size: 0.9375em;
	color: #1d1d1b;
}

.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 #cccccc;
}
@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: #1d1d1b;
	text-transform: uppercase;
}
.news-image-teaser-meta .comment-count {
	display: block;
	padding: 0.25em 0;
	border-top: 1px solid #cccccc;
	color: #1d1d1b;
}
.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: #006029;
	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 #cccccc;
	border-radius: 0;
	font-size: 0.875em;
	color: #1d1d1b;
}
.news-list-boxed-item h3 {
	margin: 0.38095em 0 0;
	font-size: 1.5em;
	font-weight: bold;
	line-height: 1.38143;
	color: #006029;
}
.news-list-boxed-item h3 a {
	color: inherit;
	transition: color 0.3s;
}
.news-list-boxed-item h3 a:hover {
	color: #006029;
	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 #cccccc;
}

.news-list-boxed-item-image {
	position: relative;
	display: block;
	overflow: hidden;
}
.news-list-boxed-item-image.-no-image {
	padding-bottom: 56.81818%;
	background: #777777;
}
.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: #006029;
}
.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 #cccccc;
	border-top: 0;
	border-radius: 0 0 1px 1px;
	color: #1d1d1b;
	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: #006029;
}

.news-boxes-item-image {
	display: block;
	overflow: hidden;
}
.news-boxes-item-image.-no-image {
	padding-bottom: 56.81818%;
	background: #777777;
}
.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: #1d1d1b;
}

.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: #cccccc;
}
.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 #cccccc;
	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: #006029;
}
.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 #cccccc;
	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: #006029;
}
.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: #1d1d1b;
}

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

.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 #cccccc;
	color: #1d1d1b;
}
.mod_search .highlight {
	padding: 0 0.25em;
	font-weight: bold;
	background: #ccdfd4;
}
.mod_search .url {
	padding-bottom: 1.42857em;
	border-bottom: 1px dotted #cccccc;
	font-size: 0.875em;
	color: #1d1d1b;
}
.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 #cccccc;
	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 #cccccc;
}
.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: #006029;
}
.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: #1d1d1b;
}
.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: #1d1d1b;
}
.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: #1d1d1b;
	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: #1d1d1b;
	text-decoration: none;
	background-color: #cccccc;
	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: #002d13;
}
.sub-navigation ul a.trail,
.sub-navigation ul strong.trail,
.sub-navigation ul span.trail {
	color: #006029;
}
.sub-navigation ul ul {
	margin-left: 0.85714em;
}
.sub-navigation li {
	padding: 0.14286em 0.42857em;
	border-top: 1px solid #cccccc;
}
.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: #1d1d1b;
}
.footer-bar.-color-inverted {
	color: #ffffff;
	background: #1d1d1b;
}
.footer-bar h1,
.footer-bar h2,
.footer-bar h3 {
	margin: 1em 0;
	padding-bottom: 0.21429em;
	border-bottom: 1px solid #cccccc;
	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: #1d1d1b;
}
.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: #1d1d1b;
}
.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: #1d1d1b;
}
@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 #1d1d1b;
	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 #cccccc;
}
@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 #cccccc;
	line-height: 0;
	/* Fixes Chrome bug */
	letter-spacing: -1em;
	color: #1d1d1b;
	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: #1d1d1b;
}
.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: #1d1d1b;
}
@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: #1d1d1b;
}
.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: #1d1d1b;
	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 #cccccc;
	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: #1d1d1b;
	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: #1d1d1b;
	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: #cccccc;
}
.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: #b3b3b3;
}
.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 #cccccc;
	border-radius: 100%;
	background: #cccccc;
	background: rgba(204, 204, 204, 0.5);
}
.rsts-skin-testimonials .rsts-nav a:hover:after,
.rsts-skin-testimonials .rsts-nav a.active:after {
	background-color: #cccccc;
}
.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: #1d1d1b;
	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: #1d1d1b;
	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 #1d1d1b;
	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: #1d1d1b;
}
.rsts-skin-tao .rsts-nav-numbers a,
.rsts-skin-tao .rsts-nav-tabs a {
	margin: 5px;
	border: 2px solid #1d1d1b;
	border-radius: 0;
	font-size: 0.8125em;
	line-height: 0.61538em;
	color: #1d1d1b;
	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: #1d1d1b;
	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 #1d1d1b;
	border-radius: 100%;
	background-color: rgba(29, 29, 27, 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: #1d1d1b;
}
.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 #cccccc;
	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: #1d1d1b;
}
.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: #030302;
}
.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 #cccccc;
	border-radius: 100%;
	background: #cccccc;
	background: rgba(204, 204, 204, 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: #cccccc;
}

.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: #1d1d1b;
}
.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: #030302;
}
.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-300 - 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: 300;
  src: url('../../files/tao/fonts/roboto-v49-latin-300.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* 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-v49-latin-regular.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-v49-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
html {
  scroll-behavior: smooth;
}

.tao-fullwidth .content-wrapper,
.tao-sidebar #Tagline {
  padding-top: 46px;
}

.tao-sidebar .content-wrapper {
  padding-top: 0;
}

.silbentr {
  hyphens: auto !important;
}

.mod_breadcrumb > ul:nth-child(1) > li:nth-child(1),
.mod_breadcrumb > ul:nth-child(1) > li:nth-child(2)::before {
  display: none;
}

.header-quicklinks {
  float: right;
  height: 100%;
}

.header-quicklinks .jc-app,
.header-quicklinks .jc-digital {
  float: left;
  margin-left : 2em;
  height: 100%;
}

.header-quicklinks .jc-app figure,
.header-quicklinks .jc-digital figure,
.header-quicklinks .jc-app figure a,
.header-quicklinks .jc-digital figure a {
  height: 100%;
}

.header-quicklinks .jc-app figure a img,
.header-quicklinks .jc-digital figure a img {
  height: 80%;
  margin-top: 2.62%;
}

.tagline .mod_breadcrumb {
  padding: 1em 0 1em 0;
}

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

.white {
  color: #fff !important;
}

.black {
  color: #1d1d1b !important;
}

.green {
  color: #006029 !important;
}

.lightgreen {
  color: #f0f6ed !important;
}

.uppercase {
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

.border img {
  border: 1px solid #bbb;
}

.mod_sitemap ul li ul li a {
  padding-left: 1.75em;
}

.mod_sitemap ul li.icon-magnifying-glass-2 {
  padding-left: 1.5em;
}

.mod_sitemap ul li.icon-magnifying-glass-2 a::before {
  display: none;
}

.mod_sitemap ul li.icon-magnifying-glass-2 a {
  padding-left: 0.2em;
}

/* =====================================================================
   Barrierefrei Fokus  (WCAG 2.4.7 / 2.4.11 / 2.4.13)
   ---------------------------------------------------------------------
   Die Ringfarbe richtet sich nach der UMGEBENDEN FLÄCHE, nicht nach der
   Textfarbe des Elements. Grund: Burger, App-Store-Buttons und Quicknav
   schlagen beim Fokus auf eine dunkle Fläche mit WEISSER Schrift um. Mit
   dem früheren `currentColor` wurde der Ring dadurch ebenfalls weiß und
   lag auf weißem Grund -> Kontrast 1:1, praktisch unsichtbar.

   --vm-focus-ring wird vererbt: auf invertierten (dunklen) Flächen auf
   Weiß umgestellt, sonst JCW-Grün. NICHT .page-footer nehmen – der untere
   Footer-Bereich (Impressum/Datenschutz) steht auf Weiß.
   ===================================================================== */

:root { --vm-focus-ring: #006029; }   /* JCW-Grün, wie in den Komponenten */

.-color-inverted,
.vm-card--inverted { --vm-focus-ring: #ffffff; }

*:focus-visible,
*:focus {
    outline : 3px solid var(--vm-focus-ring) !important ;
    outline-offset : 2px ;
}

/* Buttons: Farbe ebenfalls aus der Variable – sonst zieht eine dieser
   Ausnahmen den Ring wieder auf currentColor zurück. */
.button:focus-visible:focus,
.button.white:focus-visible:focus,
.button.-quaternary:focus:focus-visible,
.button.-tertiary:focus:focus-visible {
  outline-color : var(--vm-focus-ring) !important ;
}

.buttonfestnetz:focus:focus-visible {
  outline-color : #cc0000 !important ;
}

/* Alt-Navigation (.main-navigation-mobile) – im aktuellen Layout nicht
   mehr im Einsatz. Das frühere `outline : none !important` ist hier
   entfernt: es hätte den Fokusring ersatzlos gelöscht, sobald diese
   Klassen doch wieder auftauchen. */
.submenu.sibling button.main-navigation-mobile-expand:focus:focus-visible,
.main-navigation-mobile li.sibling a.sibling:focus:focus-visible{
  background : #fff ;
}

/* Barrierefrei Überschriften */

.inh3 {
  margin : 0 0 0.3333em !important;
  font-size : 1.28571em !important;
  font-weight : bold ;
  transition : color .3s ease-out ;
  line-height : 1.5 ;
}

.inh3Box {
  margin : 0 0 0.3333em !important;
  font-size : 1.28571em !important;
  font-weight : bold !important ;
  transition : color .3s ease-out ;
  line-height : 1.5 ;
  color : #fff !important ;
}

.icon-bg-white .vm-card-icon {
  background: #fff;
}

a.icon-boxes-item.-align-left.-headline-icon.-background-color h2.inh3 {
  padding : 0.09524em 0 0 2.19048em ;
}

.icon-boxes-item.-headline-icon::before {
  font-size: 1.75em;
  top: 2px;
}

.icon-boxes-item.-headline-icon h3 {
  padding: 0.09524em 0 0 1.875em;
}

.margin-top-none,
.margin-top-none.content-table table,
.main-content .margin-top-none p {
  margin-top: 0 !important;
}

.margin-bottom-none,
.margin-bottom-none.content-table table,
.main-content .margin-bottom-none p {
  margin-bottom: 0 !important;
}

.little-margin .rs-column {
  margin-top: 0;
}

.fullwidth.content-image figure, .fullwidth.content-image figure img,
.teaser-boxes-image > img,
.team-boxes-image-wrapper img{
  display: block !important;
  width: 100%;
}

.mod_search .header,
.mod_search .url {
  display: none;
}

.mod_search .info  {
  border-top: 1px solid #bbb;
  border-bottom: 1px solid #bbb;
  margin-top: 2em;
  padding-top: 0.25em;
  padding-bottom: 0.25em;
}


.mod_search p.context {
  border-bottom: 1px solid #bbb;
  padding-bottom: 1.5em;
}

.main-content .icon-text-block::before {
  color: #006029;
}

.teaser-boxes-image img,
figure a img,
.news-boxes-item-image img,
.teaser-boxes-item img,
.news-list-boxed-item-image img {
  -webkit-transform: scale(1);
  -moz-transform: scale(1);
  -ms-transform: scale(1);
  -o-transform: scale(1);
  transform: scale(1);
  -webkit-transition: all 0.3s linear;
  -moz-transition: all 0.3s linear;
  -ms-transition: all 0.3s linear;
  -o-transition: all 0.3s linear;
  transition: all 0.3s linear;
}

.teaser-boxes-image:hover img, 
.teaser-boxes-image:focus img,
figure a img:hover,
.news-boxes-item-image:hover img,
.news-boxes-item-image:focus img,
.teaser-boxes-item img:hover,
.teaser-boxes-item img:focus,
.news-list-boxed-item-image:hover img,
.news-list-boxed-item-image:focus img {
  -webkit-transform: scale(1.2);
  -moz-transform: scale(1.2);
  -ms-transform: scale(1.2);
  -o-transform: scale(1.2);
  transform: scale(1.2);
  filter: none;
}

.no-hover figure a img,
.no-hover figure,
.no-hover img,
.no-hover img:hover {
  -webkit-transform: none;
  -moz-transform: none;
  -ms-transform: none;
  -o-transform: none;
  transform: none;
  -webkit-transition: none;
  -moz-transition: none;
  -ms-transition: none;
  -o-transition: none;
  transition: none;
}

.teaser-boxes-item, .team-boxes-item {
  font-size: 1em;
}

.teaser-boxes-item a, .team-boxes-item a {
  font-weight: bold;
}

.news-image-teaser {
  border-bottom: 1px solid #999;
  padding-top: 2em;
  padding-bottom: 2em;
  padding-right: 1.5em;
  margin: 0;
  background: #eee;
}

.mod_newslist.newslist-home .news-image-teaser:nth-child(1){
  border-top: 1px solid #999;
}

.news-image-teaser-meta {
  border-right: 1px solid #999;
}

.news-image-teaser-meta b {
  margin: -0.05556em 0 0em;
}

p.news-image-teaser-more {
  margin-bottom: 0;
}

.mod_eventlist nav.pagination p {
  display: none;
}

.mod_eventlist nav.pagination ul {
  text-align: left;
  padding-left: 0;
  padding-top: 1em;
  padding-bottom: 2em;
}

.mod_eventlist nav.pagination ul li.next,
.mod_eventlist nav.pagination ul li.previous,
.mod_eventlist nav.pagination ul li.first,
.mod_eventlist nav.pagination ul li.last {
  display: none;
}

.mod_eventlist nav.pagination ul li strong.active {
  border: 1px solid #006029;
  background-image: none;
  background: #006029;
  color: #fff;
  font-weight: 500 !important;
  font-size: 1.25em;
  padding: 0.25em 0.65em 0.25em;
}

.mod_eventlist nav.pagination ul li a {
  border: 1px solid #1d1d1b;
  background: #fff;
  color: #1d1d1b;
  font-weight: 500 !important;
  font-size: 1.25em;
  text-decoration: none !important;
  padding: 0.25em 0.65em 0.25em;
}

.mod_eventlist nav.pagination ul li a:hover {
  background: #1d1d1b;
  color: #fff !important;
  text-decoration: none !important;
}

.news-image-teaser h2 {
  margin: 0 !important;
  padding: 0;
  border-bottom: none;
  font-size: 1.15em;
}

.news-image-teaser p {
  margin-top: 0;
}

.layout_short {
  border-bottom: 1px solid #ccc;
  padding-top: 1em;
  padding-bottom: 1em;
}

.layout_short:nth-child(1) {
  border-top: 1px solid #ccc;
}

.mod_eventlist .layout_upcoming {
  background: #eee;
  margin-bottom: 0.5em;
  padding: 0.5em;
}

.mod_eventlist .upcoming .date,
.mod_eventlist .layout_upcoming .date {
  display: block;
  font-size: 0.75em;
  font-weight: bold;
}

.mod_eventlist .layout_upcoming a {
	display: block;
	font-size: 0.875em;
}

.mod_calendar td.today {
  font-weight: bold;
  background-color: #006029;
  color: #fff;
}

.mod_calendar .minicalendar td.active {
  background: #eee;
}

.mod_calendar .minicalendar td.active a {
  display: block;
  font-weight: bold;
}

.mod_calendar .minicalendar {
  border-radius: 0;
}

.greenbox .teaser-boxes-item {
  background: #006029;
  color: #fff !important;
  border-radius: 0;
  border: 2px solid #ccc;
  padding-left: 0;
  padding-right: 0;
  padding-top: 0;
}

.greenbox .teaser-boxes-item a {
  color: #fff !important;
  border-color: #fff !important;
  font-weight: 400 !important;
  font-size: 16px !important;
}

.greenbox .teaser-boxes-item a.image-wrapper {
  background: #fff;
}

.page-footer .margin-bottom-none p {
  margin-bottom: 0 !important;
  margin-top: 0 !important;
}

.page-footer .margin-top-none p {
  margin-bottom: 0 !important;
  margin-top: 0 !important;
}

.main-content .content-text ul {
  margin-top: 0;
  padding-left: 1em;
}

.content-text table th,
.content-text table td,
.kostenboxen table th,
.kostenboxen table td,
.main-content .content-table table th,
.main-content .content-table table td {
  vertical-align: top;
}

.ce_accordion .toggler {
  border-radius: 0 !important;
  background: #fff;
  padding: 0.6875em 3.5em 0.8125em 1.25em;
}

.ce_accordion .accordion {
  border-radius: 0 !important;
  background: #fff;
  padding: 1em 1.25em;
}

.buerozeiten table {
  width: fit-content !important;
}

.buerozeiten table,
.buerozeiten table th,
.buerozeiten table td {
  border: none;
  padding: 0;
}

.buerozeiten table td,
.buerozeiten table th{
  background: #fff;
  border-bottom: 3px solid #f0f6ed !important;
  padding: 0.25em 0.5em;
}

.buerozeiten td:nth-child(1) {
  width: 150px !important;
}

.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: 1 !important;
  transform: scale(1) !important;
}

.page-footer h2 {
  letter-spacing: 0.05rem;
}

.footer-quicklinks .icon-boxes-item {
  padding: 1.25em;
  width: fit-content !important;
  margin-right: 0.5em;
}

.footer-quicklinks a.icon-boxes-item:nth-child(6) {
  margin-right: 0;
}

.footer-quicklinks .icon-boxes-item::before {
  top: 2px;
  font-size: 1.875em !important;
}

.footer-quicklinks .icon-boxes-item h3 {
  margin-bottom: 0 !important;
  padding: 0.09524em 0 0 2em;
}

.footer-links.left {
  float: left;
}

.footer-top-link {
  position: fixed;
  bottom: 0.5rem;
  right: 0.5rem;
  color: #fff !important;
}

.footer-top-link::after {
  border-radius: 0;
  background: rgb(0,0,0,.75) !important;
  border: 2px solid #f5f5f5 !important;
  border-radius: 100%;
  box-shadow: none !important;
  padding-top: 0.8375em;
  color: #fff;
  content: "\e941";
}

.footer-top-link > span {
  display: none !important;
}

footer.page-footer .centered-wrapper.-border-top {
  border-top: none;
}

footer.page-footer .centered-wrapper.-highlight-color a,
footer.page-footer .centered-wrapper.-color-inverted a {
  color: #fff;
}

.page-footer .icon-text-block.jcapp::before,
.page-footer .icon-text-block.jcdig::before,
.page-footer .icon-text-block.jcdate::before {
  font-size: 1.5em;
  top: -0.025em;
  left: 0;
}

.page-footer .icon-text-block.jcapp,
.page-footer .icon-text-block.jcdig,
.page-footer .icon-text-block.jcdate {
  padding-left: 2.25em;
}

.page-footer table {
  border: none;
  border-radius: 0;
  background: transparent;
}

.page-footer table td,
.page-footer table th {
  border: none;
  padding: 0 0 0.5em 0;
}

footer.page-footer .layout_simple {
  border-bottom: 1px dashed rgb(255,255,255,0.5);
  padding-bottom: 0.5em;
  margin-bottom: 0.5em;
}

footer.page-footer .layout_simple:nth-child(4) {
  border-bottom: none;
  padding-bottom: 0;
  margin-bottom: 0;
}

footer.page-footer .layout_simple a {
  display: block;
}

footer.page-footer .layout_simple time {
  display: block;
  font-size: 16px !important;
}

.footer-links {
  float: left;
}

.footer-copyright {
  float: right;
}

.page-footer hr {
  border-top: 1px solid rgb(255,255,255,0.75);
}

.fokusthemen .icon-text-block {
  display: inline-block;
  margin-right: 2em;
}

.fokusthemen .icon-text-block.last {
  margin-right: 0;
}

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

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

.header-bar-inner {
  max-width: 100%;
  margin-right: 0;
  margin-left: 0;
  text-align: center;
}

.header-links.-right {
  margin-right: auto;
  margin-left: auto;
  clear: both;
  float: none;
}

.header-navigation-inner {
  padding-right: 0;
  margin-right: 2%;
}

.main-navigation-mobile-open {
  width: 52px !important;
  height: 51px !important;
  left: 2.5%;
  top: 79px !important;
  padding: 14px 9px 9px 9px;
}

.logo {
  padding-top: 10px;
  padding-bottom: 10px;
}

.footer-quicklinks .icon-boxes-item {
  padding: 1em;
  font-size: 0.75em !important;
}

}

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

.header-quicklinks .jc-app figure a img,
.header-quicklinks .jc-digital figure a img {
  height: 63%;
  margin-top: 6%;
}

.centered-wrapper-inner {
  max-width: none;
}

.footer-links {
  padding: 2.14286em 0;
}

.footer-spalte4 {
  margin-bottom: 7% !important;
}

}

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

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

.main-navigation-mobile-open {
  width: 48px !important;
  height: 48px !important;
  top: 79px !important;
  padding: 12px 9px 9px 9px;
}

.header-navigation-inner {
  margin-right: 2%;
  margin-left: 2%;
  max-width: none;
}

.logo {
  padding-top: 15px;
  padding-bottom: 15px;
}

.logo img {
  height: 100%;
  max-height: none;
}

.footer-quicklinks .icon-boxes-item h3 {
  font-size: 16px !important;
  padding: 0.09524em 0 0 1.5em;
}

.footer-quicklinks .icon-boxes-item::before {
  top: 4px;
  font-size: 16px !important;
}

}

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

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

.header-navigation-inner {
  margin-right: 0;
  margin-left: 0;
}

.logo {
  left: 130px;
}

.main-navigation-mobile-open {
  width: 48px !important;
  height: 44px !important;
  top: 82px !important;
  padding: 10px 9px 9px 9px;
  left: 7%;
}

.header-quicklinks .jc-app figure a img,
.header-quicklinks .jc-digital figure a img {
  height: 55%;
  margin-top: 8.5%;
}

.tao-fullwidth .content-wrapper {
  padding-top: 0;
}

.tao-sidebar .content-wrapper {
  padding-top: 120px;
}

#Tagline {
  padding-top: 0 !important;
  position: fixed;
  width: 100%;
  top: 124px;
  z-index: 5;
}

}

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

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

.header-bar-inner,
.header-navigation-inner,
.content-wrapper {
  max-width: 100%;
  margin-right: auto;
  margin-left: auto;
}

.header-bar {
  font-size: 1em;
}

.header-bar-inner {
  padding: 0 !important;
}

.logo {
	left: auto;
  margin-left: 0;
  margin-right: 0;
  width: 100%;
  text-align: center;
}

.header-quicklinks {
  float: none;
  clear: both;
  height: 60px;
  position: fixed;
  top: 124px;
  width: 100%;
  text-align: center;
  background: #006029;
  border-bottom: 2px solid #fff;
  /* Grüne Fläche -> heller Fokusring, sonst läge Grün auf Grün (1:1).
     Gilt nur hier drin, oberhalb 900px ist die Fläche nicht grün. */
  --vm-focus-ring: #ffffff;
}

.header-quicklinks .jc-app,
.header-quicklinks .jc-digital {
  float: left;
  height: auto;
}

.header-quicklinks .jc-digital {
  margin-left: 20%;
  width: 30%;
}

.header-quicklinks .jc-app {
  margin-right: 20%;
  margin-left: 0;
  width: 30%;
}

.header-quicklinks .jc-app figure,
.header-quicklinks .jc-digital figure,
.header-quicklinks .jc-app figure a,
.header-quicklinks .jc-digital figure a {
  height: auto;
  width: 100%;
  display: block;
}

.header-quicklinks .jc-app figure a img,
.header-quicklinks .jc-digital figure a img {
  height: 58px;
  margin-top: 0;
}

.header-quicklinks .jc-digital figure a img {
  border-right: 1px solid #fff;
}

.header-quicklinks .jc-app figure a img {
  border-left: 1px solid #fff;
}

.tao-fullwidth .content-wrapper {
  padding-top: 120px;
}

.tao-sidebar .content-wrapper {
  padding-top: 160px;
}

.tagline .mod_breadcrumb {
  margin: 0;
}

#Tagline {
  top: 181px;
}

.news-image-teaser {
  position: relative;
  padding-left: 12.5%;
}

.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 #999;
  background: none !important;
}

.news-image-teaser-meta time {
  font-size: 1.75em;
}

.footer-copyright,
.footer-links {
  float: none;
  font-size: 1em;
}

.footer-links {
  padding-top: 2em;
  padding-bottom: 0;
}

.footer-copyright {
  padding-bottom: 3em;
}

.footer-quicklinks .icon-boxes-item {
  width: 33.33334% !important;
  margin-right: 0;
}

.footer-spalte1,
.footer-spalte2,
.footer-spalte3,
.footer-spalte4 {
  margin-top: 2.5% !important;
}

.footer-spalte4 {
  margin-bottom: 5% !important;
}

.footer-top-link {
  width: 48px !important;
  height: 48px !important;
  bottom: 10px !important;
  right: 10px !important;
}

}

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

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

.header-quicklinks .jc-digital {
    margin-left: 10%;
    width: 40%;
}

 .header-quicklinks .jc-app {
    margin-right: 10%;
    margin-left: 0;
    width: 40%;
}

.news-image-teaser {
    padding-right: 5%;
}

.news-image-teaser-meta {
    left: -13.5%;
    width: 10%;
  }

.news-image-teaser-meta time {
    font-size: 1.15em;
}

.news-image-teaser-meta .news-year {
    font-size: 0.875em;
}

}

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

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

.tao-fullwidth .content-wrapper,
.tao-sidebar #Tagline {
    padding-top: 109px;
}

.greenbox .teaser-boxes-item a.image-wrapper {
  margin-bottom: 0.875em;
}

.greenbox .teaser-boxes-item h3 {
  margin: 0;
  font-size: 1.2em;
}

.greenbox .teaser-boxes-item p {
  margin-top: 0;
}

.news-image-teaser {
  padding: 1em 1em 1em 12.5%;
}

 .news-image-teaser-meta {
  left: -14.5%;
}

.news-image-teaser-meta b {
  margin: 0 0 -0.25em;
}

.news-image-teaser-meta .news-year {
  font-size: 0.75em;
}

.footer-quicklinks .icon-boxes-item {
  width: 50% !important;
}

.fokusthemen .icon-text-block {
  display: block;
  margin-right: 0;
}

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

.fokusthemen hr {
  margin-bottom: 1.5em !important;
}

.footer-links li {
  display: block;
}

.footer-links li::before {
  display: none;
}

}

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

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

.main-navigation-mobile.is-enabled {
  width: 80% !important;
}

.tao-fullwidth .content-wrapper,
.tao-sidebar #Tagline {
  padding-top: 99px;
}

.header-quicklinks .jc-digital {
  margin-left: 0;
  width: 50%;
}

.header-quicklinks .jc-app {
  margin-right: 0%;
  width: 50%;
}

.greenbox .teaser-boxes-item {
  padding-bottom: 1em;
}

.greenbox .teaser-boxes-item a.image-wrapper {
  margin-bottom: 0.75em;
}

.greenbox .teaser-boxes-item p {
  font-size: 16px !important;
}

.greenbox .teaser-boxes-item a {
  font-weight: 400;
}

.news-image-teaser {
  padding: 0.75em 1em 1em 12.5%;
}

 .news-image-teaser-meta {
  border-right: none;
}

.news-image-teaser-meta time {
  font-size: 1em;
}

.news-image-teaser-meta b {
  font-size: 0.65em;
}

.news-image-teaser-meta .news-year {
  font-size: 0.65em;
  font-weight: bold;
}

.news-image-teaser h2 {
  font-size: 1em;
  line-height: 1.2;
}

.news-image-teaser p {
  line-height: 1.3;
  font-size: 0.875em;
  margin-top: 0.25em;
}

p.news-image-teaser-more {
  font-size: 1em !important;
}

}

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

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

.header-bar {
  font-size: 0.875em;
  height: 42px !important;
}

.header-navigation {
  top: 0 !important;
}

.header-quicklinks {
  top: 121px;
}

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

.tao-fullwidth .content-wrapper,
.tao-sidebar #Tagline {
  padding-top: 92px;
}

.logo {
  padding-left: 50px;
}

}

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

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

.header-quicklinks .jc-app figure,
.header-quicklinks .jc-digital figure,
.header-quicklinks .online-termin figure {
  height: 40px;
}

.logo {
  padding-left: 70px;
}

.tao-fullwidth .content-wrapper,
.tao-sidebar #Tagline {
  padding-top: 86px;
}

.footer-quicklinks .icon-boxes-item {
  padding: 1em 0.75em;
}

}

/* =====================================================================
   Skip-Links („Navigation überspringen") beim Tastatur-Fokus sichtbar
   ---------------------------------------------------------------------
   Contao gibt pro Navigationsmodul einen sr-only-Sprunglink aus. Für
   Screenreader gut – sehende Tastaturnutzer landen aber sonst auf einem
   UNSICHTBAREN Tab-Stopp (Fokus scheint zu verschwinden). Hier: beim Fokus
   sichtbar oben-links einblenden (WCAG 2.4.7). Trifft nur fokussierbare
   Skip-Links (<a class="invisible">); die leeren Ziel-<span class="invisible">
   sind nicht fokussierbar und bleiben unberührt.
   ===================================================================== */
a.invisible:focus {
  position: fixed;
  /* Diese Skip-Links gehören zu Footer & Quicknav (unten) -> unten-links
     einblenden, ÜBER der fixen Quicknav-Leiste (nicht dahinter). */
  bottom: calc(var(--vm-quicknav-space, 4.5rem) + 0.5rem);
  top: auto;
  left: 0.5rem;
  z-index: 2000;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0.6rem 1rem !important;
  clip: auto !important;
  clip-path: none !important;
  overflow: visible !important;
  background: #ffffff;
  color: #006029;
  text-decoration: underline;
  outline: 3px solid #006029;
  outline-offset: 2px;
}

/* =====================================================================
   Navigationspfad (Breadcrumb)
   ---------------------------------------------------------------------
   1) TRENNER NICHT VORLESEN LASSEN
   Das Theme setzt den Schrägstrich als echten Text ins ::before. Generierte
   Inhalte stehen im Barrierefreiheitsbaum — im Akkordeon-Beispiel las der
   letzte Eintrag sich als „/ Mehrbedarfe". aria-hidden geht an Pseudo-
   elementen nicht; die Alt-Text-Schreibweise von `content` löst es:
   alles vor dem `/` ist die Darstellung, der leere String dahinter das,
   was Hilfsmittel bekommen.

   Die erste Zeile ist der Rückfall für Browser ohne diese Schreibweise —
   sie behalten dort den sichtbaren Trenner, statt gar keinen zu zeigen.

   2) ZIELGRÖSSE (WCAG 2.5.8)
   Die Links waren 32x18px. Wie bei den rechtlichen Links im Fuß vergrößert
   der Innenabstand die Klickfläche, der gleich große NEGATIVE Außenabstand
   nimmt sie im Layout wieder zurück — die Zeile bleibt damit gleich hoch.
   ===================================================================== */

.mod_breadcrumb li::before {
  content: " \A0 / \A0 ";
}

.mod_breadcrumb li::before {
  content: " \A0 / \A0 " / "";
}

.mod_breadcrumb a {
  display: inline-block;
  padding: 0.45em 0;
  margin: -0.45em 0;
  vertical-align: middle;
}

/* =====================================================================
   Akkordeon: Button in einer Überschrift statt <div class="toggler">
   ---------------------------------------------------------------------
   Gehört zu den Overrides ce_accordionStart.html5 /
   ce_accordionSingle.html5 und zum Skript j_accordion_custom.html5.
   Der Aufklapper ist jetzt ein echter <button> in einer <h3> — dadurch
   stimmen Rolle (WCAG 4.1.2) und Dokumentstruktur (WCAG 1.3.1).

   Hier wird NUR zurückgenommen, was ein <button> anders macht als ein
   <div>. Rahmen, Hintergrund, Polster und font-weight kommen weiterhin
   aus dem Theme: `.ce_accordion .toggler` hat mit (0,2,0) die höhere
   Spezifität als `button.toggler` (0,1,1) und gewinnt deshalb — die
   Optik bleibt unverändert.
   ===================================================================== */

button.toggler {
  display: block;
  width: 100%;
  box-sizing: border-box;
  margin: 0;
  font: inherit;
  color: inherit;
  text-align: start;
  -webkit-appearance: none;
  appearance: none;

  /* Das TAO-Theme stylt ALLE <button>-Elemente (Selektorliste um
     `button.-secondary`). Ohne diese drei Zeilen erbt der Aufklapper
     Versalien und die Schatten der Theme-Buttons — gemessen am alten
     <div> war beides „none". */
  text-transform: none;
  letter-spacing: normal;
  box-shadow: none;
  text-shadow: none;
}

/* Die Überschrift ist nur Struktur — Größe und Abstände sitzen am Button.
   Ohne font-size: inherit würde die h3-Standardgröße die em-basierten
   Polster des Buttons mitskalieren. */
.ce_accordion .toggler-heading {
  margin: 0;
  padding: 0;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
}

/* Plus/Minus-Anzeige: hing an der jQuery-UI-Klasse
   `.ui-accordion-header-active`, die es ohne jQuery UI nicht mehr gibt.
   An aria-expanded ist sie ohnehin besser aufgehoben — Optik und
   ausgelesener Zustand können so nicht auseinanderlaufen. */
.ce_accordion .toggler[aria-expanded="true"]::after {
  content: "\2212";
}

/* Sicherheitsnetz: Das Skript blendet Panels über das hidden-Attribut
   aus. Sollte je eine Theme-Regel `display` auf .accordion setzen,
   würde sie das UA-Verhalten von [hidden] überstimmen. */
.ce_accordion .accordion[hidden] {
  display: none !important;
}

/* =====================================================================
   Rechtliche Links im Seitenfuß: Zielgröße (WCAG 2.5.8, Level AA)
   ---------------------------------------------------------------------
   Impressum / Datenschutz / Erklärung zur Barrierefreiheit / Sitemap
   waren nur 20px hoch — unter den geforderten 24x24px. Die Breite war
   nie das Problem (kürzester Eintrag „Sitemap" mit 62px).

   Der Innenabstand vergrößert die Klickfläche, der gleich große
   NEGATIVE Außenabstand nimmt sie im Layout wieder zurück. Dadurch
   bleibt der Fuß exakt so hoch wie vorher und die Links stehen weiter
   auf einer Linie mit dem Copyright-Hinweis — der ist ein eigener
   Absatz und würde sonst verspringen.

   vertical-align: middle auch auf ::before, sonst rutschen die
   Trennstriche zwischen den Einträgen nach oben.
   ===================================================================== */

.footer-links li > a {
  display: inline-block;
  padding: 0.5em 0;
  margin: -0.5em 0;
  vertical-align: middle;
}

.footer-links li::before {
  vertical-align: middle;
}

/* ==========================================================
   Links im Fließtext unterstreichen (WCAG 1.4.1)
   ----------------------------------------------------------
   Grün #006029 hebt sich vom Fließtext #1d1d1b nur mit 2,17:1 ab —
   gefordert sind 3:1, wenn allein die Farbe den Link kennzeichnet.
   Betroffen waren u. a. Impressum, Kontakt, Erklärung zur
   Barrierefreiheit, DGS und Leichte Sprache (axe „link-in-text-block",
   gemessen 29.09.2026).

   Nur Links OHNE Klasse in Absätzen: Buttons, Linklisten und Karten
   tragen immer eine Klasse und behalten ihre Optik. `.more` (das
   „weiterlesen" der News-Boxen) ist ausgenommen — dort ist die ganze
   Box der Link. Listen bleiben außen vor: In der Sitemap ist jeder
   Eintrag ein Link, das erkennt man ohne Unterstreichung.
   ========================================================== */

.main-content p:not(.more) a:not([class]) {
  text-decoration: underline;
  text-underline-offset: 0.15em;
}

/* =====================================================================
   Bewegung reduzieren  (WCAG 2.3.3 · prefers-reduced-motion)
   ---------------------------------------------------------------------
   Wer im Betriebssystem „Bewegung reduzieren" aktiviert hat, bekommt
   keine Übergänge und kein weiches Scrollen mehr (oben steht
   `html { scroll-behavior: smooth }` – das wird hier zurückgenommen).
   Fokus-Outlines sind davon nicht betroffen, sie sind keine Animation.

   ACHTUNG: Das sanfte Scrollen des Akkordeons kommt aus jQuery
   (`$('html, body').animate(...)` im Seitenlayout) und lässt sich per
   CSS NICHT abschalten – das müsste im Skript selbst über
   window.matchMedia('(prefers-reduced-motion: reduce)') abgefragt werden.
   ===================================================================== */

@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;
  }

}

/* ==========================================================
   VM Component Library  ·  JCW-Variante
   Component: VM Iconbox / Grid / Card Base
   Version: 2.0.0
   CMS: Contao 5.7
   Theme: RockSolid TAO
   Breakpoints: Desktop 1680px / Tablet 1280px / Mobile 900px

   Farbschema JCW:
   - Primär (Akzent):  Grün  #006029
   - Ausnahme:         Rot   #E2001A
   - Text:             #1d1d1b
   - Flächen:          Hellgrün #f0f6ed
   ========================================================== */

:root {
  /* Text & Neutraltöne */
  --vm-text: #1d1d1b;
  --vm-black: #000;
  --vm-white: #ffffff;

  /* Primär (Grün) */
  --vm-primary: #006029;
  --vm-primary-dark: #004d21;
  --vm-primary-hover: #007a33;

  /* Ausnahme (Rot) */
  --vm-danger: #E2001A;
  --vm-danger-dark: #b80016;
  --vm-danger-surface: #fdeaea;
  --vm-danger-border: #f0c2c6;

  /* Flächen (Hellgrün) */
  --vm-surface: #f0f6ed;
  --vm-surface-light: #f6faf2;
  --vm-surface-icon: #eaf3e2;

  /* Rahmen & Grautöne */
  --vm-border: #e8e8e8;
  --vm-border-accent: #cfe3c2;
  --vm-border-neutral: #e5e5e5;
  --vm-grey: #EEEEEE;
  --vm-grey-100: #f3f3f3;
  --vm-grey-200: #e7e7e7;
  --vm-grey-300: #ddd;

  /* Sonderfarbe: schwebender Festnetz-Button */
  --vm-festnetz: #cc0000;

  /* Effekte & Maße */
  --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: 0;
  --vm-radius-small: 0;
  --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-text);
  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);
    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(0,96,41,.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 = Grün · Ausnahme = Rot · plus neutrale Varianten
   ========================================================== */

/* --- Grüne Karte (Primär / Standard) --------------------- */
.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;
}

.vm-card--bare .vm-card-inner {
  padding-left: 0;
  padding-right: 0;
}

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

.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
   ========================================================== */

/* Grüne Karte -> weißes Iconfeld */

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

/* Weiße/rahmenlose Karten -> hellgrünes Iconfeld */

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

/* ==========================================================
   Kartenfarbe – Rot (Ausnahmefall)
   Rot #E2001A · Schrift #1d1d1b
   Gilt für Iconbox UND Teaser
   ========================================================== */

.vm-card--red {
    background: var(--vm-danger-surface);
    border: 1px solid var(--vm-danger-border);
}
.vm-card.vm-card--red::before         { background: var(--vm-danger-border); }
.vm-card.vm-card--red:hover::before   { background: var(--vm-danger); }
.vm-card--red:hover                    { border-color: rgba(226, 0, 26, .35); }

.vm-card.vm-card--red .vm-card-icon              { background: var(--vm-white); }
.vm-card.vm-card--red .vm-card-icon span::before { color: var(--vm-danger); }        /* Icon-Glyph rot */

/* --- Optional: „Icon invertiert" auf Grün/Rot ------------ */
.vm-card.vm-card--green.-inverted-icon .vm-card-icon { background: var(--vm-primary); }
.vm-card.vm-card--red.-inverted-icon   .vm-card-icon { background: var(--vm-danger); }


/* ----------------------------------------------------------
   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);
  border-radius: var(--vm-radius-small);

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

  box-shadow: inset 0 0 0 1px rgba(0,96,41,.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);
  font-size: clamp(1.35rem, 1.1vw, 1.75rem);
  font-weight: 700;
  line-height: 1.22;
  text-transform: none;
}

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

.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);
}

.vm-card-link.-link {
  color: var(--vm-primary);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 0.28em;
}

.vm-card-link.-link:hover,
.vm-card-link.-link:focus-visible {
  color: var(--vm-primary-hover);
}


/* ==========================================================
   Button 1 (Grün / Primär)
   ========================================================== */

.vm-card-link.button {
  padding: 0.64286em 1.42857em 0.75em;
  color: var(--vm-white);
  background: var(--vm-primary);
  border: 2px solid var(--vm-primary-dark);
  border-radius: 0;
  line-height: 1.42929;
  letter-spacing: 0.05rem;
  font-size: 1em !important;
}

.vm-card-link.button:hover,
.vm-card-link.button:focus-visible{
  background: var(--vm-primary-dark);
  border-color: var(--vm-primary-hover);
}

/* ==========================================================
   Button rot (Ausnahmefall)
   ========================================================== */
.vm-card-link.button.-red {
  background: var(--vm-danger);
  border-color: var(--vm-danger-dark);
}
.vm-card-link.button.-red:hover,
.vm-card-link.button.-red:focus-visible {
  background: var(--vm-danger-dark);
  border-color: var(--vm-danger);
}


/* ==========================================================
   Button 2 (Dezent)
   ========================================================== */

.vm-card-link.button.-quaternary{
  padding: 0.64286em 1.42857em 0.75em;
  color:var(--vm-text);
  background:var(--vm-white);
  border:2px solid var(--vm-text);
  border-radius:0;
}

.vm-card-link.button.-quaternary:hover{
  color:var(--vm-white);
  background:var(--vm-text);
  border-color:var(--vm-text);
}

/* ==========================================================
   Button 3 (Hellgrau)
   ========================================================== */

.vm-card-link.button.-tertiary{
  padding: 0.64286em 1.42857em 0.75em;
  color:var(--vm-text);
  background:var(--vm-grey-100);
  border:2px solid var(--vm-text);
  border-radius:0;
}

.vm-card-link.button.-tertiary:hover{
  background:var(--vm-grey-200);
  border-color:var(--vm-text);
  color:var(--vm-text);
}

/* ==========================================================
   Button 4 (Textlink)
   ========================================================== */

.vm-card-link.-link{
  color:var(--vm-primary);
  font-weight:700;
  text-decoration:none;
  font-size: 1.15em;
}

.vm-card-link.-link:hover{
  color:var(--vm-primary-hover);
}

/* Invertierte Karte + Button 4 (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);   /* dezentes Hover-Feedback */
}

/* ----------------------------------------------------------
   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;       /* NEU: Body-Zeile dehnt sich, Button nach unten */
  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;       /* NEU: Body-Zeile dehnt sich, Button nach unten */
  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;          /* kompakt statt 64px */
  height: 2.5rem;
  border-radius: 0;
  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;
  margin-top: 2.75rem;      /* Platz für das (größere) herausragende Badge */
}

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

/* Akzentleiste bei der Badge-Variante ausblenden */
.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);
}

.vm-iconbox-item.-badge-top-icon .vm-card-icon {
  position: absolute;
  top: 0;                          /* = obere Kartenkante */
  left: var(--vm-card-padding);
  transform: translateY(-50%);     /* mittig auf der Kante: halb innen, halb außen */
  margin: 0;
  z-index: 2;

  /* etwas größer + responsive (skaliert mit der Viewport-Breite) */
  width:  clamp(4rem, 3.4rem + 1.7vw, 5.5rem);   /* ~64px … 88px */
  height: clamp(4rem, 3.4rem + 1.7vw, 5.5rem);
  border-radius: 0;

  /* Standard-Innenkontur beibehalten + Schlagschatten */
  box-shadow:
    inset 0 0 0 1px rgba(0, 96, 41, 0.08),
    0 10px 24px rgba(0, 0, 0, 0.18);
}

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

/* Badge folgt der Textausrichtung */
.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);
}

/* Badge-Variante: Button ohne zusätzlichen oberen Abstand */
.vm-iconbox-item.-badge-top-icon .vm-card-action {
  margin-top: 0;
}

/* Badge-Variante: mehr Abstand zwischen den Reihen,
   damit das herausragende Badge die Box der Reihe darüber nicht berührt.
   (Greift nur, wenn die ganze Box-Gruppe die Badge-Variante nutzt.) */
.vm-iconbox.-badge-top-icon .vm-grid {
  row-gap: calc(var(--vm-gap) + 1.75rem);
}

/* Badge-Variante: Abstand nach unten reservieren. Die Items sind per
   margin-top: 2.75rem nach unten verschoben; ohne Ausgleich ragen sie sonst in
   den Folgeinhalt (Überschriften/Text darunter). */
.vm-iconbox.-badge-top-icon {
  margin-bottom: 2.75rem;
}

/* ==========================================================
   Badge-Icon (Iconbox): Innenkontur in Themenfarbe
   ========================================================== */
.vm-card.vm-card--green.-badge-top-icon .vm-card-icon {
  box-shadow:
    inset 0 0 0 1px rgba(0, 96, 41, 0.15),
    0 10px 24px rgba(0, 0, 0, 0.18);
}

.vm-card.vm-card--red.-badge-top-icon .vm-card-icon {
  box-shadow:
    inset 0 0 0 1px rgba(226, 0, 26, 0.15),
    0 10px 24px rgba(0, 0, 0, 0.18);
}




/* ----------------------------------------------------------
   Responsive – Spaltenanzahl je Breakpoint
   Der Redakteur wählt die Spaltenzahl 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 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)); }
}

/* ==========================================================
   Spaltenverhältnisse (unterschiedliche Box-Breiten)
   Optionales Feld „Spaltenverhältnis" am Element -> setzt eine
   dieser Klassen und überschreibt die gleichmäßige Spaltenanzahl.
   Gilt für Iconbox UND Teaser (beide nutzen .vm-grid).
   Anzahl der Werte = Anzahl der Boxen in der Reihe.

   NUR Desktop (> 1280px): ab Tablet übernehmen die Breakpoint-Spalten
   (grid-t-* / grid-m-* / grid-s-*). So kann der Redakteur pro Breakpoint
   frei auf gleiche Spalten umschalten, ohne dass das Verhältnis „klebt".
   ========================================================== */
@media (min-width: 1281px) {

  /* 2 Boxen */
  .vm-grid.grid-ratio-2-1 { grid-template-columns: 2fr 1fr; }
  .vm-grid.grid-ratio-1-2 { grid-template-columns: 1fr 2fr; }
  .vm-grid.grid-ratio-3-1 { grid-template-columns: 3fr 1fr; }
  .vm-grid.grid-ratio-1-3 { grid-template-columns: 1fr 3fr; }
  .vm-grid.grid-ratio-3-2 { grid-template-columns: 3fr 2fr; }
  .vm-grid.grid-ratio-2-3 { grid-template-columns: 2fr 3fr; }

  /* 3 Boxen */
  .vm-grid.grid-ratio-2-1-1 { grid-template-columns: 2fr 1fr 1fr; }
  .vm-grid.grid-ratio-1-1-2 { grid-template-columns: 1fr 1fr 2fr; }
  .vm-grid.grid-ratio-1-2-1 { grid-template-columns: 1fr 2fr 1fr; }

  /* 4 Boxen */
  .vm-grid.grid-ratio-2-1-1-1 { grid-template-columns: 2fr 1fr 1fr 1fr; }
  .vm-grid.grid-ratio-1-1-1-2 { grid-template-columns: 1fr 1fr 1fr 2fr; }
  .vm-grid.grid-ratio-1-2-1-1 { grid-template-columns: 1fr 2fr 1fr 1fr; }
  .vm-grid.grid-ratio-1-1-2-1 { grid-template-columns: 1fr 1fr 2fr 1fr; }
}

/* ==========================================================
   Spaltenverhältnisse Tablet (grid-ratio-t-*)
   Wirken NUR im Tablet-Fenster (901–1280px) und überschreiben dort die
   gleichmäßige Tablet-Spaltenanzahl (grid-t-*). Steht bewusst NACH dem
   grid-t-Block, damit es in der Kaskade gewinnt. Mobil (≤900px) wird über
   grid-m- / grid-s- gesteuert (i. d. R. 1 Spalte).
   ========================================================== */
@media (min-width: 901px) and (max-width: 1280px) {

  /* 2 Boxen */
  .vm-grid.grid-ratio-t-2-1 { grid-template-columns: 2fr 1fr; }
  .vm-grid.grid-ratio-t-1-2 { grid-template-columns: 1fr 2fr; }
  .vm-grid.grid-ratio-t-3-1 { grid-template-columns: 3fr 1fr; }
  .vm-grid.grid-ratio-t-1-3 { grid-template-columns: 1fr 3fr; }
  .vm-grid.grid-ratio-t-3-2 { grid-template-columns: 3fr 2fr; }
  .vm-grid.grid-ratio-t-2-3 { grid-template-columns: 2fr 3fr; }

  /* 3 Boxen */
  .vm-grid.grid-ratio-t-2-1-1 { grid-template-columns: 2fr 1fr 1fr; }
  .vm-grid.grid-ratio-t-1-1-2 { grid-template-columns: 1fr 1fr 2fr; }
  .vm-grid.grid-ratio-t-1-2-1 { grid-template-columns: 1fr 2fr 1fr; }

  /* 4 Boxen */
  .vm-grid.grid-ratio-t-2-1-1-1 { grid-template-columns: 2fr 1fr 1fr 1fr; }
  .vm-grid.grid-ratio-t-1-1-1-2 { grid-template-columns: 1fr 1fr 1fr 2fr; }
  .vm-grid.grid-ratio-t-1-2-1-1 { grid-template-columns: 1fr 2fr 1fr 1fr; }
  .vm-grid.grid-ratio-t-1-1-2-1 { grid-template-columns: 1fr 1fr 2fr 1fr; }
}

/* =====================================================================
   VM Component Library · Jobcenter Westerwald
   custom_vm_linkliste.css — Optik für das Element „VM Linkliste"
   Version: 1.0.0
   ---------------------------------------------------------------------
   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.

   Ersetzt im Footer die Gruppen aus einzelnen „VM Absatz mit Icon"-
   Elementen (Externe Infos, Standorte, Online-Service). Die alten
   Hilfsklassen first/second/.../last werden nicht mehr gebraucht:
   das Raster verteilt selbst, ein zusätzlicher Link bricht von allein
   in die zweite Reihe um.
   ===================================================================== */

/* --- 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. Im Footer fiel das nie auf,
   weil dort keine `.main-content`-Regeln greifen.

   `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 im Footer 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: Weiß bei 85% über dem grünen Footer ergibt
   effektiv #d9e7df und damit nur 6,07:1 — das reicht für AA (4,5:1), reißt
   aber AAA (7:1), während der Rest der Seite bei 7,76:1 liegt. Die
   Unterscheidung zur Bezeichnung macht die Schriftgröße, nicht die Farbe.
   (Befund aus dem BITV-Bericht vom 09.09.2026, Prüf-ID 154, Kriterium 1.4.6.) */
.vm-linkliste-sublabel {
  font-size: 0.8em;
  line-height: 1.3;
}

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

/* Für Hinweise, die sichtbar bleiben MÜSSEN, aber nicht zum Linkziel
   gehören — z. B. der rechtlich verbindliche Gebührenhinweis an der
   Telefonnummer. Bewusst KEIN Untertitel: Der liegt im <a> und würde vom
   Screenreader als Teil des Linktextes vorgelesen („+49 2602 94910 Es
   fallen die üblichen Gebühren …"). 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 — im
   Inhaltsbereich stünde der Hinweis dann weit unter dem Link. */
/* 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 lagen
   als Leerraum genau zwischen Nummer und Hinweis.

   Hier wird die erzwungene Höhe zurückgenommen, damit der Hinweis direkt
   unter der Nummer steht. Die Klickfläche kommt stattdessen aus einem
   Innenabstand NACH OBEN, den der gleich große negative Außenabstand im
   Layout wieder aufhebt — dieselbe Technik wie bei den rechtlichen Links
   im Fuß. Ergebnis: rund 36px Klickfläche bei 25px Layouthöhe.

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

   Der Abstand zum Eintrag darüber bleibt unverändert: Der stammt aus dem
   Leerraum des VORIGEN Links plus dem Rasterabstand, nicht von hier.

   `: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 z. B. „Alle Links öffnen in einem neuen Fenster." — einmal
   sichtbar für Sehende, statt neunmal als 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 -------------------------------------------
   Bewusste Dublette zu custom_vm_toplink.css: Fällt diese Klasse weg,
   würde „(öffnet in neuem Fenster)" hinter JEDEM Link sichtbar werden.
   Diese Komponente soll nicht davon abhängen, dass der Top-Link im
   Layout bleibt. Gleiche Deklarationen — bei Änderungen beide anfassen.
   -------------------------------------------------------------------- */

.vm-nur-sr {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
}

/* --- Im invertierten Footer ------------------------------------------
   Farben erbt der Link über color: inherit. Der Fokusring kommt aus
   --vm-focus-ring (custom_allgemein.css) und ist auf .-color-inverted
   bereits auf Weiß gestellt — hier ist nichts weiter nötig.
   -------------------------------------------------------------------- */

/* --- Im Inhaltsbereich -----------------------------------------------
   Erster Einsatz außerhalb des Footers: /menschen-in-besonderen-
   lebenssituationen (14.09.2026), dort vorher einzelne „VM Absatz mit
   Icon"-Elemente mit je einem Link.

   Farbe: `color: inherit` ergibt im Footer Weiß, im Inhaltsbereich aber
   die schwarze Textfarbe — die Einträge sahen nicht mehr wie Links aus.
   Hier deshalb JCW-Grün wie jeder andere Link im Inhalt; das Icon erbt
   die Farbe mit.

   Zeilenabstand: Die 44px Mindesthöhe des Links ergeben bei einzeiligen
   Einträgen schon den gewohnten Zeilentakt (vorher 44,4px). Einträge MIT
   Untertitel sind aber höher als 44px und standen ohne Rasterabstand
   direkt untereinander — Untertitel und nächste Bezeichnung wirkten wie
   ein Block. Deshalb 0.75rem Zeilenabstand (29.09.2026, gleicher Wert
   wie im Footer). Gilt auch mobil: die 600px-Regel unten ist schwächer.

   Unten: `.main-content ul` setzt margin-bottom 1.5em, die Liste selbst
   setzt margin 0 — der Folgeinhalt klebte sonst an der Liste. 1.5em ist
   exakt der Abstand, den die alten Absätze hatten.

   Live gemessen bei 1440px und 390px; Footer-Listen unverändert.
   -------------------------------------------------------------------- */

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

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

@media (max-width: 600px) {
  .vm-linkliste {
    --vm-gap: 0.5rem 1rem;
  }
}

/* =====================================================================
   VM Component Library · Jobcenter Westerwald
   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. Alle Werte unten sind live auf /grundsicherungsgeld
   gemessen (14.09.2026, 1440px und 390px) und stammen aus main.css:

     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;
}

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

.vm-iconliste-item {
  position: relative;
  margin: 0;
  padding: 0 0 0 1.875em;
}

.vm-iconliste-item + .vm-iconliste-item {
  margin-top: 0.75em;
}

/* 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 ----------------------- */

/* Schrift, content und inline-block liefert die Theme-Regel
   `*[data-icon]:before` aus main.css. Hier nur Lage und Farbe. */
.vm-iconliste-icon {
  position: absolute;
  top: 0.21429em;
  left: 0;
  line-height: 1;
}

.vm-iconliste-icon::before {
  margin-right: 0;
  color: var(--vm-primary, #006029);
}

/* Auf grünem Grund (Footer) erbt das Icon die helle Schriftfarbe —
   Grün auf Grün wäre unsichtbar. */
.-color-inverted .vm-iconliste-icon::before {
  color: inherit;
}

/* =====================================================================
   VM Buttons – konsolidiert  ·  JCW-Variante
   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 JCW:  Primär = Grün #006029 · Ausnahme = Rot #E2001A
   ===================================================================== */

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

/* 1) GEMEINSAMES BOX-MODEL -------------------------------------------- */
.button,
.headline-box-link,
.highlight-box-link {
  box-sizing: border-box;
  padding: 0.64286em 1.42857em;          /* symmetrisch */
  border: 2px solid var(--vm-black);
  border-radius: 0 !important;

  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;

  background: var(--vm-text);                    /* Standard (schwarz) */
  background-image: none !important;      /* TAO-Verlauf aus */
  box-shadow: none !important;
  text-shadow: none !important;

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

  /* Lange Beschriftungen ohne Leerzeichen (z. B. „www.arbeitsagentur.de/
     bakarriere" auf /karriere) ragten bei 390px 9px über den Rand und
     erzeugten waagerechtes Scrollen (WCAG 1.4.10). Umbrochen wird nur,
     wenn der Platz nicht reicht. */
  max-width: 100%;
  overflow-wrap: anywhere;
}

/* Card-Link: gleiche Maße erzwingen (überschreibt alte 0.75em / 1.15em-Regel) */
.vm-card-link.button {
  padding: 0.64286em 1.42857em;
  font-size: var(--vm-btn-font) !important;
}

/* 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.125em; }

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

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

/* Grün – Primär  (global -secondary  +  Card-Link-Basis)
   Volle border-Kurzform (nicht nur border-color), damit der 2px-Rahmen
   garantiert greift und der Button exakt so groß ist wie die anderen. */
.button.-secondary,
.headline-box-link.-secondary,
.vm-card-link.button {
  background: var(--vm-primary); border: 2px solid var(--vm-primary-dark); color: var(--vm-white);
  padding: 0.64286em 1.42857em;   /* identisch zu .button-Basis, gegen TAO-Übersteuerung gepinnt */
}
.button.-secondary:hover, .button.-secondary:focus-visible,
.headline-box-link.-secondary:hover,
.vm-card-link.button:hover, .vm-card-link.button:focus-visible {
  background: var(--vm-primary-dark); border: 2px solid 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-text); color: var(--vm-text);
}
.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-text); border-color: var(--vm-text); 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-text); color: var(--vm-text);
}
.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-text); border-color: var(--vm-text); color: var(--vm-white);
}

/* Rot – Ausnahmefall  (global .-danger  +  Card-Link -red) */
.button.-danger,
.vm-card-link.button.-red {
  background: var(--vm-danger); border: 2px solid var(--vm-danger-dark); color: var(--vm-white);
}
.button.-danger:hover, .button.-danger:focus-visible,
.vm-card-link.button.-red:hover, .vm-card-link.button.-red:focus-visible {
  background: var(--vm-danger-dark); border-color: var(--vm-danger); color: var(--vm-white);
}

/* Alias: .dark = Standard (schwarze Variante) */
.button.dark { background:var(--vm-text); border:2px solid var(--vm-black); color:var(--vm-white); }
.button.dark:hover, .button.dark:focus-visible { background:var(--vm-black); border-color:var(--vm-text); color:var(--vm-white); }

/* 3) KLEINER BUTTON --------------------------------------------------- */
.button.-small,
.vm-card-link.button.-small {
  padding: 0.4em 0.95em;
  font-size: calc(var(--vm-btn-font) * 0.82) !important;
  border-radius: 0 !important;
}

/* --- Schwarz für Card-Links (Iconbox/Teaser) -------------------------
   Card-Link-Basis ist Grün; höhere Spezifität für Schwarz. */
.vm-card-link.button.dark {
  background: var(--vm-text); border-color: var(--vm-black); color: var(--vm-white);
}
.vm-card-link.button.dark:hover,
.vm-card-link.button.dark:focus-visible {
  background: var(--vm-black); border-color: var(--vm-text); color: var(--vm-white);
}

/* --- Textlink (VM Button, Variante „Textlink") ----------------------
   Kein Kasten – reiner Link im JCW-Grün, 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-dark);
  text-decoration: underline;
  text-underline-offset: 0.28em;
}
.vm-textlink::before { margin: 0; top: 0; }


/* =====================================================================
   4) JCW – PROJEKTSPEZIFISCH (aus Alt-CSS übernommen)
   Modul-Buttons (News/Events/Presse), Zurück-/Mehr-Links und der
   schwebende Festnetz-Button.
   Bewusst OHNE die bare-.button-Selektoren aus dem Alt-CSS, damit die
   VM-Buttongröße (--vm-btn-font) oben nicht überschrieben wird.
   Tote Alt-Komponenten (p.icon-boxes-item-link, .teaser-boxes-item)
   wurden entfernt – dafür ist jetzt das VM-System zuständig.
   ===================================================================== */

/* --- Modul-Buttons: Reset (nur Modul-Selektoren, NICHT .button global) --- */
.news-image-teaser-more .button,
.mod_eventreader p.back .button,
.mod_newsreader p.back .button,
.presse.more {
  box-shadow: none;
  text-shadow: none;
  text-transform: none;
  letter-spacing: 0.075em;
  font-size: 1em !important;
}

/* --- „Mehr"-/Presse-Links: heller Outline-Button, klein, kleingeschrieben --- */
.presse.more,
.layout_short p.more a {
  text-transform: lowercase !important;
}

.presse.more a,
.layout_short p.more a {
  background: var(--vm-white);
  border: 2px solid var(--vm-text);
  border-radius: 0;
  position: relative;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  display: inline-block;
  padding: 0.64286em 1.42857em;
  outline: none;
  font-size: 0.875em;
  line-height: 1.42929;
  text-align: center;
  text-decoration: none;
  color: var(--vm-text);
}

.presse.more a:hover,
.layout_short p.more a:hover {
  background: var(--vm-grey-300);
}

.presse.button.-quaternary a {
  color: var(--vm-text);
}

/* --- Zurück-Buttons in News-/Event-Readern (weiß + Pfeil-Icon) --- */
.news-image-teaser-more .button.-quaternary,
.mod_eventreader p.back a.button.-tertiary,
.mod_newsreader p.back a.button.-tertiary,
.presse.button.-quaternary {
  background: var(--vm-white);
}

.mod_eventreader p.back a.button.-tertiary:hover,
.mod_newsreader p.back a.button.-tertiary:hover {
  background: var(--vm-grey-300);
}

.mod_eventreader p.back a.button.-tertiary::before,
.mod_newsreader p.back a.button.-tertiary::before {
  content: "\e944";
  font: 1em/1 "RockSolid Icons";
  top: 0;
}

.mod_eventreader a.button.-single::before,
.mod_newsreader a.button.-single.back::before {
  content: "\e943";
}

.news-image-teaser-more .button.-quaternary::before,
.presse.more a::before,
.layout_short p.more a::before {
  font: 100%/1 "RockSolid Icons";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: geometricPrecision;
  text-indent: 0;
  display: inline-block;
  position: relative;
  margin-right: 0.5em;
  content: "\e944";
}

/* --- Roter Button-Alias (nutzt die JCW-Rot-Palette #E2001A statt #e30313) --- */
.button.red-button {
  background: var(--vm-danger) !important;
  color: var(--vm-white) !important;
  border-color: var(--vm-danger) !important;
}
.button.red-button:hover {
  background: var(--vm-text) !important;
  border-color: var(--vm-text) !important;
}

/* --- Schwebender Festnetz-/Anruf-Button (fix unten rechts) --- */
a.button.buttonfestnetz {
  position: fixed;
  right: 0.5rem;
  bottom: 3.5rem;
  z-index: 3;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  text-align: left !important;
}

a.buttonfestnetz {
  width: 55px !important;
  line-height: 55px !important;
  border-radius: 0 !important;
  margin-bottom: 10px !important;
  display: block !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  text-decoration: none !important;
  background: var(--vm-festnetz) !important;
  padding: 0 !important;
  color: var(--vm-white) !important;
  text-shadow: none !important;
  border: 2px solid var(--vm-white) !important;
  box-shadow: none !important;          /* Alt-CSS: box-shadow:0 -> ungültig, korrigiert */
  font-size: 1em !important;
}

a.buttonfestnetz:hover {
  width: 270px !important;
  color: var(--vm-white) !important;
}

a.buttonfestnetz::before {
  margin-right: 0.75em;
  margin-left: 0.65em;
  font-size: 1.15em;
  color: var(--vm-white) !important;
  top: 0.0875em;
}

/* --- Responsive (max-width: 900px) --------------------------------- */
@media (max-width: 900px) {
  .news-image-teaser-more .button.-quaternary,
  .mod_eventreader p.back a.button.-tertiary,
  .mod_newsreader p.back a.button.-tertiary,
  .presse.button.-quaternary,
  .presse.more a,
  .layout_short p.more a {
    font-size: 1em !important;
  }

  a.buttonfestnetz {
    width: 48px !important;
    line-height: 47px !important;
    bottom: 54px !important;
    right: 10px !important;
  }

  a.buttonfestnetz:hover {
    width: 48px !important;
  }
}

/* ==========================================================
   VM Component Library  ·  JCW-Variante
   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 = Grün #006029).
   ========================================================== */

/* 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); }


/* --- 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;
  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);
}


/* ==========================================================
   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; }
}

/* =====================================================================
   JCW – Navigation + Kopfzeile (KONSOLIDIERT)  ·  Jobcenter Westerwald
   ---------------------------------------------------------------------
   Diese Datei ist fürs NEUE Seitenlayout die einzige „custom"-Nav/Header-
   Datei: Sie übernimmt alle noch benötigten Regeln aus custom_navigation.css
   (die aus dem neuen Layout entfernt wird) UND themt die barrierefreie
   Accessible-Nav-Komponente (/bundles/contaocore/navigation.*).

   NICHT übernommen (tot, durch die Komponente ersetzt): sämtliche
   .main-navigation* und .main-navigation-mobile*-Regeln.

   Nach der Komponenten-CSS laden. Burger auf ALLEN Breakpoints (zu viele
   Menüpunkte für eine horizontale Leiste).
   ===================================================================== */

/* =====================================================================
   1) Allgemein · Breadcrumb · Sidebar · Sub-Navigation · Tagline · Suche
      (1:1 aus custom_navigation.css übernommen)
   ===================================================================== */

.tagline .centered-wrapper { background: #fff; }
.tagline .mod_breadcrumb { float: none; clear: both; }
.mod_breadcrumb li.active { color: #006029; }
.mod_breadcrumb li.active::before { color: #1d1d1b !important; }

.sidebar { background: transparent; padding: 0; }
.terminseite .sidebar .mod_calendar { margin: 1.5em 0 2em; }

.sub-navigation ul a.active,
.sub-navigation ul strong.active,
.sub-navigation ul span.active,
.sub-navigation ul li a.trail { color: #006029; font-weight: bold; border-radius: 0; background-color: #fff; }
.sub-navigation p.navheadline a { color: #444; font-weight: 300; }
.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; background-color: #fff; }

input[type="search"]::placeholder { color: #1d1d1b; }

.menu-quicklinks .content-image a { background: #fff; border: none; }
.menu-quicklinks .content-image { background: #fff; border-bottom: 1px solid #ccc; }

/* =====================================================================
   2) Fixierte Kopfzeile (aus custom_navigation.css übernommen)
      Header-Bar + Header-Navigation liegen FIXIERT oben; .page hält Platz.
      Logo: Desktop LINKSBÜNDIG (rechts neben dem Burger platziert, damit es
      nicht mit dem „MENÜ"-Burger kollidiert), mobil (<=900) ZENTRIERT.
   ===================================================================== */
.page { padding-top: 77px !important; }

.header-bar {
  height: 45px !important;
  position: fixed !important;
  display: block !important;
  width: 100% !important;
  z-index: 5 !important;
  top: 0 !important;
}
.header-links.-right { margin-right: 3.7037%; }

/* --- Zielgröße der Kopfzeilen-Links (WCAG 2.5.5, 44x44 px) -----------
   DGS / Leichte Sprache / Suche waren nur 24 px hoch. Das vertikale
   Polster wandert vom <ul> (Theme: padding: 0.61538em 0) und vom <li>
   (Theme: padding-bottom: 0.4375em) auf die <a> — dadurch wächst die
   Klickfläche auf 44 px, die Leiste bleibt aber ihre 45 px hoch und die
   Links stehen unverändert an derselben Stelle.
   Nur .header-bar: im Mobil-Overlay (<=900px) liegen dieselben Links als
   Flex-Liste in .navigation-main und werden dort separat gestylt. */
.header-bar .header-links { padding: 0; }
.header-bar .header-links li { padding-bottom: 0; }
.header-bar .header-links a {
  padding: 10px 0.4em;
  line-height: 24px;
  vertical-align: middle;
}

.header-navigation {
  position: fixed !important;
  box-shadow: none !important;
  top: 45px !important;
  width: 100% !important;
}
.header-navigation-inner { height: 78px !important; padding-right: 3.3%; }
/* Theme-Hover-Zoom auf Kopf-Bildern aus */
.header-navigation-inner img:hover,
.menu-quicklinks .content-image a:hover img { transform: none !important; filter: none !important; }

/* =====================================================================
   Kopfzeilen-Logo (.jc-logo) — löst .logo ab
   ---------------------------------------------------------------------
   WARUM EIGENE KLASSE
   An `.logo` hängen 7 Regeln aus der Theme-Datei main.css (position,
   float, `display: inline` unter 1280px, `height: 100%` am Bild). Die
   schreibt der Theme Assistant bei jedem Speichern neu. Dagegen
   anzuarbeiten hieß: eigene Größenstufen bei 1300/900/500/450px — und
   es blieben trotzdem Lücken (bei 470px und unter 380px stieß das Logo
   an den Burger). rsce_tao_logo_website.html5 entfernt deshalb das Token
   "logo" und setzt "jc-logo".

   WARUM DAS DIE ÜBERDECKUNG LÖST
   Logo und .header-quicklinks sind Geschwister in
   .header-navigation-inner, und .header-navigation ist ohnehin schon
   `position: fixed`. Das Logo war also ein ZWEITES Mal fixiert und damit
   aus dem Fluss — es konnte den Quicklinks gar nicht ausweichen. Als
   Flex-Zeile ist eine Überdeckung konstruktiv ausgeschlossen. Keine
   Größenstufen mehr: Das Logo schrumpft von selbst, gemessen von 344px
   (bei 1600px Breite) bis 163px (bei 320px), immer mit mindestens 16px
   Abstand zum Burger.

   Die frühere `:has(.jc-logo)`-Schleuse ist entfernt — sie diente nur
   dazu, diese Datei vor dem Template ausrollen zu können.
   ===================================================================== */

.header-navigation-inner {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  padding-left: 180px;          /* Platz für den viewport-fixierten Burger */
}

.header-navigation-inner .header-quicklinks {
  float: none;
  margin-left: auto;
  flex: 0 0 auto;               /* NIE schrumpfen, sonst fällt der zweite Button raus */
}

.jc-logo {
  flex: 0 1 auto;               /* das Logo gibt nach, nicht die Buttons */
  min-width: 0;
  margin: 0;
  padding: 0;
}

.jc-logo a {
  display: flex;
  align-items: center;          /* senkrecht mittig in der Kopfleiste */
  max-width: 100%;
}

.jc-logo img {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 55px;             /* Naturhöhe der SVG */
}

@media (max-width: 900px) {
  /* Kein Innenabstand am Container: .header-quicklinks ist hier
     `position: fixed` OHNE left-Angabe und würde von seiner statischen
     Position mitgeschoben — die grüne Leiste rutschte nach rechts und
     wurde abgeschnitten. Der Platz für den Burger kommt deshalb ans
     Logo selbst. */
  .header-navigation-inner {
    padding-left: 0;
    padding-right: 0;
  }

  .jc-logo {
    flex: 1 1 auto;
    display: flex;
    justify-content: center;    /* mittig zwischen Burger und rechtem Rand */
    padding-left: 140px;
    padding-right: 1rem;
  }

  .jc-logo img { max-height: 48px; }
}


/* =====================================================================
   3) Accessible-Nav Theming (Variablen der Komponente auf JCW)
   ===================================================================== */
:root,
body {
  --nav-breakpoint: 99999;                    /* Burger IMMER (auch Desktop) */

  --nav-burger-line-color: #1d1d1b;
  --nav-color: #1d1d1b;
  --nav-active-color: #006029;

  --nav-mobile-background: #ffffff;           /* helles Overlay */
  --nav-mobile-color: #1d1d1b;
  --nav-mobile-active-color: #006029;
  --nav-mobile-active-background: #f0f6ed;
  --nav-mobile-separator-color: #e8e8e8;
  --nav-submenu-background: #ffffff;

  /* Untermenü-Pfeil (Komponente nutzt var(--nav-mobile-icon)) – grüner Chevron */
  --nav-mobile-icon: url("data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' width='28' height='28' fill='none' stroke='%23006029' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'><path d='m9 18 6-6-6-6'/></svg>");

  --skip-background: #006029;
  --skip-focus-border-color: #006029;
}

/* --- Burger „MENÜ" (Sporthotel-Look), fest oben-links ----------------- */
.nav-burger {
  position: fixed !important;
  top: 41px;                                  /* in der Header-Navigation-Zeile (45–123px) */
  left: 40px;
  z-index: 1001;
  gap: 0.55em;
  padding: 0.5em 0.9em !important;
  min-height: 48px;
  border: 1px solid var(--vm-border, #d5d5d5) !important;
  background: #ffffff !important;
  background-image: none !important;
  box-shadow: none !important;
  text-shadow: none !important;
  transition: border-color 0.2s ease, color 0.2s ease;
}
.nav-burger:hover,
.nav-burger:focus-visible { border-color: #006029 !important; }
.nav-burger:focus-visible { outline: 3px solid #006029; outline-offset: 2px; }
/* dünnes, exakt ausgerichtetes Masken-Icon (Hamburger <-> X) statt der
   dicken/versetzten Komponenten-Striche */
.nav-burger .icon-line { display: none !important; }
.nav-burger__inner {
  width: 1.5rem !important;
  height: 1.5rem !important;
  flex: 0 0 auto;
  background-color: var(--vm-text, #1d1d1b);
  -webkit-mask: var(--jc-burger) center / contain no-repeat;
          mask: var(--jc-burger) center / contain no-repeat;
  --jc-burger: 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' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6h16M4 12h16M4 18h16'/%3E%3C/svg%3E");
}
.nav-burger.is-active .nav-burger__inner {
  --jc-burger: 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' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 6 6 18M6 6l12 12'/%3E%3C/svg%3E");
}
.nav-burger:hover .nav-burger__inner,
.nav-burger:focus-visible .nav-burger__inner { background-color: #006029; }
.nav-burger::after {
  content: "Menü";
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  line-height: 1;
  color: var(--vm-text, #1d1d1b);
}
.nav-burger:hover::after,
.nav-burger:focus-visible::after { color: #006029; }

/* --- Overlay ---------------------------------------------------------- */
/* Hülle hochziehen (Burger+Overlay Geschwister -> Burger bleibt klickbar) */
body.nav-is-mobile .nav-wrapper { position: relative; z-index: 1000; }
/* Oben genug Platz, damit die Punkte nicht unter dem fixen Burger beginnen */
body.nav-is-mobile .navigation-main { --nav-mobile-padding: 120px clamp(1rem, 4vw, 2rem) 40px; }
/* Logo im offenen Overlay ausblenden (schwebte störend mittendrin) */
body.navigation-open .page-header .jc-logo { display: none; }
/* Inhalt LINKSBÜNDIG + kompakt (fit-content) -> Pfeile nah am Text,
   nicht zentriert und nicht über die volle Breite. */
body.nav-is-mobile .navigation-main .level_1 {
  width: 450px;
  max-width: 100%;
  margin-inline: 0;
}
/* Sichtbarer Fokus im Overlay */
.navigation-main a:focus-visible,
.navigation-main strong:focus-visible,
.navigation-main button:focus-visible { outline: 3px solid #006029; outline-offset: 2px; }

@media (max-width: 1000px) {
    .header-quicklinks .jc-app, .header-quicklinks .jc-digital { margin-left: 0.75em !important; }
}

/* =====================================================================
   4) Mobil (<=900): Header-Bar raus, Header-Links unten ins Overlay
      (verschiebt vm_nav.js), Burger enger an den Rand
   ===================================================================== */
@media (max-width: 900px) {
  
  #Tagline { top: 139px !important; }
  .tao-sidebar .content-wrapper { padding-top: 120px !important; }
  
  .header-bar { display: none !important; }
  .header-navigation { top: 0 !important; }
  .header-quicklinks { top: 79px !important; }

  .nav-burger { top: 0; left: 1rem; }

  .navigation-main .header-links {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem 1.25rem;
    margin: 0.5rem 0 0;
    padding: 0.75rem 10px 0;
    list-style: none;
    border-top: 1px solid var(--nav-mobile-separator-color, #e8e8e8);
  }
  .navigation-main .header-links li { padding: 0 !important; border: 0 !important; }
  body.nav-is-mobile .navigation-main a {
    display: inline-flex;
    align-items: center;
    gap: 0.4em;
    width: auto !important;
    min-height: 40px;
    padding: 4px 6px !important;              /* dunkelgrün */
    font-weight: 400;
  }
  /* Zielgröße 44x44 px (WCAG 2.5.5) auch im Overlay – auf dem Desktop
     stehen dieselben drei Links in der .header-bar und sind dort 44 px.
     Gilt nur für die Header-Links; die Hauptnavigations-Punkte darüber
     bleiben bei 40 px (bewusste Design-Entscheidung, nicht AA-relevant). */
  body.nav-is-mobile .navigation-main .header-links a {
    min-height: 44px;
    padding: 6px 6px !important;
  }

  #mainnav .mod_navigation.jc-mainnav.nav-wrapper nav.navigation-main ul.header-links.-right li a span { color: #004d21 !important; }
  
  body.nav-is-mobile .navigation-main ul.header-links {
    padding-top: 1.5em;
    margin-top: 1em;
  }
  .navigation-main .header-links a span { color: inherit !important; }
  .navigation-main .header-links a:hover span,
  .navigation-main .header-links a:focus-visible span { color: #006029 !important; }

  
  .header-quicklinks .jc-app figure a img { border-left: none !important; }
  .header-quicklinks .jc-app { margin-right: 0 !important; margin-left: 0 !important; width: 50% !important; }
  .header-quicklinks .jc-digital { margin-left: 0 !important; margin-right: 0 !important; width: 50% !important; }
  
  .tao-fullwidth .content-wrapper {
    padding-top: 60px !important;
  }

}

@media screen and (max-width: 600px) {
  .header-quicklinks {
    height: 50px !important;
  }
  #Tagline {
    top: 129px !important;
  }
  .header-quicklinks .jc-app figure a img,
  .header-quicklinks .jc-digital figure a img {
    height: 48px !important;
  }
}

@media (max-width: 450px) {
  .header-navigation { top: 0 !important; }
}
/* =====================================================================
   VM Quicknav – JCW (Jobcenter)
   Fixierte Schnellnavigation am unteren Bildschirmrand (Contao
   Individuelle Navigation mit CSS-Klasse „quicknav"). Nach dem
   TAO-Framework-CSS laden.

   Von donum vitae übernommen, aber:
   - OHNE border-radius (JCW hat keine Rundungen; --vm-radius = 0).
   - BARRIEREFREI: sichtbarer Tastatur-Fokus (outline) auf Desktop UND
     Mobil – der Fokus wird NICHT unterdrückt (Pflicht für ein Jobcenter).

   Farben kommen komplett aus den --vm-*-Tokens (custom_vm_icon_boxes.css)
   -> automatisch JCW-Grün (#006029) / Fläche (#f0f6ed) usw.
   Desktop: Schrift fließend, min. 16px. Mobil: Icon über Label gestapelt,
   alle Punkte in einer Reihe.
   ===================================================================== */

/* 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;
}

/* 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: 0;                  /* JCW: keine Rundung */

  /* frei schwebend -> kräftigerer Schatten */
  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: 0;                  /* JCW: keine Rundung */

  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);
}

/* Barrierefreiheit: deutlich sichtbarer Tastatur-Fokus. outline-offset
   legt den Rahmen auf die weiße Leiste -> auch bei grüner Hover-Fläche
   klar erkennbar. :focus-visible = nur Tastatur, nicht bei Maus-Klick. */
.quicknav ul li a:focus-visible,
.quicknav ul li strong:focus-visible {
  outline: 3px solid var(--vm-primary);
  outline-offset: 2px;
}

/* aktiver Menüpunkt – dezente grüne 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: 0;                  /* JCW: keine Rundung */
  background: var(--vm-surface);
  color: var(--vm-primary);
}

/* Icons (Icon-Font-Glyphe / <i> / <svg> / <img>) sauber ausrichten */
.quicknav ul li a i,
.quicknav ul li a svg,
.quicknav ul li a img,
.quicknav ul li a::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);
  }

  .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: 0;               /* JCW: keine Rundung */
    /* schrumpft, damit auch längere Labels in die Reihe passen */
    font-size: clamp(0.6875rem, 2.9vw, 0.8125rem);
    font-weight: 400;
    width: 100%;
  }

  /* WICHTIG (a11y): Fokus bleibt AUCH mobil sichtbar. Hover-Farbe hier
     zurücknehmen (kein „hängender" Hover auf Touch), aber der
     :focus-visible-Outline von oben greift weiterhin. */
  .quicknav ul li a:hover {
    background: inherit;
    color: inherit;
  }

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

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

/* =====================================================================
   6) Reserve am Seitenende: Die fixe Quicknav liegt ÜBER dem Dokument –
   ohne Reserve klemmen Footer-Links & Copyright darunter. Platz am
   äußersten Element (.page-footer) + Sprungmarken hinter die Leiste
   korrigieren (Wissens-DB [32]).
   ===================================================================== */
:root { --vm-quicknav-space: calc(4.5rem + env(safe-area-inset-bottom)); }
html { scroll-padding-bottom: var(--vm-quicknav-space); }
.page-footer { padding-bottom: var(--vm-quicknav-space) !important; }

/* =====================================================================
   VM Component Library  ·  Jobcenter Westerwald  (von Sporthotel übernommen)
   VM TOP-LINK („nach oben")
   ---------------------------------------------------------------------
   Theme : RockSolid TAO
   Markup: rsce_vm_toplink.html5 · Sprungziel: <body id="top"> (Theme).
   Ersetzt das TAO-Element „Footer-Top-Link" (aus dem Layout nehmen!).
   Tokens (--vm-*) aus custom_vm_icon_boxes.css, Quicknav-Reserve
   (--vm-quicknav-space) aus custom_quicknav.css.

   Eigenes Element statt eines überschriebenen TAO-Templates: Was in
   templates/tao/ liegt, gehört dem Theme und wird bei einem Update
   ersetzt.

   QUADRATISCH — wie alles andere im Projekt.
   Eine frühere Fassung war rund, mit dem Argument, ein schwebender
   Knopf solle sich von Inhaltsflächen abheben. Entscheidung vom
   27.08.2026: Er bleibt eckig.

   Das trägt auch: Dass der Knopf Bedienung ist und kein Inhalt, sagen
   hier die fixierte Position, der Schatten und die deutliche Kante —
   dafür braucht es keine abweichende Form. Und eine einzelne Rundung in
   einem durchgehend kantigen Layout liest sich ohnehin eher als
   Versehen denn als Absicht.

   Der Radius kommt aus --vm-radius. Stellt jemand die Tokens später auf
   weiche Ecken um, geht dieser Knopf mit, statt als Sonderfall
   stehenzubleiben.
   ===================================================================== */

.vm-toplink {
  position: fixed;
  right: clamp(0.75rem, 2vw, 1.25rem);

  /* ÜBER dem Quicknav. Dieselbe Variable, mit der auch die Fußzeile
     ihren Platz reserviert (custom_quicknav.css). Rückfallwert 0px: ohne
     Quicknav sitzt der Knopf am unteren Rand. */
  bottom: calc(var(--vm-quicknav-space, 0px) + clamp(0.5rem, 2vw, 1rem));

  z-index: 55;                      /* unter dem Quicknav (100) */

  display: grid;
  place-items: center;
  width: 3rem;
  height: 3rem;                     /* 48 px — deutlich über den 24, die
                                       WCAG 2.2 SC 2.5.8 verlangt */
  margin: 0;

  color: var(--vm-text, #1d1d1b);
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid var(--vm-border-field, #767676);
  border-radius: var(--vm-radius, 0);
  box-shadow: 0 6px 20px rgba(80, 40, 36, 0.16);

  text-decoration: none !important;
  transition: color .18s ease, border-color .18s ease, background-color .18s ease;
}

/* Der Rahmen nutzt --vm-border-field (4,54:1), nicht den dekorativen Ton.
   Ein schwebender Knopf hat keine Fläche, an der man ihn erkennt — seine
   Kante IST die Bedien-Information, und WCAG 1.4.11 verlangt dafür 3:1.

   Die Füllung liegt bei 92 % statt der sonst üblichen 75 %: Der Knopf
   schwebt über beliebigem Inhalt, auch über Fotos. Bei 75 % schlägt das
   Motiv durch und der Kontrast des Pfeils wird unberechenbar. */

.vm-toplink:hover,
.vm-toplink:focus-visible {
  color: var(--vm-primary, #006029);
  border-color: var(--vm-primary, #006029);
  background: #ffffff;
}

/* --- Der Pfeil -------------------------------------------------------
   BEWUSST OHNE festen Codepoint.
   Naheliegend wäre `content: "\e941"` — genau das steht in der alten
   TAO-Fassung. Aber Codepoints gelten nur für einen bestimmten
   Zeichensatz-Build: Wird die rocksolid-icons.svg je neu erzeugt,
   verschieben sie sich, und aus dem Pfeil wird irgendein anderes Symbol.

   Stattdessen trägt das Markup die Klasse `icon-arrow-1-top`. Welches
   Zeichen dahintersteckt, weiß icons.css — und die entsteht gemeinsam
   mit dem Zeichensatz, kann also gar nicht auseinanderlaufen.

   Die Schriftfamilie setzt TAOs main.css über `*[class^="icon-"]:before`
   bereits; hier bleiben nur Größe und Abstand.
   --------------------------------------------------------------------- */
.vm-toplink-pfeil {
  display: block;
  font-size: 1.15rem;
  line-height: 1;
}
.vm-toplink-pfeil::before {
  margin: 0 !important;             /* TAOs Inline-Abstand abräumen */
}

/* --- Nur für Screenreader (Label sichtbar aus dem Bild geschoben) ----- */
.vm-nur-sr {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
}

/* --- Bewegung und Druck ---------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
  .vm-toplink { transition: none; }
}

@media print {
  .vm-toplink { display: none; }
}

