*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  font-size: 15px;
}

body {
  font-family: 'Poppins', sans-serif;
  margin: 0;
}

h2 {
  font-weight: 600;
  color: hsl(234, 12%, 34%);
  margin: 0;
}

header, main {
  margin: 0 auto;
  max-width: 34.1333rem; /* 512px */
}

header {
  padding: 4rem 0; /* 60px 0 */
}

header .details, main {
  width: 90%;
}

img {
  position: absolute;
  right: 0;
  padding-right: 2.6667rem; /* 40px */
}

/* header styles */

header .details {
  margin: 0 auto;
  text-align: center;
}

header .details p {
  margin-top: 0;
}

.p-one {
  font-weight: 200;
  margin-bottom: 0.3333rem; /* 5px */
  font-size: 1.8667rem; /* 28px */
  color: hsl(212, 6%, 44%);
}

.p-two {
  font-weight: 600;
  color: hsl(234, 12%, 34%);
  font-size: 1.8667rem; /* 28px */
  margin-bottom: 1rem; /* 15px */
}

.p-three {  
  font-weight: 400;
  padding: 0 1.3333rem; /* 20px */
  margin-bottom: 0;
  color: hsl(234, 12%, 34%);
}

/* main page styles */

.card-container {
  height: 17.3333rem; /* 260px */
  margin-bottom: 2rem; /* 30px */
  padding: 2rem 1.3333rem; /* 30px 20px */
  position: relative;
  border-radius: 0.4rem; /* 6px */
  cursor: default;
  box-shadow: 0px 0.1333rem 0.6667rem -0.3333rem rgba(0,0,0,0.75); /* 2px 10px -5px */
  transition: 0.3s ease;
}

.text-container {
  width: 95%;
}

.text-container p {
  font-weight: 400;
  color: hsl(212, 6%, 44%);
}

.section-one {
  border-top: 0.3333rem solid hsl(180, 62%, 55%); /* 5px */
}

.section-two {
  border-top: 0.3333rem solid hsl(0, 78%, 62%); /* 5px */
}

.section-three {
  border-top: 0.3333rem solid hsl(34, 97%, 64%); /* 5px */
}

.section-four {
  border-top: 0.3333rem solid hsl(212, 86%, 64%); /* 5px */
  margin: 0;
}


/* Footer styles */
.attribution { 
  font-weight: 400;
  font-size: 0.7333rem; /* 11px */
  text-align: center;
 }
 
.attribution a {
  text-decoration: none;
  color: hsl(228, 45%, 44%); 
}

.card-container:hover {
  transform: scale(1.02);
}

a:hover {
  text-decoration: underline;
}

/* Desktop Media queries */

@media (min-width: 85.3333rem) { /* 1280px */
  main {
    max-width: 80%;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .left-card, .center-card, .right-card {
    width: 30%;
  }
  .center-card {
    margin: 0 3%;
  }
}
