 /*
Theme Name: vifanord
Theme URI: https://www.vifanord.de
Author: effective webwork GmbH
Author URI: https://www.effective-webwork.de
Description: Client-Theme vifanord
Version: 1.0
*/

 /*----------------------------------------------------------------------
build in: 05 2020
copyright: KMD Medien GmbH – www.kmd.de
copyright: effective webwork GmbH – www.effective-webwork.de
----------------------------------------------------------------------*/


/*----------------------------------------------------------------------
colors
----------------------------------------------------------------------*/

:root {
    --vifa-blue: #006496;
    --vifa-grey: #707070;
    --vifa-lightgrey: #cdcdcd;
    --vifa-iceblue: #1e8cbe;
    --vifa-red: #ff411e;
    --vifa-dark: #1e233c;
    --vifa-light: #e5e5e5;
    --vifa-white: #ffffff;
    }


/*----------------------------------------------------------------------
Fonts
----------------------------------------------------------------------*/

/* lato-regular - latin */
@font-face {
  font-family: 'Lato';
  font-style: normal;
  font-weight: 400;
  src: url('fonts/lato-v16-latin-regular.eot'); /* IE9 Compat Modes */
  src: local('Lato Regular'), local('Lato-Regular'),
       url('fonts/lato-v16-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('fonts/lato-v16-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
       url('fonts/lato-v16-latin-regular.woff') format('woff'), /* Modern Browsers */
       url('fonts/lato-v16-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
       url('fonts/lato-v16-latin-regular.svg#Lato') format('svg'); /* Legacy iOS */
}

/* lato-700 - latin */
@font-face {
  font-family: 'Lato';
  font-style: normal;
  font-weight: 700;
  src: url('fonts/lato-v16-latin-700.eot'); /* IE9 Compat Modes */
  src: local('Lato Bold'), local('Lato-Bold'),
       url('fonts/lato-v16-latin-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('fonts/lato-v16-latin-700.woff2') format('woff2'), /* Super Modern Browsers */
       url('fonts/lato-v16-latin-700.woff') format('woff'), /* Modern Browsers */
       url('fonts/lato-v16-latin-700.ttf') format('truetype'), /* Safari, Android, iOS */
       url('fonts/lato-v16-latin-700.svg#Lato') format('svg'); /* Legacy iOS */
}


/*----------------------------------------------------------------------
global structure & normalize
----------------------------------------------------------------------*/

body {
    margin: 0;
    border: 0 none;
    padding: 0;
    color: var(--vifa-dark);
    font-family: 'Lato', sans-serif;
    font-weight: 400;
    font-size: 18px;
    line-height: 24px;
    }

p, form, img, legend, ul, ol, li, h1, h2, h3, h4, h5, h6, dl, dt, dd {
    margin: 0;
    border: 0 none;
    outline: none;
    padding: 0;
    }
 
input, textarea, button, select {
    margin: 0;
    font: inherit;
    text-transform: none;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;  
    }

textarea {
    overflow: auto;
    }

a {
    color: var(--vifa-iceblue);
    }

a:hover, a:focus {
    color: var(--vifa-red);
    outline-width: 0;
    text-decoration: none;
    }
    
a:active {
    color: var(--vifa-grey);
    outline-width: 0;
    }

mark {
    background-color: var(--vifa-red);
    color: var(--vifa-white);
    padding: 1px;
    border-radius: 5px;
    }

sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
    }

sub {
    bottom: -0.25em;
    }

sup {
    top: -0.5em;
    }
    
.wrapper {
    margin: 0px auto;
    max-width: 1340px;
    }

.clear:after {
    content: "";
    clear: both;
    display: block;
    visibility: hidden;
    height: 0px;
    } 

* {
    -webkit-transition: all 0.5s ease-in-out;
    -moz-transition: all 0.5s ease-in-out;
    transition: all 0.5s ease-in-out;
    }


/*----------------------------------------------------------------------
Forms
----------------------------------------------------------------------*/

.button {
    }

input[type=button],
input[type=submit], 
a.btn-first,
.wpsmnl_form_btn,
.wp-block-button__link {
    display: inline-block;
    vertical-align: middle;
    background: url(img/icon-more.svg) no-repeat;
    background-position: 10px center;
    background-size: 26px 26px;
    padding: 8px 15px 8px 45px;
    border-radius: 30px;
    text-decoration: none;
    color: var(--vifa-iceblue);
    border: 1px solid var(--vifa-light);
    }

input[type=button]:hover,
input[type=submit]:hover,
a.btn-first:hover,
.wpsmnl_form_btn:hover,
.wp-block-button__link:hover {
    background: url(img/icon-more-r.svg) no-repeat;
    background-position: 12px center;
    background-size: 26px 26px;
    border: 1px solid var(--vifa-red);
    color: var(--vifa-red);
    cursor: pointer;
    }

.wp-block-button__link:visited {
    color: var(--vifa-iceblue);
    }

span.wpcf7-list-item {
    margin: 0 15px 0 0 !important;
    } 
    
.forms-frame {
    margin: 0 -30px 0 0;
    }    
    
.forms-section {
    line-height: 28px;
    margin: 0 0 30px 0;
    }    

.wpcf7-form-control-wrap {
    margin: 0 10px 0 0;
    }

.forms-section select,
.forms-section input[type=text],
.forms-section input[type=email],
.forms-section input[type="url"],
.forms-section input[type="tel"],
.forms-section input[type="date"] {
    width: calc(100% - 30px);
    margin: 0 20px 0 0;
    padding: 15px;
    border-radius: 5px;
    box-shadow: 0px 0px 10px var(--vifa-lightgrey);
    border: 0px none;
    }
    
.forms-section textarea {
    width: calc(100% - 30px);
    margin: 0;
    padding: 15px;
    min-height: 150px;
    border-radius: 5px;
    box-shadow: 0px 0px 10px var(--vifa-lightgrey);
    border: 0px none;
    }

.forms-section select:hover,
.forms-section input[type=text]:hover,
.forms-section input[type=email]:hover,
.forms-section input[type="url"]:hover,
.forms-section input[type="tel"]:hover,
.forms-section input[type="date"]:hover,
.forms-section textarea:hover {
    box-shadow: 0px 0px 25px var(--vifa-lightgrey);
    }

.forms-sideby {
    display: table;
    width: 100%;
    }

.forms-sideby .wpcf7-form-control-wrap {
    display: table-cell;
    width: 50%;
    }
    
.forms-sideby input ,
.forms-sideby select {
    width: calc(100% - 20px);
    }    
    
.forms-section input[type=checkbox] {
    width: 20px;
    height: 20px;
    border: 1px solid var(--vifa-blue);
    }    
    
span.wpcf7-not-valid-tip {
    color: var(--vifa-red) !important;
    }    
    
div.wpcf7-response-output {
    margin: 20px 0 20px 0 !important;
    padding: 20px !important;
    }    

div.wpcf7-validation-errors,
div.wpcf7-acceptance-missing {
    background: var(--vifa-red);
    border: 1px solid var(--vifa-red);
    color: var(--vifa-white);
    border-radius: 5px;
    }    

div.wpcf7-mail-sent-ok {
    background: var(--vifa-blue);
    color: var(--vifa-white);
    border: 1px solid var(--vifa-blue);
    border-radius: 5px;
    }




/*----------------------------------------------------------------------
Header
----------------------------------------------------------------------*/

header {
    border-bottom: 5px solid var(--vifa-light);
    }

#header-section {
    display: table;
    width: 100%;
    padding: 30px 0 0 0;
    }

#header-section article {
    display: table-cell;
    vertical-align: top;
    }    

#header-logo abbr {
    font-size: 0;
    line-height: 0;
    color: transparent;
    }

#header-logo {
    width: 220px;
    line-height: 0;
    }

#header-logo img {
    width: 220px;
    height: auto;
    }

#header-nav-tools {
    width: calc(100% - 220px);
    text-align: right;
    }

.meta-navigation ul {
    list-style: none;
    }

.meta-navigation li {
    display: inline;
    margin: 0 0 0 15px;
    }

.meta-navigation li a {
   display: inline-block;
   text-decoration: none;
   border: 1px solid var(--vifa-light);
   border-radius: 30px;
   color: var(--vifa-grey);
   padding: 5px 10px 5px 40px;
   background-position: 5px center;
   background-size: 26px 26px;
    }

.meta-navigation li a:hover {
   border: 1px solid var(--vifa-red);
   color: var(--vifa-red);
   background-position: 7px center;
   background-size: 26px 26px;
    }

.button-help {
    background: url(img/icon-help-g.svg) no-repeat;
    }

.button-help:hover {
    background: url(img/icon-help-r.svg) no-repeat;
    }

.button-vifanord {
    background: url(img/icon-vifanord-g.svg) no-repeat;
    }

.button-vifanord:hover {
    background: url(img/icon-vifanord-r.svg) no-repeat;
    }

.button-contact {
    background: url(img/icon-contact-g.svg) no-repeat;
    }
    
.button-contact:hover {
    background: url(img/icon-contact-r.svg) no-repeat;
    }

#header-nav-tools nav ul {
    margin: 50px 0 -5px 0;
    list-style-type: none;
    }

#header-nav-tools nav li {
    display: inline-block;
    position: relative;
    }

#header-nav-tools nav li a {
    text-transform: uppercase;
    font-weight: 700;
    text-decoration: none;
    display: inline-block;
    padding: 0 0 30px 15px;
    line-height: 0;
    border-bottom: 5px solid var(--vifa-iceblue);
    }

#header-nav-tools nav li a:hover {
    border-bottom: 5px solid var(--vifa-red);
    }

#header-nav-tools nav ul ul {
    margin: 0;
    background-color: transparent;
    list-style: none;
    position: absolute;
    left: -9999px;
    z-index: 100;
    -webkit-transition: none;
    -moz-transition: none;
    transition: none;
    border-top: 1px solid var(--vifa-dark);
    }
    
#header-nav-tools nav li:hover a {
    border-bottom: 5px solid var(--vifa-red);
    color: var(--vifa-red);
    }

#header-nav-tools nav li:hover ul a {
    border-bottom: 0 none;
    color: var(--vifa-white);
    }
    
#header-nav-tools nav ul ul li {
    border-bottom: 1px solid var(--vifa-dark);
    display: block;
    text-align: left;
    margin: 0;
    }
    
#header-nav-tools nav li:hover ul {
    right: 0%;
    left: auto;
    }

#header-nav-tools nav ul ul a {
    border-bottom: 0;
    background-color: var(--vifa-iceblue);
    padding: 8px 15px;
    color: var(--vifa-white);
    display: block;
    width: 220px;
    line-height: 24px;
    margin: 0;
    text-transform: none;
    }
    
#header-nav-tools nav ul li:hover ul li a:hover {
    background-color: var(--vifa-red);
    border-bottom: 0;
    }

#header-nav-tools nav input[type=checkbox],
#header-nav-tools nav label {
    display: none;
    }


/*----------------------------------------------------------------------
Stage
----------------------------------------------------------------------*/

.portalhome-stage {
    width: 100%;
    text-align: center;
    color: var(--vifa-white);
    }
    
.portalhome-stageinner {
    background: url(img/background-edge.svg) no-repeat center 101%;
    background-size: 100% auto;
    padding: 60px 0 140px 0;
    }

.portalhome-stageinner h2 {
    font-size: 52px;
    line-height: 60px;
    }

.portalfollow-stage {
    color: var(--vifa-white);
    margin-bottom: 60px;
    position: relative;
    }

.portalfollow-stageinner {
    padding: 30px 0;
    }

.portalfollow-search {
    background: var(--vifa-white);
    border-radius: 30px;
    display: table;
    width: 50%;
    }

.portalhome-search {
    background: var(--vifa-white);
    border-radius: 30px;
    display: table;
    width: 65%;
    margin: 45px auto;
    }
   
.portalhome-search .search-input,
.portalfollow-search .search-input {
    display: table-cell;
    width: 90%;
    vertical-align: middle;
    }   

.portalhome-search .search-button,
.portalfollow-search .search-button {
    display: table-cell;
    width: auto;
    }   
   
.portalhome-search input[type="text"],
.portalfollow-search input[type="text"] {
    border: 0px none;
    background: transparent;
    padding: 8px 20px;
    width: 100%;
    outline: none;
    }   

.portalhome-search input[type="button"],
.portalhome-search input[type="submit"],
.portalfollow-search input[type="button"],
.portalfollow-search input[type="submit"] {
    display: inline-block;
    background: url(img/icon-search-w.svg) 10px center no-repeat;
    background-color: var(--vifa-red);
    background-size: 26px 26px;
    color: var(--vifa-white);
    text-decoration: none;
    border-radius: 30px;
    padding: 12px 15px 12px 45px;
    border: 0px none;
    cursor: pointer;
    margin: 3px;
    }  

.portalhome-search input[type="button"]:hover,
.portalfollow-search input[type="button"]:hover {
    background: url(img/icon-search-w.svg) 12px center no-repeat;
    background-size: 26px 26px;
    background-color: var(--vifa-iceblue);
    }

.important-tools a {
    display: inline-block;
    vertical-align: middle;
    background: url(img/icon-more-w.svg) no-repeat;
    background-position: 10px center;
    background-size: 26px 26px;
    padding: 8px 15px 8px 45px;
    border-radius: 30px;
    margin: 0 15px;
    text-decoration: none;
    color: var(--vifa-white);
    border: 1px solid var(--vifa-white);
    }

.important-tools a:hover {
    color: var(--vifa-white);
    border: 1px solid var(--vifa-iceblue);
    background-position: 12px center;
    }

.portalfollow-stage .search-tools {
    float: right;
    }

.search-tools {
    list-style-type: none;
    }

.search-tools li {
    display: inline-block;
    margin: 15px 0 0 15px;
    }
    
.search-tools a {
    vertical-align: middle;
    background: url(img/icon-more-w.svg) no-repeat;
    background-position: 10px center;
    background-size: 26px 26px;
    padding: 8px 15px 8px 45px;
    border-radius: 30px;
    text-decoration: none;
    color: var(--vifa-white);
    border: 1px solid var(--vifa-white);
    }
 
 .search-tools a:hover {
    color: var(--vifa-white);
    border: 1px solid var(--vifa-iceblue);
    background-position: 12px center;
    }
    
.search-addon-tools a {
    display: inline-block;
    background: var(--vifa-lightgrey);
    border-radius: 30px;
    padding: 5px 10px;
    color: var(--vifa-white);
    text-decoration: none;
    margin: 0 0 0 5px;
    }    
 
 .search-addon-tools a:hover {
    background: var(--vifa-red);
    }    
 
 /*----------------------------------------------------------------------
Blog
----------------------------------------------------------------------*/
 
 .blog-columnset {
    display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    }
 
 .blog-main  {
    width: 66.66%;
    }
 
 .blog-aside {
    width: 33.33%;
    }
 
#is-blog-area,
.blog-archive-view,
.search-result-items {
    display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    margin: 0 -30px 90px 0;
    }
 
#is-blog-title {
    text-align: center;
    padding: 0 0 30px 0;
    } 

#is-blog-title h2 {
    font-size: 36px;
    line-height: 44px;
    font-weight: 400;
    padding: 20px 0 15px 0;
    } 

#is-blog-title h2 a {
    font-weight: 700;
    } 

#is-blog-title p {
    font-size: 22px;
    line-height: 28px;
    } 

#is-blog-area article {
    width: calc(33.33% - 30px);
    margin: 30px 30px 0 0;
    border-radius: 5px;
    box-shadow: 0px 0px 10px var(--vifa-lightgrey);
    }

.blog-archive-view article,
.item-search-result {
    width: calc(50% - 30px);
    margin: 30px 30px 0 0;
    border-radius: 5px;
    box-shadow: 0px 0px 10px var(--vifa-lightgrey);
    }

#is-blog-area article:hover,
.blog-archive-view article:hover,
.item-search-result:hover {
    box-shadow: 0px 0px 25px var(--vifa-lightgrey);
    }

a.is-article-title {
    text-decoration: none;
    color: black;
    }

a.is-article-title :hover {
    text-decoration: none;
    color: var(--vifa-red);
    }
    
.is-blog-content,
.result-content {
    padding: 30px;
    position: relative;
    }

.is-blog-date {
    display: inline-block;
    padding: 5px 0 0 0;
    }

.category-link ul,
.category-link li {
    list-style-type: none;
    display: inline;
    }

.category-link a {
    border-radius: 30px;
    background: var(--vifa-iceblue);
    color: var(--vifa-white);
    text-decoration: none;
    padding: 5px 10px;
    position: absolute;
    right: 30px;
    }

.category-link a:hover {
    background: var(--vifa-red);
    color: var(--vifa-white);
    }

.more-link {
    display: inline-block;
    vertical-align: middle;
    background: url(img/icon-more.svg) no-repeat;
    background-position: 10px center;
    background-size: 26px 26px;
    padding: 8px 15px 8px 45px;
    border-radius: 30px;
    text-decoration: none;
    border: 1px solid var(--vifa-light);
    }
    
.more-link:hover {
    background: url(img/icon-more-r.svg) no-repeat;
    background-position: 12px center;
    background-size: 26px 26px;
    border: 1px solid var(--vifa-red);
    }
  
#is-blog-area article h3,
.blog-archive-view article h3,
h3.search-post-title {
    position: relative;
    font-size: 22px;
    line-height: 28px;
    padding: 30px 0;
    min-height: 112px;
    font-weight: 700;
    }

#is-blog-area article h3:after,
.blog-archive-view article h3:after,
h3.search-post-title:after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    height: 5px;
    width: 20%;
    border-bottom: 5px solid var(--vifa-iceblue);
    }  

#is-blog-area article p,
.blog-archive-view article p,
.result-content p {
    padding: 30px 0;
    }
 
 .search-message {
    border-radius: 5px;
    border: 1px solid var(--vifa-lightgrey);
    margin: 30px 0 0 0;
    padding: 30px;
    }
    
.main-content .blog-item-info {
    list-style-type: none;
    margin: 0 0 15px 0;
    }    
 
.blog-aside-navigation {
    list-style-type: none;
    margin: 0 0 65px 30px;   
    }
  
.blog-item-info li,
.blog-aside-navigation li {
    display: inline-block;
    margin: 0 5px 10px 0;
    vertical-align: middle;
    }
    
.blog-item-info .blog-item-date,
.blog-item-info .blog-item-category {
    border: 1px solid var(--vifa-lightgrey);
    border-radius: 30px;
    padding: 8px 15px;
    display: inline-block;
    }

.blog-item-info .blog-item-canceled {
    border: 1px solid var(--vifa-red);
    border-radius: 30px;
    padding: 8px 15px;
    color: var(--vifa-red);
    display: inline-block;
    }

.blog-item-tooverview {
    background: var(--vifa-iceblue);
    border: 1px solid var(--vifa-iceblue);
    border-radius: 30px;
    padding: 8px 15px;
    color: var(--vifa-white);
    text-decoration: none;
    display: inline-block;
    }    

.blog-item-tooverview:hover {
    background: var(--vifa-red);
    border: 1px solid var(--vifa-red);
    color: var(--vifa-white);
    }    

.blog-item-tags {
    border: 1px solid var(--vifa-lightgrey);
    border-radius: 30px;
    margin: 60px 0 0 0;
    display: block;
    padding: 8px 15px;
    }

.post-next-link a {
    background: url(img/icon-prev-w.svg) center center no-repeat;
    background-size: 24px 24px;
    background-color: var(--vifa-iceblue);
    border: 1px solid var(--vifa-iceblue);
    padding: 8px 18px;
    border-radius: 30px;
    text-decoration: none;
    }

.post-prev-link a {
    background: url(img/icon-next-w.svg) center center no-repeat;
    background-size: 24px 24px;
    background-color: var(--vifa-iceblue);
    border: 1px solid var(--vifa-iceblue);
    padding: 8px 18px;
    border-radius: 30px;
    text-decoration: none;
    }

.post-next-link a:hover,
.post-prev-link a:hover {
    background-color: var(--vifa-red);
    border: 1px solid var(--vifa-red);
    }

.blog-pagination {
    border: 1px solid var(--vifa-lightgrey);
    border-radius: 30px;
    padding: 8px 10px;
    display: table;
    width: calc(100% - 20px);
    margin: 0 0 90px 0;
    }
  
.blog-pagination-main {
    display: table-cell;
    vertical-align: middle;
    }

.blog-pagination-aside {
    display: table-cell;
    vertical-align: middle;
    text-align: right;
    }
     
.blog-pagination h2 {
    display: none;
    }

 .page-numbers {
    list-style-type: none; 
    }     

 .page-numbers li {
    display: inline-block;
    margin: 0 2px 0 0;
    }       

 .page-numbers .current {
    display: inline-block;
    background: var(--vifa-grey);
    color: var(--vifa-white);
    border-radius: 30px;
    padding: 8px 15px;
    }
    
 .page-numbers a {
    display: inline-block;
    background: var(--vifa-iceblue);
    color: var(--vifa-white);
    text-decoration: none;
    border-radius: 30px;
    padding: 8px 15px;
    }

 .page-numbers a:hover {
    background: var(--vifa-red);
    color: var(--vifa-white);
    text-decoration: none;
    }

 .cat-archive-link {
    display: inline-block;
    background: var(--vifa-white);
    color: var(--vifa-iceblue);
    text-decoration: none;
    border: 1px solid var(--vifa-light);
    border-radius: 30px;
    padding: 8px 15px;
    }

 .cat-archive-link:hover {
    color: var(--vifa-red);
    border: 1px solid var(--vifa-red);
    text-decoration: none;
    }

.blog-aside {
    margin-bottom: 90px;
    }    

.blog-aside-items {
    margin: 0 0 0 30px;
    }

.blog-aside-section {
    display: block;
    width: 100%;
    margin: 30px 0 0 0;
    border-radius: 5px;
    background: var(--vifa-light);
    }   
 
 .blog-aside-section label {
    font-size: 22px;
    line-height: 28px;
    padding: 12px 30px;
    display: block;
    background: var(--vifa-lightgrey);
    border-radius: 5px 5px 0 0;
    }
    
.blog-aside-section ul {
    list-style-type: none;
    margin: 0;
    }
 
 .blog-aside-section li a {
    display: block;
    padding: 8px 30px;
    border-top: 1px solid var(--vifa-white);
    background: var(--vifa-light);
    text-decoration: none;
    }

 .blog-aside-section li:last-child a {
    border-radius: 0 0 5px 5px;
    } 
   
 .blog-aside-section li a:hover {
    background: var(--vifa-lightgrey);
    }   
    
 .single-credits {
    margin: 0 0 30px 0; 
    }   
    
.blog-aside-search {
    border: 1px solid var(--vifa-lightgrey);
    border-radius: 5px;
    margin: 30px 0 0 0;
    padding: 30px;
    }    
    
.bas-title {
    font-size: 22px;
    line-height: 28px;
    padding: 0 0 15px 0;
    display: inline-block;
    }
    
 .blog-aside-search .screen-reader-text {
    display: none; 
    }   
    
.blog-aside-search input[type="text"] {
    border: 1px solid var(--vifa-lightgrey);
    border-radius: 30px;
    padding: 8px 15px;
    width: 100%;
    margin: 0 0 15px 0;
    }

.blog-aside-search input[type=submit] {
    display: inline-block;
    vertical-align: middle;
    background: url(img/icon-more-w.svg) no-repeat var(--vifa-iceblue);
    background-position: 10px center;
    background-size: 26px 26px;
    padding: 8px 15px 8px 45px;
    border-radius: 30px;
    text-decoration: none;
    color: var(--vifa-white);
    border: 1px solid var(--vifa-iceblue);
    }

.blog-aside-search  input[type=submit]:hover {
    background: url(img/icon-more-w.svg) no-repeat var(--vifa-red);
    background-position: 12px center;
    background-size: 26px 26px;
    border: 1px solid var(--vifa-red);
    color: var(--vifa-white);
    cursor: pointer;
    }

.blog-search {
     vertical-align: middle;
     float: right;
 }
   
 .aside-filter-show {
    display: none;
    }
    
 /*----------------------------------------------------------------------
Teaser
----------------------------------------------------------------------*/
    
.teaser-ground {
    background: var(--vifa-light);
    padding: 90px 0;
    }
    
#is-teaser-area {
    display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    margin: 0 -30px 0 0;
    }
    
 .is-teaser-area-follow {
    display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    margin: 0 -30px 60px 0;
    }
    
#is-teaser-area article,
.is-teaser-area-follow article {
    width: calc(33.33% - 30px);
    margin: 0 30px 0 0;
    border-radius: 5px;
    }
    
#is-teaser-area article:hover,
 .is-teaser-area-follow article:hover {
    background-position: left center !important;
    }
    
.is-teaser-content {
    background-color: rgba(0,99,149,.5);
    border-radius: 5px;
    padding: 90px 30px;
    text-align: center;
    color: var(--vifa-white);
    height: calc(100% - 180px);
    }        
    
.is-teaser-content h3 {
    font-size: 36px;
    line-height: 44px;
    font-weight: 400;
    padding: 0 0 15px 0;
    }

.is-teaser-content p {
    padding: 0 0 60px 0;
    }
    
.teaser-link {
    display: inline-block;
    vertical-align: middle;
    background: url(img/icon-more-w.svg) no-repeat;
    background-position: 10px center;
    background-size: 26px 26px;
    padding: 8px 15px 8px 45px;
    border-radius: 30px;
    text-decoration: none;
    color: var(--vifa-white);
    border: 1px solid var(--vifa-white);
    }

.teaser-link:hover {
    color: var(--vifa-white);
    border: 1px solid var(--vifa-iceblue);
    background-position: 12px center;
    }
    
    
 /*----------------------------------------------------------------------
Main-Content
----------------------------------------------------------------------*/

main {
    margin: 0 0 90px 0;
    }    
    
main h1 {
    position: relative;
    font-size: 36px;
    line-height: 44px;
    font-weight: 400;
    padding: 0 0 30px 0;
    margin: 0 0 30px 0;
    }

main h1:after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    height: 5px;
    width: 15%;
    border-bottom: 5px solid var(--vifa-iceblue);
    }  
   
.main-content h2 {
    font-size: 32px;
    line-height: 40px;
    font-weight: 700;
    padding: 0 0 30px 0;
    }      

.main-content h3 {
    font-size: 28px;
    line-height: 36px;
    font-weight: 400;
    padding: 0 0 30px 0;
    }

.main-content h3:not(:only-child) {
    padding: 15px 0px 0px 0px;
    }

.main-content h4 {
    font-size: 22px;
    line-height: 30px;
    font-weight: 700;
    padding: 0 0 30px 0;
    }
 
.main-content h5 {
    font-size: 20px;
    line-height: 28px;
    font-weight: 400;
    padding: 0 0 30px 0;
    }        

.main-content h6 {
    font-size: 18px;
    line-height: 26px;
    font-weight: 700;
    padding: 0 0 30px 0;
    }  
    
.main-content p {
    line-height: 26px;
    padding: 0 0 20px 0;
    }  

.main-content ul,
.main-content ol {
    line-height: 26px;
    padding: 0 0 30px 0;
    margin: 0 0 0 30px;
    }     

.main-content .is-highlight-red {
    border-left: 10px solid var(--vifa-red);
    color: var(--vifa-red);
    padding: 15px 30px;
    margin: 0 0 30px 0; 
    }

.main-content .is-highlight-red:before {
    content: "OBS! ";
    font-weight: bold; 
    }

.main-content .is-highlight-blue {
    border: 5px solid var(--vifa-blue);
    color: var(--vifa-blue);
    border-radius: 5px;
    padding: 30px;
    margin: 0 0 30px 0; 
    }

.main-content .wp-block-pb-accordion-item {
    border: 1px solid var(--vifa-lightgrey);
    border-radius: 5px;
    margin: 10px 0 10px 0;
    padding: 15px 15px 0px 15px;
    }

.main-content .wp-block-pb-accordion-item.is-open {
    padding: 15px 15px 0px 15px;
    }

.main-content .wp-block-pb-accordion-item h4 {
    padding: 0px 0px 15px 0px;
    color: var(--vifa-iceblue);
    }

.main-content .c-accordion__title::after {
    top: 30%;
    }

.main-content .wp-block-button__link {
    margin: 0 0 30px 0; 
    }

.notfound-content img {
    width: 80%;
    height: auto;
    margin: 0 0 60px 0;
    }

.notfound-content h2 {
    margin: 30px 0;
    }

 /*----------------------------------------------------------------------
Events + Calendar
----------------------------------------------------------------------*/

.simple-event-list ul {
    list-style: none;
    margin: 0 -30px 0 0;
    padding: 0;
    display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    }

.simple-event-list li {
    display: block;
    width: calc(33.33% - 90px);
    margin: 30px 30px 0 0;
    padding: 30px;
    border-radius: 5px;
    box-shadow: 0px 0px 10px var(--vifa-lightgrey);
    }

.simple-event-list li:hover {
    box-shadow: 0px 0px 25px var(--vifa-lightgrey);
    }

.simple-event-list a {
    display: block;
    font-size: 22px;
    line-height: 28px;
    padding: 0 0 30px 0;
    font-weight: 700;
    }

.fc-unthemed .fc-popover,
.fc-unthemed .fc-row,
.fc-unthemed hr,
.fc-unthemed tbody,
.fc-unthemed td,
.fc-unthemed th,
.fc-unthemed thead {
    border-color: var(--vifa-lightgrey) !important;
    }

.fc-unthemed .fc-popover {
    background-color: var(--vifa-white) !important;
    }
    
.fc-icon {
     font-size: 0px !important;
     line-height: 0px !important;
    }
    
.fc-icon-left-single-arrow {
    background: url(img/icon-prev-w.svg) center -1px no-repeat !important;
    background-color: rgba(0, 0, 0, 0) !important;
    background-size: 24px 24px !important;
    height: 18px !important;
    width: 10px !important;
    }
    
.fc-icon-right-single-arrow {
    background: url(img/icon-next-w.svg) center -1px no-repeat !important;
    background-color: rgba(0, 0, 0, 0) !important;
    background-size: 24px 24px !important;
    height: 18px !important;
    width: 10px !important;
    }

.fc-icon-left-single-arrow::after,
.fc-icon-right-single-arrow::after {
    content: "" !important;
    }

.fc button {
    background: var(--vifa-iceblue) !important;
    color: var(--vifa-white) !important;
    text-decoration: none !important;
    border-radius: 30px !important;
    padding: 8px 15px !important;
    border: 0px !important;
    cursor: pointer;
    }
    
.fc button:hover { 
    background: var(--vifa-red) !important;
    color: var(--vifa-white) !important;
    text-decoration: none !important;
    }
    
.fc-popover {
    position: absolute;
    box-shadow: 0 2px 6px rgba(0,0,0,.15);
    }

.fc-event.fc-draggable,
.fc-event[href] {
    cursor: pointer;
    border-radius: 10px;
    }

.fc-event.fc-draggable,
.fc-event[href]:hover {
    background-color: var(--vifa-red) !important;
    border-color: var(--vifa-red) !important;
    }

.fc-toolbar {
    margin-bottom: 30px !important;
    border: 1px solid var(--vifa-lightgrey) !important;
    border-radius: 30px !important;
    padding: 8px 10px !important;
    }

.fc .fc-toolbar>*>* {
    margin-left: 10px  !important;
    margin-right: 0px !important;
    }

.fc-toolbar h2 {
    margin: 0 !important;
    padding: 5px 0 0 0 !important;
    font-size: 22px !important;
    line-height: 28px !important;
    }

 /*----------------------------------------------------------------------
Footer
----------------------------------------------------------------------*/

footer {
    background: url(img/footer-background.jpg) no-repeat center center;
    background-size: cover;
    color: var(--vifa-white);
    }    
    
#footer-sponsor-area {
    display: table;
    width: 100%;
    padding: 60px 0 0 0;
    }
    
#footer-sponsor-area article {
    display: table-cell;
    width: 20%;
    vertical-align: top;
    }
    
#footer-sponsor-area article:first-child {
    width: 60%;
    }  

#footer-sponsor-area a {
    text-decoration: none;
    }

#footer-sponsor-area label {
    display: block;
    padding: 0 0 30px 0;
    }

#footer-sponsor-area img {
    height: 30px;
    width: auto;
    }   

#footer-sponsor-area img.cau-logo {
    height: 90px;
    width: auto;
    }   
   
.footer-navigation {
    border: 1px solid var(--vifa-iceblue);
    border-radius: 30px;
    position: relative;
    margin: 90px 0 0 0;
    }   
  
.footer-navigation ul {
    list-style-type: none;
    }       

.footer-navigation li {
    display: inline;
    }       

.footer-navigation li a {
    color: var(--vifa-white);
    text-decoration: none;
    display: inline-block;
    margin: 15px 0 15px 15px;
    }

.footer-navigation li a:hover {
    color: var(--vifa-red);
    }
 
 .lang-en {
    background: url(img/icon-en.svg) 15px center no-repeat;
    background-size: 24px 24px;
    padding: 0 0 0 35px;
    }
 
.get-feedback {
    position: absolute;
    right: 0;
    margin: 3px;
    }

.get-feedback a {
    display: inline-block;
    background: url(img/icon-contact-w.svg) 10px center no-repeat;
    background-size: 26px 26px;
    background-color: var(--vifa-iceblue);
    color: var(--vifa-white);
    text-decoration: none;
    border-radius: 30px;
    padding: 12px 15px 12px 45px;
    }

.get-feedback a:hover {
    background: url(img/icon-contact-w.svg) 12px center no-repeat;
    background-size: 26px 26px;
    background-color: var(--vifa-red);
    }

footer small {
    text-align: center;
    display: block;
    padding: 30px 0 60px 0;
    color: var(--vifa-iceblue);
    }  
    
    
/*----------------------------------------------------------------------
Small Desktop
----------------------------------------------------------------------*/

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

    .wrapper {
        margin: 0px 30px;
        max-width: 100%;
        }

    .portalhome-stageinner {
        padding: 75px 0 135px 0;
        }

}

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

    .portalhome-stageinner {
        padding: 60px 0 90px 0;
        }

    .blog-search {
         float: none;
         margin: 10px 0 0 0;
        }

}


/*----------------------------------------------------------------------
Tablet-Styles (Landscape)
----------------------------------------------------------------------*/

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

    #header-section {
        padding: 15px 0 0 0;
        }

    #header-logo img {
        width: 180px;
        }

    #header-section article:first-child {
        width: 180px;
        }

    .meta-navigation li {
        margin: 0 0 0 5px;
        }

    #header-nav-tools nav {
        margin: 15px 0;
        }

    #header-nav-tools nav label {
        background: url(img/icon-menu-w.svg) no-repeat 15px center;
        background-size: 22px 22px;
        background-color: var(--vifa-iceblue);
        border-radius: 30px;
        padding: 8px 15px 8px 45px;
        color: var(--vifa-white);
        cursor: pointer;
        display: inline-block;
        text-align: left;
        font-size: 16px;
        font-weight: 700;
        }

    #header-nav-tools nav label:hover {
        background: url(img/icon-menu-w.svg) no-repeat 15px center;
        background-size: 22px 22px;
        background-color: var(--vifa-red);
        padding: 8px 15px 8px 45px;
        }

    #header-nav-tools nav li {
        letter-spacing: inherit;
        }
    
    #header-nav-tools nav ul {
        display: none;
        margin: 0 0 0 0;
        }
    
    #header-nav-tools nav ul li a {
        text-decoration: none;
        padding: 10px 0;
        display: block;
        line-height: 24px;
        }
    
    #header-nav-tools nav input[type=checkbox]:checked ~ label {
        background: url(img/icon-menuclose-w.svg) no-repeat 15px center;
        background-size: 22px 22px;
        background-color: var(--vifa-iceblue);
        }

    #header-nav-tools nav input[type=checkbox]:checked ~ label:hover {
        background: url(img/icon-menuclose-w.svg) no-repeat 15px center;
        background-size: 22px 22px;
        background-color: var(--vifa-red);
        }
    
    #header-nav-tools nav input[type=checkbox]:checked ~ .menu-hauptmenue-container ul {
        display: block;
        position: absolute;
        z-index: 101;
        background-color: rgba(255, 255, 255, 0.95);
        height: 110vh;
        width: 100%;
        overflow: auto;
        right: 0;
        text-align: left;
        padding-top: 30px;
        }

    #header-nav-tools nav input[type=checkbox]:checked ~ .menu-hauptmenue-container ul ul::before {
        left: 0;
        top: 0;
        border-left: 0 none;
        border-right: 0 none;
        border-bottom: 0 none;
        }

    #header-nav-tools nav input[type=checkbox]:checked ~ .menu-hauptmenue-container ul li {
        display: block;
        margin: 0 30px;
        }

    #header-nav-tools nav input[type=checkbox]:checked ~ .menu-hauptmenue-container ul li a {
        font-weight: 700;
        font-size: 20px;
        background: transparent;
        margin: 0;
        border-bottom: 0;
        color: var(--vifa-dark);
        }

    #header-nav-tools nav input[type=checkbox]:checked ~ .menu-hauptmenue-container ul li a:hover {
        color: var(--vifa-red);
        }

    #header-nav-tools nav input[type=checkbox]:checked ~ .menu-hauptmenue-container ul li a {
        display: block;
        }

    #header-nav-tools nav .nav-active {
        background: transparent;
        }
        
    #header-nav-tools nav ul ul {
        background: transparent !important;
        position: relative !important;
        left: 0px;
        padding-top: 0 !important;
        margin: 0 !important;
        display: block;
        height: auto !important;
        border: 0px !important;
        }
    
    #header-nav-tools nav ul ul li {
        padding: 0;
        margin: 0;
        background: transparent;
        border: 0;
        }
        
    #header-nav-tools nav ul li:hover ul {
        left: 0px;
        }        
    
    #header-nav-tools nav input[type=checkbox]:checked ~ ul ul a {
        color: var(--vifa-dark);
        }
        
    #header-nav-tools nav input[type=checkbox]:checked ~ ul li:hover ul li a:hover {
        background: transparent;
        color: var(--vifa-red);
        }
        
    #is-blog-area article,
    .blog-archive-view article,
    .item-search-result {
        width: calc(50% - 30px);
        margin: 30px 30px 0 0;
        border-radius: 5px;
        box-shadow: 0px 0px 10px var(--vifa-lightgrey);
        }

    #is-teaser-area article:first-child,
    .is-teaser-area-follow article:first-child {
        width: calc(100% - 30px);
        margin: 0 0 30px 0;
        }

    #is-teaser-area article,
    .is-teaser-area-follow article {
        width: calc(50% - 30px);
        margin: 0 30px 30px 0;
        }

    .portalhome-stageinner h2 {
        font-size: 42px;
        line-height: 50px;
        }

    .portalfollow-search {
        width: 50%;
        }

    .search-tools li {
        margin: 15px 0 0 5px;
        }

    .search-tools a {
        background-image: none;
        padding: 8px 15px 8px 15px;
        }

     .blog-columnset {
        display: block;
        }
 
     .blog-main,
     .blog-aside {
        width: 100%;
        }

    .blog-aside-items {
        margin: 0;
        }

    .main-content .blog-item-info {
        margin: 0;
        }    
     
    .blog-aside-navigation {
        margin: 0 0 30px 0;   
        }

    #is-blog-title h2 {
        font-size: 30px;
        line-height: 38px;
        padding: 15px 0 15px 0;
        }

    .blog-item-tooverview,
    .blog-item-info .blog-item-date,
    .blog-item-info .blog-item-category,
    .post-next-link a,
    .post-prev-link a {
        display: inline-block;
        }

    #footer-sponsor-area {
        display: block;
        padding: 60px 0 0 0;
        }

    #footer-sponsor-area article,
    #footer-sponsor-area article:first-child {
        display: block;
        width: 100%;
        text-align: center;
        margin: 0 0 30px 0;
        }

    #footer-sponsor-area label {
        padding: 0 0 15px 0;
        }

    .footer-navigation {
        margin: 60px 0 0 0;
        }

    .forms-frame {
        margin: 0 0 0 0;
        }    

    .forms-section select,
    .forms-section input[type=text],
    .forms-section input[type=email],
    .forms-section input[type="url"],
    .forms-section input[type="tel"],
    .forms-section input[type="date"],
    .forms-section textarea {
        width: 100%;
        margin: 0;
        }

    .forms-sideby,
    .forms-sideby .wpcf7-form-control-wrap {
        display:block;
        width: 100%;
        margin: 0;
        }
        
    .forms-sideby input ,
    .forms-sideby select {
        width: 100%;
        }  

    .simple-event-list li {
        width: calc(50% - 90px);
        }

 .search-message {
    margin: 30px 0 30px 0;
    }

     .aside-filter-show {
        display: block; 
        }
    
     .aside-filter-show a {
        display: inline-block;
        background: var(--vifa-white);
        color: var(--vifa-iceblue);
        text-decoration: none;
        border: 1px solid var(--vifa-light);
        border-radius: 30px;
        padding: 8px 15px;
        }
    
     .aside-filter-show a:hover {
        color: var(--vifa-red);
        border: 1px solid var(--vifa-red);
        text-decoration: none;
        }  

} 

/*----------------------------------------------------------------------
Tablet-Styles (Landscape)
----------------------------------------------------------------------*/

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

    .wrapper {
        margin: 0px 20px;
        }

    .meta-navigation li a {
        padding: 5px 16px 5px 16px;
        background-position: center center;
        background-size: 26px 26px;
        font-size: 0;
        color: transparent;
        }

    .meta-navigation li a:hover {
        padding: 5px 16px 5px 16px;
        background-position: center center;
        background-size: 26px 26px;
        }

    #header-logo img {
        width: 140px;
        }

    .portalhome-stageinner {
        padding: 45px 0 60px 0;
        }

    .portalhome-search {
        width: 100%;
        margin: 30px auto;
        }

    .portalhome-stageinner h2 {
        font-size: 32px;
        line-height: 40px;
        }

    .portalfollow-stageinner {
        /*padding: 15px 0 70px 0; einkommentieren bei Aktivierung search-tools*/
        padding: 15px 0;
        }

    .portalfollow-stage .search-tools {
        float: none;
        position: absolute;
        top: 75px;
        }

    .search-tools li {
        margin: 15px 5px 15px 0;
        }

    .portalfollow-search {
        width: 100%;
        }

    #is-blog-area,
    .blog-archive-view,
    .search-result-items {
        margin: 0 0 60px 0;
        }

    #is-blog-title p {
        font-size: 18px;
        line-height: 24px;
        }

    #is-blog-area article,
    .blog-archive-view article,
    .item-search-result {
        width: 100%;
        margin: 30px 0 0 0;
        }

    #is-blog-area article h3
    .blog-archive-view article h3 {
        min-height: 0;
        }

    .teaser-ground {
        padding: 30px 0 60px 0;
        }

    #is-teaser-area {
        margin: 0 0 0 0;
        }

    .is-teaser-area-follow {
        margin: 0 0 30px 0;
        }

    #is-teaser-area article,
    #is-teaser-area article:first-child,
    .is-teaser-area-follow article,
    .is-teaser-area-follow article:first-child {
        width: 100%;
        margin: 30px 0 0 0;
        }

    main {
        margin: 0 0 60px 0;
        }

    .blog-pagination {
        padding: 10px 10px;
        display: block;
        margin: 0 0 60px 0;
        }
      
    .blog-pagination-main {
        display: block;
        }
    
    .blog-pagination-aside {
        display: block;
        margin: 15px 0 0 0;
        text-align: left;
        }

    .footer-navigation {
        margin: 60px 0 0 0;
        border: 0px none;
        }

    .footer-navigation li {
        display: block;
        }

    .footer-navigation li a {
        display: block;
        border: 1px solid var(--vifa-iceblue);
        margin: 5px 0px;
        border-radius: 30px;
        padding: 12px 15px 12px 15px;
        }

    .footer-navigation li.lang-en {
        padding: 0;
        }

    .footer-navigation li.lang-en a {
        padding: 12px 15px 12px 45px;
        background-position: 10px center;
        }

    #footer-sponsor-area img {
        max-width: 240px;
        }

    .get-feedback {
        position: relative;
        left: 0;
        margin: 0px;
        }
        
    .get-feedback a {
        display: block;
        }

    .simple-event-list ul {
        margin: 0 0 0 0;
        }
    
    .simple-event-list li {
        width: 100%;
        margin: 0 0 30px 0;
        }

    .search-addon-tools a {
        display: block;
        margin: 5px 0 0 0;
        padding: 8px 15px;
    }    

}
    
    
