/*
   settings for wv_gtb_gf_blocks 
*/
.gf001                                          {   position: relative; background-color: var(--gf-white); margin: 30px -30px 30px 0; padding: 30px 30px 30px 0; display: block; }
.gf001 .gf001-border                            {   position: relative; border: 1px var(--gf-border) solid; display: block; z-index: 200; display: block; background-color: var(--gf-white); }
.gf001 .gf001-border .gf001-head-position       {   display: block; text-align: center; position: relative; margin: -20px 0 -20px 0; }
.gf001 .gf001-border .gf001-head                {   background-color: var(--gf-white); display: inline-block; text-align: center; position: relative; padding: 0.25rem 1rem; margin: 0; text-transform: uppercase; color: var(--gf-pink); font-size: 1rem; line-height: 2; }
.gf001 .gf001-border .gf001-head.transparent    {   background-color: transparent; }
.gf001 .gf001-border p                          {   font-size: 1rem; color: var(--gf-lightgrey); line-height: 1.8; padding: 2rem; margin: 0; }
.gf001 .gf001-border p::first-letter            {   color: var(--gf-pink); font-family: 'PT Serif', serif; padding-right: 0.25rem; font-size: 2rem; float: left; display: inline-block; line-height: 1rem; }
.gf001 .gf001-bg                                {   position: absolute; bottom: 0; right: 0; width: 60%; height: 60%; z-index: 100; background-color: var(--gf-lightpink); }
.gf001-clear                                    {   position: relative; width: 0; height: 0; clear: both; overflow: hidden; }


.gf002                      {   position: relative; width: auto; margin: 20px -120px; overflow: hidden; }
.gf002-bg                   {   position: absolute; z-index: 100; height: 100%; width: auto; }
.gf002-icon                 {   position: absolute; z-index: 200; height: 26px; width: 35px; top: 50%; left: 50px; margin: -3px 0 0 0; }
.gf002 p                    {   position: relative; z-index: 200; color: var(--gf-black); font-family: 'PT Serif', serif; font-size: 1.2rem; font-style: italic; padding: 70px 120px 60px 120px; margin: 0; }
.gf002-clear                {   position: relative; width: 0; height: 0; clear: both; overflow: hidden; }
@media (max-width: 660px)   {
    .gf002-icon             {   top: 30px; left: 100px; margin: 0; }
}

.gf003                                          {   position: relative; margin: 20px 0; display: block; width: 100%; }
.gf003 img                                      {   width: auto; max-width: 100%; height: auto; max-height: 100px; display: inline-block; }
.gf003.full-width img                           {   width: 100%; }
.gf003-clear                                    {   position: relative; width: 0; height: 0; clear: both; overflow: hidden; }


.gf004          {   position: relative; margin: 50px 0; padding: 2rem; background-color: var(--gf-lightpink); }
.gf004 *        {   font-family: 'Montserrat', sans-serif; color: var(--gf-pink); }
.gf004-clear    {   position: relative; width: 0; height: 0; clear: both; overflow: hidden; }

.gf005                          {   position: relative; margin: 3rem 0 2rem 0; display: inline-block; }
.gf005.aligncenter              {   text-align: center; display: block; width: 100%; }
.gf005.alignright               {   float: right; padding-left: 2rem; }
.gf005.alignleft                {   float: left; padding-right: 2rem; }
.gf005 .ad-hint                 {   position: absolute; top: -1rem; left: 0; font-size: 0.6rem; color: var(--gf-grey); }
.gf005.aligncenter .ad-hint     {   text-align: center; display: block; width: 100%; }
.gf005.alignright .ad-hint      {   left: auto; right: 0; }

.gf006 p                    {   font-size: 1.2rem; line-height: 1.6; }
.gf006-clear                {   position: relative; width: 0; height: 0; clear: both; overflow: hidden; }


.gf007                      {   width: auto; height: auto; z-index: 400; }
.gf007.alignright           {   position: absolute; left: auto; right: 0; }
.gf007.alignleft            {   position: absolute; left: 0; right: auto; }
.gf007 img                  {   width: 15vw; height: auto; }
.gf007.bottom               {   bottom: -3rem; }
@media (min-width: 1120px) and (max-width: 1320px) {
    .gf007 img              {   width: 13vw !important; }
}
@media (max-width: 1120px) {
    .gf007 img              {   width: 10vw !important; }
}

.gf008                      {   position: relative; width: auto; margin: 30px 0px; }
.gf008-bg                   {   position: absolute; z-index: 100; height: 100%; bottom: 0; width: auto; }
.gf008 .row                 {   position: relative; z-index: 200; padding: 0 0 3rem 0px; }
.gf008 .row h2              {   font-family: tornac, sans-serif; font-weight: 400; font-style: normal; color: var(--gf-green); font-size: 2.2rem; }
.gf008 .btn                 {   background-color: var(--gf-pink); color: var(--gf-white); padding: 0.25rem 1.5rem; font-size: 80%; text-decoration: none; text-transform: uppercase; }
.gf008 .btn:hover           {   background-color: var(--gf-green); color: var(--gf-white); }
.gf008 .row img             {   position: relative; width: 90%; margin: 3rem auto 0 auto; max-width: 200px; display: block; border: 0.1rem #fff solid;
            -webkit-box-shadow: 0px 11px 30px 7px rgba(0,0,0,0.14);
            -moz-box-shadow: 0px 11px 30px 7px rgba(0,0,0,0.14);
            box-shadow: 0px 11px 30px 7px rgba(0,0,0,0.14);
            transform: rotate(-6deg);
            -webkit-transform: rotate(-6deg);
            -moz-transform: rotate(-6deg);
            -o-transform: rotate(-6deg);
            -ms-transform: rotate(-6deg); }
.gf008-clear                {   position: relative; width: 0; height: 0; clear: both; overflow: hidden; }

.gf010                                      {   position: relative; left: 50%; }

@media (min-width: 990px) {
    .gf010                                  {   margin: 0 -480px; width: 960px; }
    .gf010 .wv-grid-col-50                  {   width: 420px; flex-basis: 1; }
    .gf010 .wv-grid-col-50:first-of-type    {   width: 415px; }
    .gf010 .wv-grid-col-50 .wv-grid-col-50  {   width: 210px; }
}
@media (min-width: 660px) and (max-width: 990px) {
    .gf010                                  {   margin: 0 -315px; width: 630px; }
    .gf010 .wv-grid-col-50                  {   width: 630px; flex-basis: unset; }
    .gf010 .wv-grid-col-50:first-of-type    {   width: 630px; }
    .gf010 .wv-grid-col-50 .wv-grid-col-50  {   width: 210px; flex-basis: 1; }
}
@media (max-width: 660px) {
    .gf010                                  {   margin: 0 -150px; width: 300px; }
    .gf010 .wv-grid-col-50                  {   width: 300px; flex-basis: unset; }
    .gf010 .wv-grid-col-50:first-of-type    {   width: 300px; }
    .gf010 .wv-grid-col-50 .wv-grid-col-50  {   width: 300px; flex-basis: unset; }
}

.acf-block-preview .gf010                                                      {   position: relative; left: 0; width: 630px; margin: 0 auto; }
.acf-block-preview .gf010 .wv-grid-col-50                                      {   width: 630px; flex-basis: unset; }
.acf-block-preview .gf010 .wv-grid-col-50:first-of-type                        {   width: 630px; }
.acf-block-preview .gf010 .wv-grid-col-50 .wv-grid-col-50                      {   width: 210px; flex-basis: 1; }


.gf011                                      {   position: relative; left: 50%; }
.gf011 article img                          {   width: 300px; height: 170px; }
.gf011-ad                                   {   position: relative; width: 300px; height: 250px; z-index: 200; background-color: #4789bc; color: white; display: inline-block; }
.gf011-ad-bg                                {   position: absolute; width: 200px; height: 200px; z-index: 100; top: 80px; left: 145px; background-color: var(--gf-lightpink); }
.gf011 .ad-hint                             {   position: absolute; top: -1rem; left: 15px; font-size: 0.6rem; color: var(--gf-grey); }
.gf011 .wv-top-news-col                     {   width: 300px !important; }
@media (min-width: 990px) {
    .gf011                                  {   margin: 0 -480px; width: 960px; }
}
@media (min-width: 660px) and (max-width: 990px) {
    .gf011                                  {   margin: 0 -315px; width: 630px; }
}
@media (max-width: 660px) {
    .gf011                                  {   margin: 0 -150px; width: 300px; }
}
.acf-block-preview .gf011                   {   position: relative; left: 0; width: 630px; margin: 0 auto; }


.gf012                                      {   position: relative; display: block; width: 100%; overflow: hidden; text-align: center; padding: 2rem 0; }
.gf012 .gf-title                            {   position: relative; display: inline-block; font-size: 1.6rem; color: var(--gf-darkgreen); font-family: 'PT Serif', serif; font-weight: normal; padding: 0 1.5rem; }
.gf012.lr-border .gf-title::before          {   content: ''; position: absolute; width: 970px; height: 1px; overflow: hidden; top: 49%; right: 100%; background-color: var(--gf-darkgreen); }
.gf012.lr-border .gf-title::after           {   content: ''; position: absolute; width: 970px; height: 1px; overflow: hidden; top: 49%; left: 100%; background-color: var(--gf-darkgreen); }

.gf013                      {   position: relative; left: 50%; margin: 3rem -364px 2rem -364px; display: block; }
.gf013 .ad-hint             {   position: absolute; top: -1rem; left: 0; font-size: 0.6rem; color: var(--gf-grey); }

@media (max-width: 727px) {
    .gf013              {   display: none !important; }
}

.gf014                                      {   position: relative; margin: 3rem 0 2rem 0; display: inline-block; }
.gf014.aligncenter                          {   text-align: center; display: block; width: 100%; }
.gf014.alignright                           {   float: right; padding-left: 2rem; }
.gf014.alignleft                            {   float: left; padding-right: 2rem; }
.gf014 .ad-hint                             {   position: absolute; top: -1rem; left: 0; font-size: 0.6rem; color: var(--gf-grey); }
.gf014.aligncenter .ad-hint                 {   text-align: center; display: block; width: 100%; }
.gf014.alignright .ad-hint                  {   left: auto; right: 0; }

.gf015              {   position: relative; width: auto; margin: 2rem 0px 3rem 0; }
.gf015 .row         {   text-align: center; font-size: 1rem; line-height: 1.4; color: var(--gf-black); }
.gf015 .row img     {   height: 80px; width: auto; display: inline-block; margin-top: 3rem; }
.gf015-clear        {   position: relative; width: 0; height: 0; clear: both; overflow: hidden; }

.gf016                                                              {   position: relative; width: auto; margin: 50px 0px; }
.gf016-bg                                                           {   position: absolute; bottom: -1rem; margin: 0 -100px; }
.gf016 .row                                                         {   position: relative; z-index: 200; padding: 2rem 0 0 0px; }
.gf016 .wv-testimonial-slider                                       {   z-index: 800; }
.gf016 .wv-testimonial-text                                         {   padding: 2rem 0 0 0; }
.gf016 .wv-testimonial-slider img                                   {   position: relative; bottom: 0; width: 90%; display: block; border-color: #fff; border-style: solid; border-width: 0.5rem 0.5rem 2.5rem 0.5rem;
                                                                        -webkit-box-shadow: 0px 11px 30px 7px rgba(0,0,0,0.14);
                                                                        -moz-box-shadow: 0px 11px 30px 7px rgba(0,0,0,0.14);
                                                                        box-shadow: 0px 11px 30px 7px rgba(0,0,0,0.14);
                                                                        transform: rotate(-6deg);
                                                                        -webkit-transform: rotate(-6deg);
                                                                        -moz-transform: rotate(-6deg);
                                                                        -o-transform: rotate(-6deg);
                                                                        -ms-transform: rotate(-6deg); }
.gf016 .wv-testimonial-slider .slick-list                           {   height: auto; max-height: 600px; min-height: 100px; overflow: visible; }
.gf016 .wv-testimonial-slider .wv-slide-text a                      {   color: var(--gf-black); }
.gf016 .wv-testimonial-slider .slick-arrow                          {   position: absolute; top: 50%; z-index: 500; margin: -40px 0 0 0; cursor: pointer; }
.gf016 .wv-testimonial-slider .slick-arrow svg                      {   width: 80px; height: 80px; }
.gf016 .wv-testimonial-slider .slick-prev                           {   left: -80px; }
.gf016 .wv-testimonial-slider .slick-next                           {   right: -80px; }
.gf016 .wv-testimonial-slider .slick-dots                           {   list-style: none outside none; text-align: center; padding: 0; }
.gf016 .wv-testimonial-slider .slick-dots li                        {   width: auto; display: inline-block;  }
.gf016 .wv-testimonial-slider .slick-dots li button                 {   font-size: 0; line-height: 0; background-color: var(--gf-pink); border-width: 0; border-radius: 100%; width: 0.8rem; height: 0.8rem; display: block; margin: 0.5rem; }
.gf016 .wv-testimonial-slider .slick-dots li.slick-active button    {   background-color: var(--gf-black); }

.gf016-clear                                                        {   position: relative; width: 0; height: 0; clear: both; overflow: hidden; }

@media (max-width: 576px) { /*xs - sollte aber kaum vorkommen */
    .gf016                                                              {   margin: 0 0 50px 0; }
    .gf016 .wv-testimonial-text                                         {   padding: 2rem 15px 0 15px; }
}


.gf017                                          {   position: relative; width: auto; margin: 50px 0px; }
.gf017-bg                                       {   position: absolute; z-index: 100; height: 100%; left: -120px; bottom: 0; width: auto; }
.gf017 .row                                     {   position: relative; z-index: 200; padding: 0 0 3rem 0px; }
.gf017 .row h3                                  {   font-family: 'PT Serif', serif; color: var(--gf-BLACK); font-size: 1.5rem; }
.gf017 .btn                                     {   padding: 0.25rem ; font-size: 80%; text-decoration: underline; color: var(--gf-darkgreen); }
.gf017 .btn:hover                               {   color: var(--gf-pink); }
.gf017 .row img                                 {   position: relative; width: 100%; margin: 0 auto 0 auto; display: block; }
.gf017-clear                                    {   position: relative; width: 0; height: 0; clear: both; overflow: hidden; }


.gf019              {   position: relative; left: 50%; margin: 50px 0 70px 0; }
.gf019-cat          {   background-size: cover; background-repeat: no-repeat; background-position: center center; text-align: center; margin: 0 0 30px 0;
                    -moz-transform: scale(1); -webkit-transform: scale(1); -o-transform: scale(1); -ms-transform: scale(1); transform: scale(1);
                    -webkit-transition: all 555ms cubic-bezier(0.645, 0.045, 0.355, 1.000);
                    -moz-transition: all 555ms cubic-bezier(0.645, 0.045, 0.355, 1.000);
                    -ms-transition: all 555ms cubic-bezier(0.645, 0.045, 0.355, 1.000);
                    -o-transition: all 555ms cubic-bezier(0.645, 0.045, 0.355, 1.000);
                    transition: all 555ms cubic-bezier(0.645, 0.045, 0.355, 1.000); }
.gf019-cat:hover    {   -moz-transform: scale(1.2); -webkit-transform: scale(1.2); -o-transform: scale(1.2); -ms-transform: scale(1.2); transform: scale(1.2); }
.gf019-cat a        {   display: block; }
.gf019-cat span     {   border: 1px var(--gf-white) solid; display: inline-block; margin: 1.5rem 0; }
.gf019-cat span span{   display: inline-block; background-color: var(--gf-white); color: var(--gf-green); margin: 0.2rem; font-size: 0.8rem; line-height: 1.5rem; text-transform: uppercase; white-space: nowrap; padding: 0 1rem; }

@media (min-width: 990px) {
    .gf019          {   margin: 50px -480px 70px -480px; width: 960px; }
}
@media (min-width: 660px) and (max-width: 990px) {
    .gf019          {   margin: 50px -315px 70px -315px; width: 630px; }
}
@media (max-width: 660px) {
    .gf019          {   margin: 50px -150px 70px -150px; width: 300px; }
}

.gf020              {   position: relative; width: auto; margin: 30px 0px; }
.gf020-container    {   position: relative; }
.gf020-bg           {   position: absolute; z-index: 100; height: 100%; bottom: 0; width: auto; }
.gf020 .row         {   position: relative; z-index: 200; padding: 0 0 3rem 0px; }
.gf020 .row h2      {   font-family: tornac-regular, sans-serif; font-weight: 400; font-style: normal; color: var(--gf-green); font-size: 2.2rem; }
.gf020 .btn         {   background-color: var(--gf-pink); color: var(--gf-white); padding: 0.25rem 1.5rem;font-size: 80%; text-decoration: none; text-transform: uppercase; }
.gf020 .btn:hover   {   background-color: var(--gf-green); color: var(--gf-white); }
.gf020 .row img     {   position: relative; width: 90%; margin: 3rem auto 0 auto; max-width: 200px; display: block; border: 0.1rem #fff solid;
            -webkit-box-shadow: 0px 11px 30px 7px rgba(0,0,0,0.14);
            -moz-box-shadow: 0px 11px 30px 7px rgba(0,0,0,0.14);
            box-shadow: 0px 11px 30px 7px rgba(0,0,0,0.14);
            transform: rotate(-6deg);
            -webkit-transform: rotate(-6deg);
            -moz-transform: rotate(-6deg);
            -o-transform: rotate(-6deg);
            -ms-transform: rotate(-6deg); }
.gf020-clear        {   position: relative; width: 0; height: 0; clear: both; overflow: hidden; }

.gf-youtube-video-container {
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 0;
    height: 0;
    overflow: hidden;
    margin-top: 40px;
}

.gf-youtube-video-container iframe,
.gf-youtube-video-container object,
.gf-youtube-video-container embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
