:root {
  --color-blue: #0087ff;
  --color-blue-dark: #003670;
  --color-blue-light: #80b3ff;
  --color-red: #dc052d;
  --color-pink: #ff6568;
  --color-green: #2ecc71;
  --color-gray: rgb(109, 109, 109);
  --color-gray-light: #f3f3f3;
  --color-orange: #ffba00;
  --color-purple: #9370f0;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: "Poppins", sans-serif;
  font-weight: 400;
  line-height: 1.75;
}

p {margin-bottom: 1rem;}

h1, h2, h3, h4, h5 {
  margin: 2rem 0 1rem;
  font-family: 'Poppins', sans-serif;
  font-weight: 700;
  line-height: 1.3;
  color: var(--color-blue-dark);
}

h1 {
  margin-top: 0;
  font-size: 3.052rem;
}

h2 {font-size: 2.441rem;}

h3 {font-size: 1.953rem;}

h4 {font-size: 1.563rem;}

h5 {font-size: 1.25rem;}

small, .text_small {font-size: 0.8rem;}

.m-0{
  margin: 0;
}

.main-container{
  display: grid;
  min-height: 100vh;
  grid-template-rows: auto auto 1fr auto;
}

/* HEADER */
.container_header{
  background-color: var(--color-blue-dark) !important;
}
.container_header div a{
  text-decoration: none;
  color: var(--white);
}
.header{
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.62rem 0;
}
.logo{
  display: flex;
  align-items: center;
  margin: 0.4rem 0;
}
.logo_icon{
  margin-right: 20px;
  position: relative;
}
.logo_icon::before {
  background-color: hsla(0, 0%, 100%, 0.43);
  content: "";
  display: block;
  height: 44px;
  position: absolute;
  right: -10px;
  top: 4px;
  width: 1px;
}
.logo_text > span {
  font-weight: 700;
}
/* CARD PROJECT */
.grid-card{
  display: grid;
  grid-template-columns: auto auto;
  grid-gap: 0.74rem;
}
.card-project{
  display: flex;
  flex-direction: row;
  gap: 0.75rem;
  padding: 1rem 0.75rem;
  border: 0.2rem solid #003876;
  border-radius: 0.75rem;
  transition: all 0.5s ease-out;
}
.card-project:hover{
  -moz-box-shadow: 4px 6px 8px 0px rgba(0,56,118,0.3);
  box-shadow: 4px 6px 8px 0px rgba(0,56,118,0.3);
}
.card-project div:last-child{
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  justify-content: space-between;
}
.icon-container{
  background-color: #EEF5FF;
  padding: 0.2rem 0.75rem;
  border-radius: 0.3rem;
}
.icon-container i{
  font-size: 32px;
  color: #003876;
}
.card-project .desc{
  color: #808080;
  font-weight: 400;
  font-size: 1rem;
  text-wrap: pretty;
}
.card-project .link{
  width: fit-content;
  display: inline-flex;
  position: relative;
  align-items: center;
  gap: 0.4rem;
  color: #003876;
}
.card-project .link i{
  font-size: 20px;
  transition: all 0.6s ease;
}
.card-project .link:hover{
  text-decoration: none;
}
.card-project .link:hover i{
  transform: translateX(3px);
}
.card-project .link::after{
  content: "";
  position: absolute;
  width: 100%;
  height: 3px;
  bottom: 0;
  left: 0;
  right: 0;
  border-radius: 12px;
  background: #003876;
  transform: scaleX(0);
  transform-origin: left;
  transition: .5s ease-in-out;
}
.link-icon-wrapper{
  flex-shrink: 0;
  position: relative;
  background-color: #fff;
  border-radius: 50%;
  display: grid;
  place-items: center;
  overflow: hidden;
}
.link-icon--copy{
  position: absolute;
  transform: translate(-150%, 150%);
}
.card-project .link:hover .link-icon:first-child {
  transition: transform .3s ease-in-out;
  transform: translate(150%, -150%);
}
.card-project .link:hover .link-icon--copy {
  transition: transform .3s ease-in-out .1s;
  transform: translate(0);
}
@media screen and (max-width: 768px) {
  .grid-card{
    grid-template-columns: 1fr;
  }
}

/* FOOTER */
.footer-title{
  font-size: 14px;
  font-weight: 500;
}
.footer-dark .footer-top .logo-cont img{
  height: 60px;
  width: auto;
}
.footer-menu-list li{
  margin-bottom: 0 !important;
}
.footer-light .footer-top .footer-menu-list li a {
  color: #003876;
  line-height: 20px;
  font-size: 14px;
}
.footer-light .footer-top .footer-menu-list li a:hover {
  opacity: 0.8;
}
.footer-light .footer-top .footer-menu-list li:not(:last-child) {
  margin-bottom: 12px;
}
.footer-light .footer-top .footer-menu-list li span {
  color: #003876;
  line-height: 20px;
  font-size: 14px;
}
.footer-light .footer-bottom {
  background-color: #003670;
}
.footer-light .footer-bottom-cont {
  padding: 30px 0;
  color: #fff;
  display: flex;
  justify-content: space-between;
}
.footer-light .footer-bottom-cont .date,
.footer-light .footer-bottom-cont .logo {
  font-size: 14px;
  display: inline-flex;
  align-items: center;
  font-weight: 500;
}
.footer-light .footer-bottom-cont .logo {
  display: inline-flex;
  align-items: center;
}
.footer-light .footer-bottom-cont .logo img {
  margin-left: 8px;
}
.footer-bottom-right .follow-icons{
  margin: 0;
}
.footer-light .footer-bottom-right {
  display: flex;
  align-items: center;
}
.footer-light .footer-bottom-right .follow-text {
  margin-right: 8px;
  font-size: 14px;
  font-weight: 600;
}
.footer-light .footer-bottom-right .follow-icons {
  display: grid;
  grid-auto-flow: column;
  grid-column-gap: 16px;
}
.footer-light .footer-bottom-right .follow-icons a {
  color: #ffffff;
}

@media screen and (max-width: 768px) {
  .footer-light .footer-top .row > div {
    margin-top: 30px;
  }
  .footer-light .footer-bottom-cont {
    flex-direction: column;
    align-items: center;
    gap: 15px;
    text-align: center;
  }
}
@media screen and (max-width: 1200px) {
  .footer-light .footer-top .logo-cont img {
    max-width: 180px;
  }
  .footer-light .footer-top .logo-cont::after {
    right: 0 !important;
  }
}