:root {
  --headline-color: #e0001a;
  --white: #fff;
  --primary: #fff;
  --secondary: #666;
  --black: #333;
}

* {
  margin: 0;
  padding: 0;
  border: 0;
  vertical-align: baseline;
  box-sizing: border-box;
}

html {
  font-size: 62.5%;
  /* Corrects text resizing oddly in IE6/7 when body font-size is set using em units http://clagnut.com/blog/348/#c790 */
  overflow-y: scroll;
  /* Keeps page centred in all browsers regardless of content height */
  -webkit-text-size-adjust: 100%;
  /* Prevents iOS text size adjust after orientation change, without disabling user zoom */
  -ms-text-size-adjust: 100%;
  /* www.456bereastreet.com/archive/201012/controlling_text_size_in_safari_for_ios_without_disabling_user_zoom/ */
}

/* HTML5 display-role reset for older browsers */

article, aside, details, figcaption, figure, footer, header, #hgroup, nav, section {
  display: block;
}

table {
  /* tables still need 'cellspacing="0"' in the markup */
  border-collapse: separate;
  border-spacing: 0;
}

caption, th, td {
  font-weight: normal;
  text-align: left;
}

blockquote:before, blockquote:after, q:before, q:after {
  content: '';
}

blockquote, q {
  quotes: '' '';
}

a:focus {
  outline: thin dotted;
}

a:hover, a:active {
  /* Improves readability when focused and also mouse hovered in all browsers people.opera.com/patrickl/experiments/keyboard/test */
  outline: 0;
}

input[type='search'] {
  -moz-appearance: none;
  -webkit-appearance: none;
}

input[type='search']::-webkit-search-decoration, input[type='search']::-webkit-search-cancel-button, input[type='search']::-webkit-search-results-button, input[type='search']::-webkit-search-results-decoration {
  display: none;
}

/* input type=number: hide controls */

input::-webkit-outer-spin-button, input::-webkit-inner-spin-button {
  /* display: none; <- Crashes Chrome on hover */
  -webkit-appearance: none;
  margin: 0;
  /* <-- Apparently some margin are still there even though it's hidden */
}

/* ------------------------------------
 *  BASICS
 * ------------------------------------  
 */

html {
  overflow-y: auto;
}

body {
  -webkit-font-smoothing: antialiased;
  /* Antialiased font for great smoothing */
  -moz-font-smoothing: antialiased;
  -o-font-smoothing: antialiased;
  font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  /* Optimise legibility for some CSS3 kerning */
  -webkit-text-size-adjust: 100%;
}

/* ------------------------------------
 *  FLOATS CLEARER
 * ------------------------------------  
 */

.clearfix {
  clear: both;
  display: block;
  font: 0.1rem/0rem serif;
  content: '.';
  height: 0;
  visibility: hidden;
}

/* ------------------------------------
 *  CONTENTS
 * ------------------------------------  
 */

#row_content {
  background-color: #fff;
  min-height: 46rem;
  padding-bottom: 7rem;
  border-right: 0.2rem solid var(--primary);
}

/* ------------------------------------
 *  IMAGES
 * ------------------------------------  
 */

a img {
  border: 0 none;
}

img {
  display: block;
}

.ck_image {
  padding: 1.5rem 0.5rem 1.5rem 0;
  display: inline-block;
  max-width: 100%;
  height: auto !important;
}

.center {
  padding: 1.5rem auto;
  display: block;
  margin: 0 auto;
}

.float_right {
  padding: 0 0 1.5rem 1.5rem;
  float: right;
}

.float_left {
  padding: 0 1.5rem 1.5rem 0;
  float: left;
}

/* tables */

.noborder tr td {
  border: 0 none !important;
}

.nopadding {
  padding: 0 !important;
}

table tr td {
  border: 0.1rem solid var(--primary);
  padding: 0.2rem 1rem;
}

table tr th {
  border: 0.1rem solid var(--primary);
  background: var(--primary);
  padding: 0.2rem 1rem;
  font-weight: bold;
}

/* ------------------------------------
 *  ALIGNMENT / POSITIONING / DISPLAY
 * ------------------------------------  
 */

.leftfloat {
  float: left;
}

.rightfloat {
  float: right;
}

.leftalign {
  text-align: left;
}

.rightalign {
  text-align: right;
}

.centeralign {
  text-align: center;
}

.relpos {
  position: relative;
}

.abspos {
  position: absolute;
}

.nodisplay {
  display: none;
}

.nooverflow {
  overflow: hidden;
}

/* ------------------------------------
 *  FONT STYLES
 * ------------------------------------  
 */

i, em {
  font-style: italic;
}

.upcased {
  text-transform: uppercase;
}

.smallfont {
  font-size: 1rem;
  line-height: normal;
}

.crsr_pnt {
  cursor: pointer;
}

/* ------------------------------------
 *  HORIZONTAL LINES
 * ------------------------------------  
 */

hr {
  display: block;
  height: 0.1rem;
  border: 0;
  border-top: 0.1rem solid var(--primary);
  margin: 1em 0;
  padding: 0;
}

/* ------------------------------------
 *  Linklist
 * ------------------------------------  
 */

.linkblock {
  margin: 1rem 0rem 0rem 0rem;
}

/* linklist */

/* ------------------------------------
 *  PDFs
 * ------------------------------------  
 */

.content_block_pdf {
  margin: 1rem 0rem 0rem 0rem;
}

.pdfdesc {
  font-size: 1.1rem;
  padding-bottom: 1em;
  line-height: normal;
}

a.app_pdf {
  line-height: 2.4rem;
}

/* ------------------------------------
 *  Display
 * ------------------------------------  
 */

.only_mobile {
  display: none;
}

/* ------------------------------------
 *  BASIC
 * ------------------------------------  
 */

body {
  font-size: 1.4rem;
  line-height: 2rem;
  text-align: center;
  /* For IE6 can't handle auto-margin alignment */
}

/* ------------------------------------
 *  HEADLINES
 * ------------------------------------  
 */

h1, h2, h3, h4 {
  padding: 0 0 1rem 0;
  line-height: normal;
}

h1 {
  font-size: 2.4rem;
  padding: 0 0 2rem 0;
}

h2 {
  font-size: 2rem;
  padding: 0 0 1rem 0;
}

h3 {
  font-size: 1.8rem;
  padding: 0 0 0.4rem 0;
}

h4 {
  font-size: 1.6rem;
  padding: 0 0 0.2rem 0;
}

/* ------------------------------------
 *  LINKS
 * ------------------------------------  
 */

a {
  color: var(--headline-color);
  text-decoration: underline;
  -moz-transition: 0.2s linear;
  -webkit-transition: 0.2s linear;
  -o-transition: 0.2s linear;
  transition: 0.2s linear;
}

a:hover {
  color: var(--headline-color);
  text-decoration: none;
}

/* ------------------------------------
 *  LAYOUT CONTAINER
 * ------------------------------------  
 */

.site-wrapper {
  max-width: 98rem;
  width: 100%;
  min-height: 100vh;
  margin: 0 auto;
  text-align: left;
  background-color: var(--primary);
  -moz-box-shadow: 0 0 0.5rem #666;
  -webkit-box-shadow: 0 0 0.5rem #666;
  box-shadow: 0 0 0.5rem #666;
}

/* - META NAVIGATION PANEL [search, meta navigation] - */

.meta_panel {
  width: 100%;
  background: #666;
  height: 2.8rem;
  overflow: hidden;
}

/* ------------------------------------
 *  HEADER CONTAINER
 * ------------------------------------  
 */

.swiper-slide {
  height: 35rem !important;
  background-position: 0% 50%;
  background-size: cover;
  background-repeat: no-repeat;
}

.header-wrapper {
  width: 100%;
  background-color: #fff;
}

.swiper-button-prev, .swiper-container-rtl .swiper-button-next {
  background-image: url('../images/slider-arrow-left.svg') !important;
}

.swiper-button-next, .swiper-container-rtl .swiper-button-prev {
  background-image: url('../images/slider-arrow-right.svg') !important;
}

.logo img {
  margin-left: 3rem;
}

/* header images */

#headerimage-wrapper {
  height: 12.4rem;
  background: #666;
}

#headerimage-wrapper img {
  float: right;
  padding-right: 2.2rem;
  margin-top: 2.2rem;
}

.mobile_langbox {
  width: 9rem;
  text-align: center;
  float: right;
  margin: 1.5rem 12% 0 0;
}

/* ------------------------------------
 *  CONTENT CONTAINER
 * ------------------------------------  
 */

.content-wrapper {
  width: 100%;
  text-align: left;
  float: left;
}

#content {
  margin: 1.5rem 0 7rem 0;
  text-align: left;
  width: 100%;
  float: left;
}

#content p {
  margin: 0rem;
  padding: 0rem 0rem 1.5rem 0rem;
}

#content ul {
  margin: 1rem 0rem 0rem 2rem;
  padding: 1rem 0rem 0rem 1rem;
  list-style-type: square;
}

#content ul li {
  margin: 0rem 0rem 1rem 0rem;
  padding: 0 0 0.5rem 0;
}

.content_block {
  width: 100%;
  padding: 0 0 3rem 0;
}

/* ------------------------------------
 *  CONTENT IMAGES / GALLERY
 * ------------------------------------  
 */

.gallery_block {
  padding-right: 1rem;
  margin-bottom: 1rem;
}

.rightfloat {
  margin-left: 2rem;
}

.leftfloat {
  margin-right: 2rem;
}

.gallery.leftfloat {
  margin: 0rem;
}

.contentimage {
  margin-bottom: 1rem;
}

.contentimage img {
  border: 0.1rem solid #666;
}

.contentimage:hover img {
  border: 0.1rem solid #333;
}

.contentimage a, .gallery a {
  position: relative;
  display: block;
}

.contentimage a:hover, .gallery a:hover {
  position: relative;
  display: block;
  opacity: 0.7;
  background: none;
}

.gallery a, .gallery span {
  width: 100%;
  height: 15rem;
  overflow: hidden;
  background-color: #333;
  background-repeat: no-repeat;
  background-position: center center;
  border: 0.1rem solid #666;
}

.gallery a:hover {
  background-color: #333;
  background-repeat: no-repeat;
  background-position: center center;
  border: 0.1rem solid #333;
}

.contentimage a .zoomicon, .gallery a .zoomicon {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
  background: url(../admin/images/zoom_icon48.png) no-repeat center 150%;
  visibility: hidden;
}

.contentimage a:hover .zoomicon, .gallery a:hover .zoomicon {
  visibility: visible;
  background: url(../admin/images/zoom_icon48.png) no-repeat center 56%;
}

.contentimage_desc {
  line-height: normal;
  padding-top: 0.4rem;
  font-size: smaller;
  color: #666;
}

.contentimage_desc span {
  display: block;
  color: #666;
}

.contentimage_desc p {
  padding-bottom: 0.4rem;
}

.teaserimage {
  float: right;
}

/* ------------------------------------
 *  SIDEPANEL
 * ------------------------------------  
 */

.sidepanel {
  float: right;
  width: 100%;
  padding: 1.5rem 1.5rem;
}

.sidepanel_box {
  font-size: 1.1rem;
  line-height: normal;
}

#langcontainer, #langcontainer_mobile {
  margin-bottom: 2rem;
}

/* ------------------------------------
 *  SITEMAP
 * ------------------------------------  
 */

#sitemap_container .sitemap_part {
  margin-bottom: 4rem;
}

#sitemap_container ul {
  list-style: none;
  margin: 0;
}

#sitemap_container ul ul {
  list-style: disc;
  margin: 1rem 0 1rem 2.6rem;
}

#sitemap_container ul ul ul {
  margin: 0.5rem 0 1rem 2.6rem;
}

#sitemap_container ul li {}

#sitemap_container ul ul li {}

#sitemap_container ul li a {
  text-decoration: underline;
}

#sitemap_container ul li a:hover {
  text-decoration: none;
}

#sitemap_container ul ul li a {
  height: auto;
}

#sitemap_container ul ul li a:hover {
  text-decoration: none;
}

#sitemap_container ul ul li a[rel~='external']:after, #sitemap_container ul ul li a.external_link:after {
  content: url(../images/external_link.gif);
}

/* ------------------------------------
 *  LISTS
 * ------------------------------------  
 */

.content-wrapper ul, .content-wrapper ol {
  margin-bottom: 2rem;
  padding-left: 2rem;
}

.content-wrapper ul ul {
  list-style: circle;
}

.content-wrapper ol ol {
  margin: 0.2rem 0 0.2rem 2.6rem;
}

.content-wrapper ul ul ul {
  margin: 0.5rem 0 1rem 2.6rem;
}

.content-wrapper ul li a, .content-wrapper ol li a {
  text-decoration: none;
}

.content-wrapper ul li a:hover, .content-wrapper ol li a:hover {
  text-decoration: none;
}

.content-wrapper ul ul li a, .content-wrapper ol ol li a {
  height: auto;
}

.content-wrapper ul ul li a:hover, .content-wrapper ol ol li a:hover {
  text-decoration: none;
}

.content-wrapper ul ul li a[rel~='external']:after, .content-wrapper ul ul li a.external_link:after, .content-wrapper ol ol li a[rel~='external']:after, .content-wrapper ol ol li a.external_link:after {
  content: url(../images/external_link.gif);
}

/* ------------------------------------
 *  FOOTER
 * ------------------------------------  
 */

#footer-wrapper {
  width: 100%;
}

#footer {
  width: 100%;
  margin: 0rem 0rem 0rem 0rem;
  padding: 1rem 0rem 1rem 0rem;
  color: #fff;
  font-size: 0.9rem;
  background-color: #666;
  text-align: center;
}

#footer a {
  color: #fff;
}

/* ------------------------------------
 *  PAGINATION
 * ------------------------------------  
 */

#pagination {
  width: 100%;
  margin-top: 5rem;
}

#pagination .prevLink, #pagination .nextLink {
  width: auto;
  width: 20%;
}

#pagination .status {
  width: 10%;
  text-align: center;
  font-weight: bold;
}

.pagination-menu {
  width: 60%;
  text-align: center;
}

#pagination .prevPage_wrap {
  display: block;
  background: url(../images/prev_arrow.gif) left center no-repeat;
  padding-left: 1rem;
}

#pagination .nextPage_wrap {
  display: block;
  background: url(../images/next_arrow.gif) right center no-repeat;
  padding-right: 1rem;
}

#pagination a.page {
  text-decoration: underline;
  font-size: 1.3rem;
  padding: 0.2rem;
  text-decoration: none;
}

#pagination a.active {
  font-weight: bold;
  font-size: 1.4rem;
}

#pagination a.page:hover {}

#pagination a.prev {}

#pagination a.next {}

/* ------------------------------------
 *  MINI NEWS (SIDEBAR)
 * ------------------------------------  
 */

.news_box {
  margin: 0 0 2rem 0;
}

.news_date {
  font-size: smaller;
}

.news_title {
  font-size: larger;
}

.news_content {
  margin: 0.2rem 0;
}

.news_image {
  padding: 0rem 0rem 1rem 0rem;
}

.news_image.rightfloat {
  margin: 0rem 0rem 0rem 2rem;
}

.news_image.leftfloat {
  margin: 0rem 2rem 0rem 0rem;
}

.news_image a {
  border: 0.2rem solid var(--primary);
}

.news_image a:hover {
  border: 0.2rem solid var(--primary);
}

.newsarchive_link {
  margin-top: 2rem;
  border-top: 0.1rem solid var(--primary);
  border-bottom: 0.1rem solid var(--primary);
  padding: 1rem 0;
}

/* pagination newsarchive */

#newsarchive_pagination {
  width: 100%;
  margin: 2rem 0rem 0rem 0rem;
  padding: 1rem 0rem 2rem 0rem;
}

#newsarchive_pagination .prevLink, #newsarchive_pagination .nextLink {
  width: 45%;
}

#newsarchive_pagination .nextLink {
  text-align: left;
}

#newsarchive_pagination .prevLink {
  text-align: right;
}

#newsarchive_pagination .status {
  width: 10%;
  text-align: center;
  font-weight: bold;
}

.prevPage_wrap {
  display: block;
  background: url(../images/prev_arrow.gif) left center no-repeat;
  padding-left: 1rem;
}

.nextPage_wrap {
  display: block;
  background: url(../images/next_arrow.gif) right center no-repeat;
  padding-right: 1rem;
}

#newsarchive_pagination a.page {
  text-decoration: underline;
  font-size: 1.2rem;
  padding: 0.1rem;
  text-decoration: none;
}

/* Accordion */

.accordion_toggler {
  background: var(--primary);
  margin-top: 1rem;
  cursor: s-resize;
  position: relative;
}

.accordion_toggler h2 {
  padding: 0.7rem 3rem 0.7rem 4.5rem;
}

.inner-entry-content {
  padding: 2rem 4.5rem;
  background: var(--primary);
}

.accordion_toggler:after {
  position: absolute;
  display: block;
  width: 3rem;
  height: 3rem;
  left: 0;
  top: 0.5rem;
  content: '';
  transition: 0.2s;
  background-repeat: no-repeat;
  background-image: url(../images/menu-arrow.svg);
  background-position: center center;
  background-size: 1.5rem 2rem;
  -webkit-transform: rotate3d(0, 0, 1, 0deg);
  transform: rotate3d(0, 0, 1, 0deg);
}

.accordion_toggler {
  border-left: 0.1rem solid var(--primary);
  background: var(--primary);
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
}

.accordion_toggler.open:after {
  -webkit-transform: rotate3d(0, 0, 1, 90deg);
  transform: rotate3d(0, 0, 1, 90deg);
}

/* ------------------------------------
 *  PLACEHOLDERS
 * ------------------------------------  
 */

::-webkit-input-placeholder {
  color: var(--primary);
}

::-moz-placeholder {
  color: var(--primary);
}

/* firefox 19+ */

:-ms-input-placeholder {
  color: var(--primary);
}

/* ie */

input:-moz-placeholder {
  color: var(--primary);
}

/* ------------------------------------
 *  ERROR FIELD
 * ------------------------------------  
 */

.form-row .error_field {
  color: #f00;
  border: 0.1rem solid #f00;
}

/* ------------------------------------
 *  ERROR MESSAGES
 * ------------------------------------  
 */

#error_message_block {
  font-size: 1rem;
  margin-top: 1rem;
  padding: 1rem;
  border: 0.2rem solid var(--primary);
  color: #f00;
}

#form_description {
  margin-bottom: 2rem;
}

/* ------------------------------------
 *  FORM ELEMENTS
 * ------------------------------------  
 */

.form-row {
  width: 100%;
}

.form-row p {
  padding: 2rem 0 1rem 0;
}

input, textarea {
  background: #fff;
  padding: 0;
  line-height: 1.8rem;
  font-size: 1.1rem;
  background: none;
  width: 30rem;
  border: 0.1rem solid var(--primary);
}

.form-row label, .form-row select, .form-row input[type='checkbox'], .form-row input[type='radio'], .form-row input[type='button'], .form-row [type='submit'] {
  cursor: pointer;
}

.form-row p input[type='radio'], .form-row p input[type='checkbox'], .form-row input[type='radio'], .form-row input[type='checkbox'] {
  width: 1.5rem;
  float: left;
  margin-right: 1rem;
}

.form-row label {
  width: 12.5rem;
  display: block;
  float: left;
  line-height: normal;
  padding: 1rem 0;
}

.form-row select {
  background: #fff;
  padding: 0;
  line-height: 1.8rem;
  font-size: 1.1rem;
  border: 0.1rem solid var(--primary);
  height: 3rem;
  width: 12.5rem;
  padding: 0 1.5rem;
  margin: 0.5rem 0;
}

.form-row input {
  height: 3rem;
  padding: 0 1.5rem;
  margin: 0.5rem 0;
  overflow: visible;
  /* Workaround for ie making too much padding in input buttons (Cross-Browser) */
}

.form-row select option {
  padding: 0.5rem 1.5rem;
}

.form-row textarea {
  height: 12.4rem;
  line-height: normal;
  margin-top: 1rem;
  overflow: auto;
  /* Fix IE: shows only scrollpanel where needed */
  padding: 0.5rem 1rem 0.5rem 1rem;
}

.submit, .form-row a {
  width: auto;
  margin: 2rem 0rem 0rem 0rem;
  padding: 0.8rem 1.5rem;
  font-size: 1.2rem;
  background: var(--headline-color);
  color: #fff;
  cursor: pointer;
  display: inline-block;
  text-align: center;
  width: auto !important;
  overflow: visible;
  /* Workaround for ie making too much padding in input buttons (Cross-Browser) */
  -webkit-box-shadow: 0 0 0.3rem rgba(0, 0, 0, 0.3), inset 0rem 0.1rem 0.3rem rgba(255, 255, 255, 0.5);
  -moz-box-shadow: 0 0 0.3rem rgba(0, 0, 0, 0.3), inset 0rem 0.1rem 0.3rem rgba(255, 255, 255, 0.5);
  box-shadow: 0 0 0.3rem rgba(0, 0, 0, 0.3), inset 0rem 0.1rem 0.3rem rgba(255, 255, 255, 0.5);
}

.submit:hover, .form-row a:hover {
  -webkit-box-shadow: 0 0 0.3rem rgba(0, 0, 0, 0.3), inset 0rem 0.1rem 0.2rem rgba(0, 0, 0, 0.3), inset 0rem -0.1rem 0rem rgba(255, 255, 255, 0.2);
  -moz-box-shadow: 0 0 0.3rem rgba(0, 0, 0, 0.3), inset 0rem 0.1rem 0.2rem rgba(0, 0, 0, 0.3), inset 0rem -0.1rem 0rem rgba(255, 255, 255, 0.2);
  box-shadow: 0 0 0.3rem rgba(0, 0, 0, 0.3), inset 0rem 0.1rem 0.2rem rgba(0, 0, 0, 0.3), inset 0rem -0.1rem 0rem rgba(255, 255, 255, 0.2);
  color: #fff;
}

/* ------------------------------------
 *  ROW CLASSES
 * ------------------------------------  
 */

.form-row.row-padding {
  padding-bottom: 2rem;
}

/* ------------------------------------
 *  CAPTCHA ROW
 * ------------------------------------  
 */

.form-row #captcha_img {
  padding-left: 2rem;
  padding-top: 1.2rem;
}

.form-row #captcha {
  margin-left: 14.5rem;
  width: 10rem;
  margin-top: 1rem;
}

/* ------------------------------------
 *  LOGIN
 * ------------------------------------  
 */

#login_form .leftfloat {
  width: 100%;
}

/* ------------------------------------
 *  MINI LOGIN (SIDEBAR)
 * ------------------------------------  
 */

#loginform {
  float: left;
  margin: 0rem;
  padding: 1rem 0.5rem 0rem 0rem;
}

form#mini-login input {
  width: 100%;
}

form#mini-login label {
  font-size: 1.1rem;
}

/* ------------------------------------
 *  SEARCH FORM
 * ------------------------------------  
 */

.searchform {
  width: 20rem;
  position: relative;
}

.searchform label {
  color: #fff;
  font-size: 1rem;
  line-height: 2.8rem;
  width: auto;
  padding: 0 1rem 0 0;
  text-shadow: 0rem 0.1rem 0.2rem #666;
}

.searchform input.searchform_searchterm {
  padding: 0rem;
  margin: 0.4rem 0rem 0.5rem 0rem;
  width: 12rem;
  height: 1.8rem;
  font-size: 0.9rem;
  background: var(--primary);
  color: #fff;
  padding: 0 1.5rem;
}

.searchform input.formsubmit {
  position: absolute;
  top: 0.4rem;
  right: 0.7rem;
  width: auto;
  margin: 0;
  padding: 0;
  width: 2rem !important;
  height: 2rem;
  font-size: 1rem;
  line-height: 2rem;
  border: 0 none;
  background: var(--headline-color) url(../images/magnifier.png) no-repeat center center;
  color: #fff;
  box-shadow: 0 none;
  cursor: pointer;
  text-align: center;
  overflow: visible;
  /* Workaround for ie making too much padding in input buttons (Cross-Browser) */
}

.searchform input.searchform_searchterm:hover, .searchform input.searchform_searchterm:focus {
  background: #f8f8f8;
  color: #666;
}

/* ------------------------------------
 *  SEARCH RESULTS
 * ------------------------------------  
 */

#searchresult_block {
  margin: 2rem 0rem;
  padding: 2rem 0rem;
  border-top: 0.1rem solid var(--primary);
  border-bottom: 0.1rem solid var(--primary);
}

#searchresult_block .highlight {
  color: var(--headline-color);
}

ul.inline-list {
  letter-spacing: -0.25em;
  padding: 0 2rem;
}

ul.inline-list li {
  display: inline;
  display: inline-block;
  vertical-align: top;
  letter-spacing: normal;
}

.nav_breadcrumb {
  padding-top: 0.8rem;
  padding-bottom: 2rem;
}

.nav_breadcrumb ul {
  margin-left: 0;
  padding-left: 0 !important;
}

.nav_breadcrumb ul li {
  color: #666;
  padding-top: 0.2rem;
  display: inline;
}

.nav_breadcrumb ul li.lpage {
  padding: 0 0.4rem 0 0;
  display: inline-block;
}

.nav_breadcrumb ul li a {
  line-height: 1.8rem;
  padding: 0 0.4rem;
  font-size: 1.2rem;
  color: #666;
  text-decoration: none;
  margin: 0 0.4rem;
}

.nav_breadcrumb ul li.lpage a {
  display: block;
  width: 1.8rem;
  height: 1.8rem;
  margin: 0;
}

.nav_breadcrumb ul li a:hover {
  text-decoration: underline;
}

.nav_breadcrumb ul li:before {
  content: url(../images/arrow_bc.png);
}

.nav_breadcrumb ul li.lpage:before {
  content: '';
}

.nav_breadcrumb ul li a.active {
  color: var(--white0);
}

.nav_breadcrumb span img {
  margin-top: -0.2rem;
}

.nav_special {
  width: 50%;
}

.nav_special li {
  float: left;
}

.nav_special li a {
  display: block;
  float: left;
  font-size: 1.4rem;
  line-height: 2.8rem;
  color: #fff;
  text-decoration: none;
  padding: 0 1.4rem;
  border-right: 0.1rem solid #fff;
  text-shadow: 0 0.1rem 0 rgba(0, 0, 0, 0.6);
}

.nav_special li a:hover {
  background-color: var(--primary);
}

.nav_sub {
  float: left;
  margin: 0;
  padding: 1rem;
  line-height: 1.8rem;
}

.nav_sub ul {
  margin: 0 0 0 2rem;
  padding: 0;
}

.menu_main {
  position: relative;
  width: 100%;
}

.menu_main ul ul {
  display: none;
  position: absolute;
  text-align: left;
}

.menu_main ul li:hover>ul {
  display: block;
}

.menu_main ul {
  list-style: none;
  position: relative;
  display: inline-table;
  height: 3.2rem;
  background-color: var(--primary);
}

.menu_main ul li {
  position: relative;
}

.menu_main ul li a {
  display: block;
  font-weight: 700;
  height: 3.2rem;
  line-height: 3.2rem;
  text-decoration: none;
  padding: 0 2rem 0 2rem;
  border-right: 0.1rem dotted #fff;
  background-color: var(--primary);
  color: #666;
  font-size: 1.2rem;
  border-bottom: 0.1rem solid #fff;
}

.menu_main ul li a:hover {
  background-color: var(--primary);
  color: var(--white0);
  transition: none;
}

.menu_main ul li a.active, .menu_main ul li.sfHover a.active, .menu_main ul li:hover a.active {
  color: #fff;
  background-color: var(--headline-color);
  transition: none;
}

.menu_main ul li ul li ul {
  position: relative;
  text-align: left;
}

.menu_main ul ul {
  z-index: 3000;
  background-color: var(--primary);
  height: auto;
  transition: 0.2s linear;
  -moz-transition: 0.2s linear;
  -webkit-transition: 0.2s linear;
  -o-transition: 0.2s linear;
}

.menu_main ul ul li {
  float: none;
  position: relative;
}

.menu_main ul ul li a {
  width: 20rem;
}

.menu_main ul ul ul {
  position: relative;
  display: block;
  width: 20rem;
}

.menu_main ul ul ul li a {
  padding-left: 3rem;
}

.nav_mobile {
  width: 100%;
  display: none;
  position: absolute;
  z-index: 9;
  overflow-y: scroll;
  overflow-x: hidden;
  max-height: 90vh;
}

.nav_mobile ul ul {
  display: none;
  text-align: left;
  width: 100%;
}

.nav_mobile ul {
  width: 100%;
  background-color: var(--primary);
  float: left;
 
}

.nav_mobile ul li {
  position: relative;
  width: 100%;
  display: block;
  float: left;
}

.nav_mobile ul li a {
  display: block;
  font-weight: 700;
  text-decoration: none;
  padding: 0 2rem 0 2rem;
  border-right: 0.1rem dotted #fff;
  background-color: var(--primary);
  color: #666;
  border-bottom: 0.1rem solid #fff;
  float: left;
  line-height: 4rem;
  font-size: 1.4rem;
  /* width: 100%; */
  border-bottom: 0.1rem solid var(--primary);
}
.nav_mobile ul li {
  display: block;
  font-weight: 700;
  text-decoration: none;
  padding: 0 2rem 0 2rem;
  border-right: 0.1rem dotted #fff;
  background-color: var(--primary);
  color: #666;
  border-bottom: 0.1rem solid #fff;
  float: left;
  line-height: 4rem;
  font-size: 1.4rem;
  /* width: 100%; */
  border-bottom: 0.1rem solid var(--primary);
}

.nav_mobile ul li a:hover {
  background-color: var(--primary);
  color: var(--white0);
  transition: none;
}

.nav_mobile ul li a.active, .nav_mobile ul li.sfHover a.active, .nav_mobile ul li:hover a.active {
  color: #fff;
  background-color: var(--headline-color);
  transition: none;
}

.nav_mobile ul ul {
  z-index: 3000;
  background-color: var(--primary);
  height: auto;
  width: 100%;
  transition: 0.2s linear;
  -moz-transition: 0.2s linear;
  -webkit-transition: 0.2s linear;
  -o-transition: 0.2s linear;
}

.nav_mobile ul li ul li {
  position: relative;
  text-align: left;
  display: block;
  width: 100%;
  float: left;
}

.nav_mobile ul li ul li a {
  padding-left: 4rem;
}

.nav_mobile ul li ul li {
  padding-left: 0;
}

.nav_mobile ul ul li {
  float: none;
  position: relative;
}

.nav_mobile ul ul ul {
  position: relative;
  display: block;
}

.nav_mobile ul ul ul li a {
  padding-left: 6rem;
}

.nav_mobile ul li span {
  display: block;
  width: 5rem;
  height: 4rem;
  right: 0;
  cursor: s-resize;
  position: absolute;
}

.nav_mobile ul li span:after {
  display: block;
  width: 5rem;
  height: 4rem;
  position: absolute;
  right: 0;
  content: '';
  transition: 0.2s;
  background-repeat: no-repeat;
  background-image: url(../img/menu-arrow.svg);
  background-position: center center;
  background-size: 1.6rem 2.3rem;
  -webkit-transform: rotate3d(0, 0, 1, 0deg);
  transform: rotate3d(0, 0, 1, 0deg);
}

.nav_mobile ul li span {
  border-left: 0.1rem solid var(--primary);
  background: var(--primary);
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
}

.nav_mobile ul li span.open:after {
  -webkit-transform: rotate3d(0, 0, 1, 90deg);
  transform: rotate3d(0, 0, 1, 90deg);
}

#hamburger {
  width: 3rem;
  height: 3rem;
  position: absolute;
  margin-top: 0.5rem;
  -webkit-transform: rotate(0);
  -moz-transform: rotate(0);
  -o-transform: rotate(0);
  transform: rotate(0);
  -webkit-transition: 0.5s ease-in-out;
  -moz-transition: 0.5s ease-in-out;
  -o-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out;
  cursor: pointer;
  right: 1.5rem;
  z-index: 99;
}

#hamburger span {
  display: block;
  position: absolute;
  height: 0.3rem;
  width: 100%;
  background: white;
  opacity: 1;
  left: 0;
  -webkit-transform: rotate(0);
  -moz-transform: rotate(0);
  -o-transform: rotate(0);
  transform: rotate(0);
  -webkit-transition: 0.25s ease-in-out;
  -moz-transition: 0.25s ease-in-out;
  -o-transition: 0.25s ease-in-out;
  transition: 0.25s ease-in-out;
  border: 4px solid #06254d;
  box-sizing: content-box;
}

#hamburger.open span {
  box-sizing: border-box;
  border: none;
  background-color: #06254d;
}

#hamburger.open {
  margin-top: 1.5rem;
}

#hamburger span:nth-child(1) {
  top: 0;
  -webkit-transform-origin: left center;
  -moz-transform-origin: left center;
  -o-transform-origin: left center;
  transform-origin: left center;
}

#hamburger span:nth-child(2) {
  top: 0.9rem;
  -webkit-transform-origin: left center;
  -moz-transform-origin: left center;
  -o-transform-origin: left center;
  transform-origin: left center;
}

#hamburger span:nth-child(3) {
  top: 1.8rem;
  -webkit-transform-origin: left center;
  -moz-transform-origin: left center;
  -o-transform-origin: left center;
  transform-origin: left center;
}

#hamburger.open span:nth-child(1) {
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  transform: rotate(45deg);
  top: -0.3rem;
  left: 0.2rem;
}

#hamburger.open span:nth-child(2) {
  width: 0%;
  opacity: 0;
}

#hamburger.open span:nth-child(3) {
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
  transform: rotate(-45deg);
  top: 1.8rem;
  left: 0.2rem;
}