*{
   font-family: "Rasa", serif;
   font-style: normal;

   margin:0; 
   padding:0;
   box-sizing: border-box;
   outline: none; 
   border:none;
   text-decoration: none;

   transition: all .2s linear;
   text-transform: capitalize;
}

h2{ 
   color: #e8c2d3;

   font-family: "Rasa", serif;
   font-optical-sizing: auto;
   font-style: normal;
   font-size: clamp(2rem, 6vw, 5.3rem);

   justify-content: justify;
   text-align: center;

   font-weight: 2000;
   line-height: 100%;
   letter-spacing: 5px;
}

body{
   background-color: #131314;
   min-height: 100vh;
}

html{
   font-size: 62.5%;
   overflow-x: hidden;
}

/* Officer cards */
.container{
   max-width: 1200px;
   margin:0 auto;
   padding: 3rem 2rem;
}

.container .page-title{
   text-align: center;
   padding: 5rem 0;
}

.container .officer-container{
   display: grid;
   grid-template-columns: repeat(auto-fit, minmax(30rem, 1fr));
   gap:2rem;
}

.container .officer-container .officer{
   background: transparent;
   
   text-align: center;
   padding:3rem 2rem;
   cursor: pointer;
}

.container .officer-container .officer img{
   height: 25rem;
   width: 25rem;
   object-fit: cover;
   border-radius: 50%;
}

.container .officer-container .officer:hover img{
   transform: scale(.95);
}

.container .officer-container .officer h3{
   color:#ece8ef;

   padding:.5rem 0;
   font-size: 2.4rem;
   letter-spacing: 1px;
}

.container .officer-container .officer-name{
   color:#ece8ef;
   font-size: 2rem;
}

.container .officer-container .officer:hover h3,
.container .officer-container .officer:hover .officer-name {
    color: #bd6d93
}

.officer-preview{
   background: rgba(0,0,0,.7);

   position: fixed;
   top:0; left:0;
   min-height: 100vh;
   width: 100%;
   display: none;

   align-items: center;
   justify-content: center;
}

.officer-preview .preview{
   background: #fff;

   position: relative;
   display: none;
   padding: 2rem;
   margin:2rem;
   width: 40rem;

   text-align: center;
}

.officer-preview .preview.active{
   display: inline-block;
}

/* The "x" */
.officer-preview .preview .fa-times{
   color:#a38ec1;

   position: absolute;
   top:1rem; 
   right:2rem;
   cursor: pointer;

   font-size: 3rem;
}

.officer-preview .preview .fa-times:hover{
   transform: scale(1.3);
}

/* Officer Position */
.officer-preview .preview h3{
   color:#56575c;

   /* letter-spacing: 2px; */
   padding: 5rem 0.5rem 0 0;
   font-size: 2.5rem;
   font-weight: normal;
}

/* Officer Name */
.officer-preview .preview .officer-name{
   color:#b18ee4;
   letter-spacing: 2px;   
   padding: 1.5rem 0;
   font-size: 2.5rem;
   font-weight: bold;
}

/* Major, minor, graduation */
.officer-preview .preview .highlight{
   color: #b18ee4;
}

.officer-preview .preview .officer-detail{
   color: #56575c;
}

/* The preview box itself */
.officer-preview .preview{
   padding: 3rem;
   font-size: 1.8rem;
   border-radius: 5px;
}

/* Buttons */
.officer-preview .preview .buttons{
   display: flex;
   flex-wrap: wrap;

   gap:1.5rem;
   margin-top: 3rem;
   align-items: center;
   justify-content: center;
}

.officer-preview .preview .buttons a{
   color:#444;
   
   flex:1 1 16rem;
   padding:1rem;
   font-size: 1.8rem;
   border-radius: 5px;
   align-items: center;
   justify-content: center;
}

/* Button specifics */
.officer-preview .preview .buttons a.officer-linkedin{
   background: #a4bdef;
   color:#fff;
}

.officer-preview .preview .buttons a.officer-email{
   border:.1rem solid #444;
}

.officer-preview .preview .buttons a.officer-linkedin:hover{
   background: #111;
}

.officer-preview .preview .buttons a.officer-email:hover{
   background: #444;
   color:#fff;
}


@media (max-width:991px){
   html{
      font-size: 55%;
   }
}

@media (max-width:768px){
   .officer-preview .preview img{
      height: 25rem;
   }
}

@media (max-width:450px){
   html{
      font-size: 50%;
   }
}