body {
    margin:0;
    padding:0;
    font-family: 'Nunito';
    font-weight:300;
    font-size:1.2rem;
    line-height:1.6rem;
}

strong {
    font-weight:700;
}
h1 {
    font-size:1.8rem;
    line-height:2.4rem;
}
h2 {
    font-size:1.8rem;
    font-weight:300;
    line-height:2.4rem;
    margin:0 0 1.6rem 0;
}
h3 {
    font-size:1.3rem;
}
@media only screen and (min-width: 1000px) {
    h2 {
        font-size:2rem;
        line-height:2.4rem;
        margin:0 0 1.6rem 0;
    }
    h3 {
        font-size:1.3rem;
    }
}

header {
    display:flex;
    align-items: center;
    justify-content: center;
    background: #f9f6f4;    
}
.header-inner {
    margin:0;    
    width:100%;
}
@media only screen and (min-width: 1000px) {
    header {
        height: 770px;
    }
}
.logo {
    width:220px;
}
@media only screen and (min-width: 1000px) {
    .logo {
        width:340px;
        margin-left:-110px;
    }
}

section {
    display:block;
    background:#fff;
    padding:2rem 0;
}
section a {
    color:#417429;
}
@media only screen and (min-width: 1000px) {
    section {
        padding:80px 0;
    }
}

section.green {
    background: #f0f7ec;
}

section.grey {
    background: #f9f9f9;
}
.section-inner {
    margin:0 auto;
    width:100%;
}
@media only screen and (min-width: 1000px) {
    .section-inner {
        width:1000px;
    }
}
section.full-width .section-inner {
    width:100%;
}
.padding-inner {
    padding:2rem;
}
.bg-alpha {
    background:rgba(255,255,255,0.75);
}

.seperator {
    margin:3rem 0;
    border-top: dotted 4px #68a94a;
}

.big-picture {
    background:#fff url(../images/big-picture.jpg) no-repeat;
    background-size:conatin;
    background-position:left center;
}

.btn-primary {
    display:inline-block;
    background-color:#68a94a;
    border: solid 2px #68a94a;
    color:#fff;
    padding: 8px 20px;
    border-radius:2px;
    text-decoration: none;
    font-weight:700;
    transition: background-color .3s, color .3s;
}
.btn-primary:hover {
    background-color:#fff;
    color:#68a94a;
}



.grid-1 {
    display:grid;
    grid-template-columns: 100%;
    gap:0px;
}
.grid-1 .column-left,
.grid-1 .column-right {
    padding: 2rem;
}

.grid-1 .column-right {
    display:flex;
    align-items: center;
    color:#417429;    
    font-weight:500;
}
@media only screen and (min-width: 1000px) {
    .grid-1 {
        display:grid;
        grid-template-columns: 50% 50%;
        gap:40px;
    }
    .grid-1 .column-right {
        padding-left:60px;
        border-left:dotted 4px #68a94a;
    }
}




.grid-2 {
    display:grid;
    grid-template-columns: 1fr;
    gap:40px;
}
@media only screen and (min-width: 1000px) {
    .grid-2 {
        grid-template-columns: 55% 45%;
        gap:40px;
    }
}
.grid-2 .column-left {
    padding: 2rem;
}
.grid-2 .column-right {
    display:flex;
    align-items: center;
    justify-content: center;
}
.dominika {
    display:block;
    width:280px;
    height:280px;
    border-radius:50%;
    background:#fafafa url(../images/dominika.jpg) no-repeat;
    background-size:contain;
}
@media only screen and (min-width: 1000px) {
    .dominika {
        width:360px;
        height:360px;       
    }
}



.grid-3 {
    display:grid;
    grid-template-columns: 1fr;
}
.grid-3 .column-left {
    display:flex;
    align-items: center;  
    justify-content: right; 
}
.grid-3 .column-right {
    display:flex;
    align-items: center;  
    justify-content: left;
}
.grid-3 .column-left div,
.grid-3 .column-right div {
    padding:2rem;
    width:100%
}
.grid-3 .column-left-image {
    height:300px;
    background:#fff url(../images/image-left-column.jpg) no-repeat;
    background-size:cover;
    background-position:center bottom;
}
.grid-3 .column-right-image {
    height:300px;
    background:#fff url(../images/image-right-column.jpg) no-repeat;
    background-size:contain;
    background-position:center center;
}
@media only screen and (min-width: 1000px) {
    .grid-3 {
        grid-template-columns: 50% 50%;
    }
  
    .grid-3 .column-left-image {
        height:auto;
        background-position:center bottom;
    }
    .grid-3 .column-right-image {
        height:auto;
        background-position:left center;
    }
}
@media only screen and (min-width: 1200px) {
    .grid-3 .column-left div,
    .grid-3 .column-right div {
        padding:6rem;
        width:70%
    }
}

  

.grid-4 {
    display:grid;
    grid-template-columns: 1fr;
}
.grid-4 .column-left img {
    width:70%;
    margin-bottom:-10px;
}
.grid-4 .column-right {
    padding:2rem;
    background:#fff;
}
@media only screen and (min-width: 1000px) {
    .grid-4 {
        grid-template-columns: auto 550px; 
        width:1000px; 
    }
    .grid-4 .column-left img {
        width:auto;
        margin:0 auto;
    }
    .grid-4 .column-right {
        display:flex;
        align-items: center;
        background:#f9f6f4; 
        padding-right:0;
    }
}

 


footer {
    background:#68a94a;
    padding:5rem 2rem;    
}
@media only screen and (min-width: 1000px) {
    footer {
        background:#68a94a;
        padding:5rem 0;    
    }
}
footer .section-inner {
    color:#fff;
}
footer .section-inner a {
    color:#fff;
    text-decoration: none;
    border-bottom: solid 1px transparent; 
    transition: border-bottom .3s;    
}
footer .section-inner a:hover {
    border-bottom: solid 1px #fff;   
}

#link-impressum,
#link-datenschutz {
    cursor:pointer;
}

.modal-overlay {
    display:none;
    position: fixed;
    top:0;
    right:0;
    bottom:0;
    left:0;
    background: rgba(255,255,255,1);
}
.modal-inner {
    display:flex;
    align-items: center;
    justify-content: center;
    height:100%;
}

.modal-window {
    position:relative;
    padding: 4rem 2rem;
    width:100vw;
    height:100vh;
    overflow:auto;
}
@media only screen and (min-width: 1000px) {
    .modal-window {
        padding: 0 3rem;
        width:50vw;
        height:80vh;
    }
}
#modal-close {
  position: absolute;
  right: 2rem;
  top: 2rem;
  width: 3rem;
  height: 3rem;
  cursor: pointer;
  opacity: 0.6;
  z-index:9999;
}
#modal-close:hover {
  opacity: 1;
}
#modal-close:before, #modal-close:after {
  position: absolute;
  left: 15px;
  content: ' ';
  height: 3rem;
  width: 2px;
  background-color: #111;
}
#modal-close:before {
  transform: rotate(45deg);
}
#modal-close:after {
  transform: rotate(-45deg);
}
.txt-sm {
    font-size:1rem;
    line-height:1.4rem;
}