/* ==========================
   AFRIKA REISEBLOG - RESPONSIVE MODERN
========================== */
.thumb {
    width: 800px;
    height: auto;
  }


/* Grundlayout */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}
/*---------------------button */



/* CSS */
.button-71 {
  background-color: #0078d0;
  border: 0;
  border-radius: 56px;
  color: #fff;
  cursor: pointer;
  display: inline-block;
  font-family: system-ui,-apple-system,system-ui,"Segoe UI",Roboto,Ubuntu,"Helvetica Neue",sans-serif;
  font-size: 18px;
  font-weight: 600;
  outline: 0;
  padding: 16px 21px;
  position: relative;
  text-align: center;
  text-decoration: none;
  transition: all .3s;
  user-select: none;
  -webkit-user-select: none;
  touch-action: manipulation;
}

.button-71:before {
  background-color: initial;
  background-image: linear-gradient(#fff 0, rgba(255, 255, 255, 0) 100%);
  border-radius: 125px;
  content: "";
  height: 50%;
  left: 4%;
  opacity: .5;
  position: absolute;
  top: 0;
  transition: all .3s;
  width: 92%;
}

.button-71:hover {
  box-shadow: rgba(255, 255, 255, .2) 0 3px 15px inset, rgba(0, 0, 0, .1) 0 3px 5px, rgba(0, 0, 0, .1) 0 10px 13px;
  transform: scale(1.05);
}

@media (min-width: 768px) {
  .button-71 {
    padding: 16px 48px;
  }
}
/*------------------------------------------------------------------------------------------------------------------------------------------*/
html{
    scroll-behavior:smooth;
}

body{
    font-family:"Segoe UI", Arial, sans-serif;
    background:linear-gradient(180deg,#fdfcf8,#f5efe2);
    color:#333;
    line-height:1.7;
    overflow-x:hidden;
}


/* ==========================
        Überschriften
========================== */

h1{
    text-align:center;
    font-size:clamp(2rem,5vw,3rem);
    color:#2E6B4D;
    margin:30px 15px 20px;
    letter-spacing:1px;
}

h2{
    text-align:center;
    color:#B87333;
    font-size:clamp(1.5rem,4vw,2rem);
    margin:30px 15px 15px;
}

h3{
    text-align:center;
    color:#666;
    font-size:clamp(1.1rem,3vw,1.3rem);
    margin:20px 10px;
}


/* ==========================
            Text
========================== */

p{
    max-width:900px;
    margin:20px auto;
    padding:0 20px;
    text-align:left;
    font-size:clamp(1rem,2.5vw,1.1rem);
}


/* ==========================
          Navigation
========================== */

nav{
    background: #2E6B4D;/*rgba(255, 255, 255, 0.95);*/
    position:sticky;
    top:0;
    z-index:1000;
    box-shadow:0 3px 10px rgba(0,0,0,.1);
}

nav ul{
    list-style:none;
    display:flex;
    justify-content:center;
    align-items:center;
    flex-wrap:wrap;
    gap:10px;
    padding:12px;
}

nav ul li a{
    display:block;
    text-decoration:none;
    color:#ffffff;
    font-weight:600;
    padding:10px 18px;
    border-radius:30px;
    transition:.3s;
}

nav ul li a:hover,
nav ul li a:focus{
    background:#2E6B4D;
    color:white;
}


/* ==========================
             Bilder
========================== */

img{
    display:block;
    width:min(90%,900px);
    height:auto;
    margin:25px auto;
    border-radius:18px;
    box-shadow:0 10px 25px rgba(0,0,0,.18);
}


/* ==========================
            Karten
========================== */

section{
    width:calc(100% - 30px);
    max-width:1000px;
    margin:30px auto;
    padding:25px;
    background:white;
    border-radius:18px;
    box-shadow:0 8px 20px rgba(0,0,0,.08);
}


/* ==========================
             Tabellen
========================== */

.table-container{
    width:100%;
    overflow-x:auto;
    padding:0 15px;
}

table{
    width:100%;
    min-width:600px;
    margin:30px auto;
    border-collapse:collapse;
    background:white;
    border-radius:12px;
    overflow:hidden;
    box-shadow:0 8px 20px rgba(0,0,0,.1);
}

th{
    background:#2E6B4D;
    color:white;
    padding:14px;
    text-align:left;
}

td{
    padding:14px;
    border-bottom:1px solid #eee;
}

tr:nth-child(even){
    background:#f8f8f8;
}

tr:hover{
    background:#f2ead8;
}


/* ==========================
        Auswahlfelder
========================== */

select{
    width:100%;
    max-width:300px;
    padding:12px 15px;
    border-radius:8px;
    border:1px solid #ccc;
    font-size:1rem;
    background:white;
}


/* ==========================
             Footer
========================== */

footer{
    margin-top:50px;
    background:#2E6B4D;
    color:white;
    padding:25px 15px;
}

footer ul{
    list-style:none;
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    gap:15px;
}

footer ul li a{
    color:white;
    text-decoration:none;
}


/* ==========================
        MOBILE DESIGN
========================== */

@media(max-width:700px){ /* 700*/

    nav ul{
        flex-direction:column;
        width:100%;
        gap:5px;
    }


    nav ul li{
        
        width:100%;
        text-align:center;
    }


    nav ul li a{
        
        width:100%;
        padding:12px;
    }


    section{
        width:calc(100% - 20px);
        padding:18px;
        border-radius:14px;
    }


    p{
        /*font-size: */
        padding:0 10px;
        text-align:left;
    }


    img{
        width:95%;
        border-radius:12px;
    }


    table{
        font-size:.9rem;
    }


    footer ul{
        flex-direction:column;
        align-items:center;
    }

}


/* ==========================
        EXTRA KLEINE HANDYS
========================== */

@media(max-width:400px){/* 400*/
   /*  p{
        font-size:4rem;
    }
    */
    h1{
        font-size:1.8rem;
    }

    h2{
        font-size:1.4rem;
    }

    section{
        padding:15px;
    }

    nav ul li a{
        font-size:.95rem;
    }

}