.header{
    width: 100%;
    display: flex;
    height: 150px;
    justify-content: space-between;
}
body{
    max-width: 1800px;
    margin: 0 auto;
}
img{
    width: 100%;
    height: auto;
    display: block;
    margin: auto;
    overflow: hidden;
}
html{
  height: 100%;
}
main{
    margin: 0 auto;
    min-height: 900px;

}
.logo-box{
    width: 200px;
}
.center-box{
  display: flex;
  justify-content: center;
}
.portrait{
  min-height: 200px;
  max-height: 400px;
  width: auto;
  padding: 10px 50px;
  border-radius: 45%;
  margin: 0;
}
.info-block{
  margin: 0 auto;
  display: flex;
  min-height: 300px;
  padding: 15px;
  justify-content: center;
}
.info{
  max-width: 600px;
  min-width: 300px;
  margin: 0 auto;
  align-items: center;
  align-content: center;
  padding: 20px;
}
.info .btn{
  margin: 0 auto;
  margin-top: 10px;
}
.hvr-caption{
    display: flex;
    justify-content: center;
    align-items: center;
}
.cap-photo{
    position: relative;

}
.caption {
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: rgb(0, 0, 0, 0.5) ;
    position: absolute;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    transition: 0.4s;
    opacity: 0;
  }
  .caption:hover{
    opacity: 1;
  }
.footer{
    padding: 15px;
    display: flex;
    justify-content:space-between;
    padding-top: 5px;
    align-items: center;
}

.title-box{
  width: auto;
  margin: auto;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 10px;
}
.icon{
  width: 60px;
  height: 60px;
  padding: 15px;
}
.img-box{
  display: flex;
  margin: 0 auto;
  padding: 10px;
  justify-content: center;
  flex-wrap: wrap;
}
.img-link{
  width: 400px;
  height: 400px;
  box-shadow: 10px 10px rgb(0, 0, 0, 0.5);
  margin: 50px;
}
.img-link:hover{
  width: 410px;
  height: 410px;
  margin: 45px;
  box-shadow: none;
}
/* Style the buttons that are used to open and close the accordion panel */
.accordion {
    background-color: #eee;
    color: #444;
    cursor: pointer;
    padding: 18px;
    width: 100%;
    text-align: left;
    border: none;
    outline: none;
    transition: 0.4s;
  }
  
  /* Add a background color to the button if it is clicked on (add the .active class with JS), and when you move the mouse over it (hover) */
  .active, .accordion:hover {
    background-color: #ccc;
  }
  
  /* Style the accordion panel. Note: hidden by default */
  .panel {
    padding: 20px;
    display: none;
    overflow: hidden;
    justify-items: center;
    background-color: white;
  }
  /*
  grid areas and structures
  */

  .hor-01, .hor-02, .hor-03, .hor-04{
    width: 500px;
    height: 300px;
    background-image: url(https://placehold.co/500x300);
    border: 2px solid black;
  }
  .vert-01, .vert-02, .vert-03, .vert-04{
    width: 500px;
    height: 700px;
    background-image: url(https://placehold.co/500x700);
    border: 2px solid black;
  }
  .sqsm-01, .sqsm-02, .sqsm-03, .sqsm-04, .sqsm-05{
    width: 300px;
    height: 300px;
    background-image: url(https://placehold.co/300x300);
    border: 2px solid black;
  }
  .sqlg-01, .sqlg-02, .sqlg-03{
    width: 500px;
    height: 500px;
    background-image: url(https://placehold.co/500x500);
    border: 2px solid black;
  }
  .spread-01, .spread-02{
    width: 100%;
    height: auto;
    background-image: url(https://placehold.co/1000x500);
    border: 2px solid black;
  }
  .sq-10x{
    width: auto;
    height: auto;
    grid-area: sq-10x;
    background-image: url(https://placehold.co/1020x1020);
  }
  .hor-01{
    grid-area: hor-01;
    }
    .hor-02{
    grid-area: hor-02;
    }
    .hor-03{
        grid-area: hor-03;
    }
    .hor-04{
        grid-area: hor-04;
    }
    .vert-01{
        grid-area: vert-01;
    }
    .vert-02{
        grid-area: vert-02;
    }
    .vert-03{
        grid-area: vert-03;
    }
    .vert-04{
        grid-area: vert-04;
    }
    .sqsm-01{
        grid-area: sqsm-01;
    }
    .sqsm-02{
        grid-area: sqsm-02;
    }
    .sqsm-03{
        grid-area: sqsm-03;
    }
    .sqsm-04{
        grid-area: sqsm-04;
    }
    .sqsm-05{
        grid-area: sqsm-05;
    }
    .sqlg-01{
        grid-area: sqlg-01;
    }
    .sqlg-02{
        grid-area: sqlg-02;
    }
    .sqlg-03{
        grid-area: sqlg-03;
    }
    .spread-01{
        grid-area: spread-01;
    }
    .spread-02{
        grid-area: spread-02;
    }
    .grid-long2x{
        display: grid;
        grid-template-columns: 500px 500px 500px;
        grid-template-areas: 
        "hor-01 vert-01 vert-02"
        "hor-02 vert-01 vert-02"
        "hor-03 vert-03 vert-04"
        "hor-04 vert-03 vert-04"
        ;
        padding: 10px 20px;
        grid-gap: 25px;
        justify-content: center;
    }
    .grid-vr3x{
        display: grid;
        grid-template-columns: 500px 500px 500px;
        grid-template-areas:
        "vert-01 vert-02 vert-03"
        ;
        padding: 10px 20px;
        grid-gap: 25px;
        justify-content: center;
    }
    .grid-spread{
        display: grid;
        grid-template-columns: 500px 500px 500px;
        grid-template-areas: 
        "sqlg-01 spread-01 spread-01"
        "sqlg-02 spread-02 spread-02"
        ;
        padding: 10px 20px;
        grid-gap: 25px;
        justify-content: center;
    }
    .grid-hzhzvr{
        display: grid;
        grid-template-columns: 500px 500px 500px;
        grid-template-areas: 
        "hor-01 hor-02 vert-01"
        "hor-03 hor-04 vert-01"
        ;
        padding: 10px 20px;
        grid-gap: 25px;
        justify-content: center;
    }
    .grid-sq-feat{
        display: grid;
        grid-template-columns: 500px 60%;
        grid-template-areas: 
        "sqlg-01 sq-10x"
        "sqlg-02 sq-10x"
        ;
        padding: 10px 20px;
        grid-gap: 25px;
        justify-content: center;
    }
    .grid-sq-row{
        max-width: 1700px;
        display: grid;
        grid-template-columns: 500px 500px 500px;
        grid-template-areas: 
        "sqlg-01 sqlg-02 sqlg-03"
        ;
        padding: 20px;
        grid-gap: 25px;
        justify-content: center;
    }
  /*
  navigation
  */
  #nav-toggle{
    display: none;
  }
  
  #primary-nav{
    --icon-size: 40px;
    --hover-color: #FBB363;
    padding: 10px;
  }
  
  #primary-nav ul {
    list-style: none;
    margin: 0;
    padding-left: 0;
    justify-content: space-between;
  }
  #primary-nav li {
    display: inline-block;
    padding: 0;
    margin: 0;
    min-width: 60px;
    position: relative;
    text-decoration: none;
    transition-duration: 0.5s;
    border: 4px solid #DD1962;
    border-radius: 15px;
    margin: 10px 20px;
  }
  #primary-nav li li{
    display: block;
    margin-left: 0;
    z-index: 10;
    border: none;
    margin: 5px 20px;
  }
  #primary-nav li a {
    height: var(--icon-size);
    padding: 0 1em;
    color: #DD1962;
    vertical-align: middle;
    text-decoration: none;
    display: flex;
    align-items: center;
    
  }
  #primary-nav li li a {
    padding: 0.25em 2em;
    border: none;
    display: block;
  }
  #primary-nav li:hover, #primary-nav a:hover, #primary-nav li:focus-within {
      color: var(--hover-color);
      border-color: var(--hover-color);
      transition: all 0.3s ease-in;
  }
  #primary-nav li:focus-within a {
    outline: none;
  }
  
  #primary-nav ul li div {
    overflow:hidden;
    transition:height 0.3s ease-out;
    height: 0;
  
    position: absolute;
    transition: all 0.5s ease;
    margin-top: 1rem;
    left: 0;
    
  }
  #primary-nav .icon{
    display: block;
    cursor: pointer;
    position: absolute;
    top: 0;
    right: 0;
    background: transparent;
    border: none;
    color: #fff;
    display: none;
    padding: 0;
    width: var(--icon-size);
    height: var(--icon-size);
  }
  #primary-nav .icon img{
    transition: all 0.3s ease-in;
    width: var(--icon-size);
    height: var(--icon-size);
    transform: rotate(0deg);
  }
  #primary-nav .icon.active img{
    transform: rotate(90deg);
  }
  
  #primary-nav .dropdown{
    margin: 0;
    transition: all 0.5s ease;
  }
