* {
    margin: 0px;
    padding: 0px;
    box-sizing: border-box;
}

main {
  width: 75%;
  max-width: 900px;
  margin: auto;
  margin-top: 40px;
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  grid-auto-rows: minmax(20px, auto);
  gap: 10px 10px;
}

footer section {
  width: 75%;
  max-width: 900px;
  margin: auto;
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  grid-auto-rows: minmax(20px, auto);
  gap: 10px 15px;
}

.grid_span1 {
  grid-column: span 1; 
  grid-row: auto;
}

.grid_span2 {
  grid-column: span 2; 
  grid-row: auto;
}

.grid_span3 {
  grid-column: span 3;
  grid-row: auto;
}

.grid_span4 {
  grid-column: span 4;
  grid-row: auto;
}

.grid_span5 {
  grid-column: span 5;
  grid-row: auto;
}

.grid_span6 {
  grid-column: span 6; 
  grid-row: auto;
}

.grid_span7 {
  grid-column: span 7; 
  grid-row: auto;
}

.grid_span8 {
  grid-column: span 8; 
  grid-row: auto;
}

.grid_span9 {
  grid-column: span 9; 
  grid-row: auto;
}

.grid_span10 {
  grid-column: span 10; 
  grid-row: auto;
}

.grid_span11 {
  grid-column: span 11; 
  grid-row: auto;
}

.grid_span12 {
  grid-column: span 12; 
  grid-row: auto;
}

.grid_post {
  grid-column-start: 3;
  grid-column-end: 11;
  grid-row: auto;
}

.grid_postliten {
  grid-column-start: 4;
  grid-column-end: 10;
  grid-row: auto;
}

.subgrid {
  display: grid;
  grid-template-columns: subgrid;
  grid-auto-rows: subgrid;
  gap: 0px;
}

.subgrid_rows
{
  grid-row: span 3;
  display: grid;
  grid-template-columns: none;
  grid-template-rows: subgrid;
  gap: 0px;
  align-content: start;
}

@media (max-width: 800px) {
  .subgrid_rows  {
     grid-template-rows: auto;
  }
}

.subgrid_rows2
{
  grid-row: span 3;
  display: grid;
  grid-template-columns: none;
  grid-template-rows: auto 1fr auto;
  gap: 0px;
  align-content: flex-start;
}


.subgrid_rows_lastitem_hoger
{
  justify-self: flex-end !important;
  align-self: flex-end !important;
}

.subgrid_rows_lastitem_mitten
{
  justify-self: center !important;
  align-self: flex-end !important;
}



@media (max-width: 800px) {
  main  {
    width: 100%;
    margin-top: 0px;
    gap: 10px 10px;
  }

  footer section  {
    padding: 15px;
  }

  .grid_span1, .grid_span2, .grid_span3, .grid_span4, .grid_span5, .grid_span6, .grid_span7, .grid_span8, .grid_span9, .grid_span10, .grid_span11, .grid_span12, .grid_post, .grid_postliten {
    grid-column: span 12;
    grid-row: auto;
    margin: 0px;
    margin-top: 0px;
    }
}


.karusell {
  display: flex;
  width: 100%;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: stretch;
  overflow-x: scroll;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  background-color: #ffffff;
}

.karusellkort {
  flex: 33%;
  float: left;
  padding: 10px;
  margin: 10px; 
  border-radius: 5px;
  min-width: 260px;
  scroll-margin: 10px;
  scroll-snap-align: start;
  scroll-snap-stop: normal;
  background-color: #f8f8f3;
  grid-row: span 3;
  display: grid;
  grid-template-columns: none;
  grid-template-rows: 150px 1fr auto;
  gap: 0px;
  align-content: flex-start;
}

.karusellkort h4
{
  margin-top: 15px;
}


@media (max-width: 800px) {
  .visa_dator  {
    display: none;
   }
  }

  @media (min-width: 800px) {
  .visa_mobil  {
    display: none;
   }
  }