
/*------------------
    CSS GRID
-------------------*/


.newsflash.grid, .grid {
    position: relative;
    display: grid;
    grid-gap: 1em 1em;
}

.newsflash.grid-2, .grid-2 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    -ms-grid-columns: 1fr 1fr;
    grid-gap: 1em 1em;
}

.newsflash.grid-3, .grid-3 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    -ms-grid-columns: 1fr 1fr 1fr;
    grid-gap: 1em 1em;
}

.newsflash.grid-4, .grid-4 {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    -ms-grid-columns: 1fr 1fr 1fr 1fr;
    grid-gap: 1em 1em;
}

.newsflash.grid-5, .grid-5 {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    -ms-grid-columns: 1fr 1fr 1fr 1fr 1fr;
    grid-gap: 1em 1em;
}

.newsflash.grid-6, .grid-6 {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    -ms-grid-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
    grid-gap: 1em 1em;
}




/* REIHE 1 - .grid-reihe-spalte */

.grid-1-1 {
    grid-row-start:    1;
    grid-row-end:      1;
    grid-column-start: 1;
    grid-column-end:   1;
}

.grid-2-1 {
    grid-row-start:    1;
    grid-row-end:      1;
    grid-column-start: 2;
    grid-column-end:   2;
}

.grid-3-1 {
    grid-row-start:    1;
    grid-row-end:      1;
    grid-column-start: 3;
    grid-column-end:   3;
}

.grid-4-1 {
    grid-row-start:    1;
    grid-row-end:      1;
    grid-column-start: 4;
    grid-column-end:   4;
}

.grid-5-1 {
    grid-row-start:    1;
    grid-row-end:      1;
    grid-column-start: 5;
    grid-column-end:   5;
}

.grid-6-1 {
    grid-row-start:    1;
    grid-row-end:      1;
    grid-column-start: 6;
    grid-column-end:   6;
}


/* REIHE 2 - .grid-reihe-spalte */

.grid-1-2 {
    grid-row-start:    2;
    grid-row-end:      2;
    grid-column-start: 1;
    grid-column-end:   1;
}

.grid-2-2 {
    grid-row-start:    2;
    grid-row-end:      2;
    grid-column-start: 2;
    grid-column-end:   2;
}

.grid-3-2 {
    grid-row-start:    2;
    grid-row-end:      2;
    grid-column-start: 3;
    grid-column-end:   3;
}

.grid-4-2 {
    grid-row-start:    2;
    grid-row-end:      2;
    grid-column-start: 4;
    grid-column-end:   4;
}

.grid-5-2 {
    grid-row-start:    2;
    grid-row-end:      2;
    grid-column-start: 5;
    grid-column-end:   5;
}

.grid-6-2 {
    grid-row-start:    2;
    grid-row-end:      2;
    grid-column-start: 6;
    grid-column-end:   6;
}


/* REIHE 3 - .grid-reihe-spalte */

.grid-1-3 {
    grid-row-start:    3;
    grid-row-end:      3;
    grid-column-start: 1;
    grid-column-end:   1;
}

.grid-2-3 {
    grid-row-start:    3;
    grid-row-end:      3;
    grid-column-start: 2;
    grid-column-end:   2;
}

.grid-3-3 {
    grid-row-start:    3;
    grid-row-end:      3;
    grid-column-start: 3;
    grid-column-end:   3;
}

.grid-4-3 {
    grid-row-start:    3;
    grid-row-end:      3;
    grid-column-start: 4;
    grid-column-end:   4;
}

.grid-5-3 {
    grid-row-start:    3;
    grid-row-end:      3;
    grid-column-start: 5;
    grid-column-end:   5;
}

.grid-6-3 {
    grid-row-start:    3;
    grid-row-end:      3;
    grid-column-start: 6;
    grid-column-end:   6;
}



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

.grid-2-2 {
    grid-row-start: 3;
    grid-row-end: 3;
    grid-column-start: 1;
    grid-column-end: 1;
    margin-top: 10%;
}

.grid-3-2 {
    grid-row-start: 4;
    grid-row-end: 4;
    grid-column-start: 1;
    grid-column-end: 1;
    margin-top: 10%;
}

}



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

    .grid-2-1 {
        grid-row-start: 2;
        grid-row-end: 2;
        grid-column-start: 1;
        grid-column-end: 1;
    }

}



/*------------------
    CSS FLEX
-------------------*/


/* POSITIONING */

.left {
  text-align: left;
}

.right {
  text-align: right;
}

.center {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}

.justify {
  text-align: justify;
}


/* MARGINS */

.verticalmargin {
    float: left;
    display: block;
    position: relative;
    width: 100%;
    margin: 5% 0;
}

.horizontalmargin {
    float: left;
    display: block;
    position: relative;
    width: 100%;
    margin: 0 5%;
}


/* ==== GRID SYSTEM ==== */

#containerS {
    display: inline;
    float: left;
    width: 40%;
    margin: 8% 30% 0 30%;
}

#containerM {
    display: inline;
    float: left;
    width: 70%;
    margin: 7% 15% 0;
}

#containerP {
    display: inline;
    float: left;
    width: 86%;
    padding-left: 7%;
    padding-right: 7%;
    margin: 7% 0 0;
    background: #f0f0f0;
}

.newsflash, .flexgrid {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
}

.beitrag {
    position: relative;
    display: block;
    float: left;
    width: 100%;
}

.row {
  position: relative;
  width: 100%;
}

.span12 {
    width: 100%;
}

.newsflash [class^="col"], .grid [class^="col"] {
    position: relative;
    display: block;
    flex-wrap: wrap;
    flex-direction: column;
    float: left;
    margin: 3% 2%;
    min-height: 0.125rem;
}

.newsflash .col-2 {
    margin: 3% 8%;
}

.newsflash .col-2:nth-child(1) {
    margin: 3% 6% 3% 2%;
}

.newsflash .col-2:nth-child(3) {
    margin: 3% 6% 3% 2%;
}

.newsflash .col-2:nth-child(5) {
    margin: 3% 6% 3% 2%;
}

.newsflash [class^="col4m"], .grid [class^="col4m"] {
    display: block;
    flex-wrap: wrap;
    flex-direction: column;
    float: left;
    margin: 2% 4%;
    min-height: 0.125rem;
}


@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
.newsflash [class^="col"], .grid [class^="col"], 
.newsflash [class^="col4m"], .grid [class^="col4m"] {
    flex-direction: none;
}
}

@supports (-ms-ime-align: auto) {
.newsflash [class^="col"], .grid [class^="col"],
.newsflash [class^="col4m"], .grid [class^="col4m"] {
    flex-direction: none;
}
}



.col-1,
.col-2,
.col-3,
.col-4,
.col-5,
.col-6,
.col-7,
.col-8,
.col-9,
.col-10,
.col-11,
.col-12,
.col4m-1,
.col4m-2,
.col4m-3,
.col4m-4,
.col4m-5,
.col4m-6,
.col4m-7,
.col4m-8,
.col4m-9,
.col4m-10,
.col4m-11,
.col4m-12 {
  width: 100%;
}




@media only screen and (min-width: 901px) {  

  .col-1 {
    flex: 0 96%;
  }
  
  .col4m-1 {
    flex: 0 92%;
  }

  .col-2 {
    flex: 0 34%;
  }
  
  .col4m-2 {
    flex: 0 42%;
  }

  .col-3 {
    flex: 0 29.33333334%;
  }
  
  .col4m-3 {
    flex: 0 25.33333334%;
  }

  .col-4 {
    flex: 0 21%;
  }

  .col4m-4 {
    flex: 0 17%;
  }

  .col-5 {
    flex: 0 16%;
  }

  .col4m-5 {
    flex: 0 12%;
  }

  .col-6 {
    flex: 0 12.66666667%;
  }

  .col4m-6 {
    flex: 0 8.66666667%;
  }
  
}




@media only screen and (min-width: 700px) and (max-width: 1400px) {  


    .newsflash .col-2:nth-child(1), .newsflash .col-2:nth-child(3), .newsflash .col-2:nth-child(5) {
        margin: 3% 4% 3% 2%;
    }

    .newsflash .col-2 {
        margin: 3% 4%;
    }

    .col-2 {
        flex: 0 43%;
    }

.col-3 {
    flex: 0 42%;
}

.col4m-3 {
    flex: 0 38%;
}

.col-4 {
    flex: 0 42%;
}

.col4m-4 {
    flex: 0 38%;
}

}



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

.newsflash .col-2:nth-child(1), .newsflash .col-2:nth-child(3), .newsflash .col-2:nth-child(5), .newsflash .col-2 {
    margin: 10% 0 0%;
    padding: 0% 0 10%;
    border-bottom: solid 1px #e4e4e4;
}

.newsflash .col-2:nth-child(4) {
    border-bottom: solid 0px #e4e4e4;
}

.col-2 {
    flex: 0 100%;
}

}



@media only screen and (max-width: 1100px) {
    .grid-1-1 {
        grid-row-start: 1;
        grid-row-end: 1;
        grid-column-start: 1;
        grid-column-end: 1;
    }

    .grid-2-1 {
        grid-row-start: 1;
        grid-row-end: 1;
        grid-column-start: 2;
        grid-column-end: 2;
    }

    .grid-3-1 {
        grid-row-start: 2;
        grid-row-end: 2;
        grid-column-start: 1;
        grid-column-end: 1;
    }

    .grid-4-1 {
        grid-row-start: 2;
        grid-row-end: 2;
        grid-column-start: 2;
        grid-column-end: 2;
    }
}

@media only screen and (max-width: 650px) {
    .grid-1-1 {
        grid-row-start: 1;
        grid-row-end: 1;
        grid-column-start: 1;
        grid-column-end: 1;
    }

    .grid-2-1 {
        grid-row-start: 2;
        grid-row-end: 2;
        grid-column-start: 1;
        grid-column-end: 1;
    }

    .grid-3-1 {
        grid-row-start: 3;
        grid-row-end: 3;
        grid-column-start: 1;
        grid-column-end: 1;
    }

    .grid-4-1 {
        grid-row-start: 4;
        grid-row-end: 4;
        grid-column-start: 1;
        grid-column-end: 1;
    }

    .newsflash.grid, .grid {
        grid-gap: 2em 1em;
    }
}


@media only screen and (min-width: 1100px) and (max-width: 1300px) { 

.col-4 {
    flex: 0 29%;
}

.col4m-4 {
    flex: 0 25%;
}

}




}

