* {
    box-sizing: border-box;
}

.row::after {
    content: "";
    clear: both;
    display: table;
    align-content: center;   
}

[class*="col-"] {
    float: left;
    padding: 15px;
}

html {    
    height: 100%;    
}

body {
  line-height: 1;
  font-family: 'Open Sans';    
  height: 100%;
  font-weight: 500;
  font-style: normal;
  font-size: 16px;
  color: #ffffff;
}

.header {
    background-color: #000000;
    color: #ffffff;
    padding: 15px;  
    text-align: center;   
}

.menu {
    list-style-type: none;
    margin: 0;
    padding: 0;
    width: 100px;
    height: 100px;
}

.aside {
    background-color: #33b5e5;
    padding: 15px;
    color: #ffffff;
    text-align: center;
    font-size: 14px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24);
}

.footer {
    background-color: #000000;
    color: #ffffff;
    text-align: center;
    font-size: 12px;
    padding: 25px;    
}

.footer p{
    padding: 35px;
}

.grid-item {
  opacity: 1;
  transition: opacity .5s ease-out;
  background-color: rgba(255, 255, 255, 1);
  height: 25vw;
  display: flex;
  justify-content: flex-start;
  align-items: flex-end;
}

.grid-container {
    display: none;
    grid: auto / auto;
    grid-gap: 1px;
    background-color: #000000;
    grid-auto-flow: row;
    padding: 5px;
  }

  .grid-container>div {       
    height: 75vw;
    display: flex;
    justify-content: flex-start;
    align-items: flex-end;
  }

  
  .module {
    margin: 0px;
    width: 100%;
    height: 300px;
    float: left;    
    background-size: cover;
    position: relative;
  }
  
  .caption {
    position: absolute;
    bottom: 0px;
    left: 0px;
    right: 0px;    
    padding: 4px 8px;
    text-align: justify;
    color: white;
    background-color: rgba(12, 12, 12, 0.4);
    margin: 0;            
    font-family: 'Open Sans'; 
    font-weight: 300;
    font-style: normal;
  }
  
  .opp .caption{        
    color: white;
    opacity: 1;
  }

  .caption:hover{
    transition-timing-function: ease;
    transition: padding 1s;
    padding: 25px 8px;
  }

.news-img-logo {    
    width: 100%;
    height: 130%;   
  }

  h3 {
    font-size: 1em;
    padding: 10px;
  }

.sections{
  border-radius: 20px;
  width: 50%;
}

.loading {
    fill: #000000;
    position: absolute;
    top: 45px;
    right: 10;
    display: none;
}

/* For mobile phones: */
[class*="col-"] {
    width: 100%;        
}

@media only screen and (min-width: 600px) {
    /* For tablets: */
    .col-s-1 {width: 8.33%;}
    .col-s-2 {width: 16.66%;}
    .col-s-3 {width: 25%;}
    .col-s-4 {width: 33.33%;}
    .col-s-5 {width: 41.66%;}
    .col-s-6 {width: 50%;}
    .col-s-7 {width: 58.33%;}
    .col-s-8 {width: 66.66%;}
    .col-s-9 {width: 75%;}
    .col-s-10 {width: 83.33%;}
    .col-s-11 {width: 91.66%;}
    .col-s-12 {width: 100%;}
    .header{text-align: center;}
    .grid-container{      
      grid: auto / auto auto auto ;
      display: none;
    }
    .grid-container>div {height: 55vw;}
    .sections{width: 20%;}
    .footer{
      text-align: center;    
      font-size: 10px;
    }
    .news-img-logo {    
      width: 100%;
      height: 100%;
    }
}

@media only screen and (min-width: 768px) {
    /* For desktop: */
    .col-1 {width: 8.33%;}
    .col-2 {width: 16.66%;}
    .col-3 {width: 25%;}
    .col-4 {width: 33.33%;}
    .col-5 {width: 41.66%;}
    .col-6 {width: 50%;}
    .col-7 {width: 58.33%;}
    .col-8 {width: 66.66%;}
    .col-9 {width: 75%;}
    .col-10 {width: 83.33%;}
    .col-11 {width: 91.66%;}
    .col-12 {width: 100%;}
    .header{text-align: left;}
    .grid-container{
      
      grid: auto / auto auto auto auto;
      display: none;
    }
    .grid-container>div {height: 25vw;}
    .sections{width: 20%;}
    .footer{
      text-align: left;
      padding-left: 50px;
      font-size: 10px;
      height: 900px;
    }
    .news-img-logo {    
      width: 100%;
      height: 100%;
    }

    @keyframes resize {
      0% {
        padding: 0px 8px;
      }
      100% {
        padding: 20px 8px;
      }
    }
}