@charset "UTF-8";
/** Screen Size **/
/** Color Palette **/
/** Font Family **/
:root {
  /** Screen Size **/
  --mobileSmall: 320px;
  --mobileMedium: 375px;
  --mobileLarge: 425px;
  --tablet: 768px;
  --laptopSmall: 1024px;
  --laptopMedium: 1440px;
  --laptopLarge: 2560px;
  /** Color Palette **/
  --black: #1d1e1d;
  --white: #f3f5f7;
  --white_azure: #F0FFFF;
  --gray: #444447;
  --dark_blue: #01061d;
  --light_blue: #0E76B4;
  --blue: #000080;
  --red: #821F00;
  --green: #006158;
  --yellow: #916A08;
  --color: #1d1e1d;
}

@font-face {
  font-family: "Oswald";
  font-style: normal;
  font-weight: 200 700;
  font-display: swap;
  src: url("/fonts/googleFont.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "NerdFont";
  font-weight: 400;
  font-style: normal;
  font-variant: normal;
  font-display: swap;
  src: url("/fonts/nerdfonts.woff2") format("woff2");
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  font-size: 62.5%;
  user-select: none;
  color: #f3f5f7;
}

body {
  background-color: #01061d;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='400' viewBox='0 0 800 800'%3E%3Cg fill='none' stroke='%23021530' stroke-width='1'%3E%3Cpath d='M769 229L1037 260.9M927 880L731 737 520 660 309 538 40 599 295 764 126.5 879.5 40 599-197 493 102 382-31 229 126.5 79.5-69-63'/%3E%3Cpath d='M-31 229L237 261 390 382 603 493 308.5 537.5 101.5 381.5M370 905L295 764'/%3E%3Cpath d='M520 660L578 842 731 737 840 599 603 493 520 660 295 764 309 538 390 382 539 269 769 229 577.5 41.5 370 105 295 -36 126.5 79.5 237 261 102 382 40 599 -69 737 127 880'/%3E%3Cpath d='M520-140L578.5 42.5 731-63M603 493L539 269 237 261 370 105M902 382L539 269M390 382L102 382'/%3E%3Cpath d='M-222 42L126.5 79.5 370 105 539 269 577.5 41.5 927 80 769 229 902 382 603 493 731 737M295-36L577.5 41.5M578 842L295 764M40-201L127 80M102 382L-261 269'/%3E%3C/g%3E%3Cg opacity='0.85' fill='%230D1828'%3E%3Ccircle cx='769' cy='229' r='5'/%3E%3Ccircle cx='539' cy='269' r='5'/%3E%3Ccircle cx='603' cy='493' r='5'/%3E%3Ccircle cx='731' cy='737' r='5'/%3E%3Ccircle cx='520' cy='660' r='5'/%3E%3Ccircle cx='309' cy='538' r='5'/%3E%3Ccircle cx='295' cy='764' r='5'/%3E%3Ccircle cx='40' cy='599' r='5'/%3E%3Ccircle cx='102' cy='382' r='5'/%3E%3Ccircle cx='127' cy='80' r='5'/%3E%3Ccircle cx='370' cy='105' r='5'/%3E%3Ccircle cx='578' cy='42' r='5'/%3E%3Ccircle cx='237' cy='261' r='5'/%3E%3Ccircle cx='390' cy='382' r='5'/%3E%3C/g%3E%3C/svg%3E");
  font-family: "Oswald", Arial, sans-serif;
  font-size-adjust: 0.5;
}

h1 {
  font-size: 4.8rem;
  min-height: 42px;
  height: fit-content;
}

h2 {
  font-size: 3.62rem;
  min-height: 32px;
  height: fit-content;
}

h3 {
  font-size: 2.8rem;
  min-height: 24px;
  height: fit-content;
}

h1, h2, h3 {
  width: 100%;
  padding: 24px 0 20px 0;
  color: #f3f5f7;
  line-height: 1.1;
  contain: layout;
}

h4, h5, h6 {
  font-size: 2.4rem;
}

p, li, a {
  font-size: 2rem;
}

h4, h5, h6, p, li, a {
  color: #f3f5f7;
  line-height: 1.25;
  height: fit-content;
  margin: 12px 0;
  contain: layout;
}

a {
  margin: 0;
  text-decoration: none;
}

.icon--nf {
  font-family: "NerdFont", Arial, sans-serif;
  line-height: 1.15;
  font-size: 1.8rem;
}

div.body {
  display: grid;
  grid-template-rows: auto 1fr auto auto;
  min-height: 100vh;
  color: #F0FFFF;
}
@media (width > 768px) {
  div.body {
    grid-template-rows: auto auto 1fr auto;
  }
}

section.section {
  display: grid;
  place-items: center;
  min-height: 15px;
  height: fit-content;
  padding: 12px 16px;
  contain: layout;
}
@media (width > 425px) {
  section.section {
    place-self: center;
    display: grid;
    width: 90%;
  }
}
@media (width > 768px) {
  section.section {
    display: grid;
    place-self: center;
    width: 80%;
    margin: 0 auto;
  }
  section.section h1, section.section h2 {
    width: 100%;
    text-align: center;
    margin: 0 0 16px 0;
  }
}
@media (width >= 1440px) {
  section.section {
    width: 70%;
    margin: 0 auto;
  }
}

.brand {
  display: flex;
  align-items: center;
  gap: 8px;
  width: max-content;
  margin-left: 6px;
  font-family: "Times New Roman", Times, serif;
  color: #f3f5f7;
}
.brand div > p {
  margin: 0;
}
.brand .logo {
  display: grid;
  place-content: center;
  border-color: #f3f5f7;
  border-width: 2px;
  border-style: solid;
  height: 4rem;
  width: 4rem;
  border-radius: 50%;
  font-family: "Times New Roman", Times, serif;
  background: rgb(3, 16, 78);
  background: linear-gradient(135deg, rgb(3, 16, 78) 10%, rgb(20, 20, 113) 85%, rgb(251, 248, 255) 98%);
}
.brand .logo p {
  font-family: "Times New Roman", Times, serif;
  font-size: 3.9rem;
  line-height: 3.9rem;
  color: #f3f5f7;
}

#lang-selector .section {
  display: flex;
  justify-content: end;
  padding-top: 16px;
  padding-bottom: 0;
  gap: 12px;
}
#lang-selector .section label img {
  height: 3.2rem;
  width: 3.2rem;
}
#lang-selector .section #langSelector {
  font-family: inherit;
  font-size: 1.8rem;
  padding: 4px 0;
  padding-right: 16px;
  margin-right: 24px;
  text-align: left;
  background-color: inherit;
  border: 0;
  color: inherit;
}
#lang-selector .section #langSelector option {
  text-align: left;
  color: #1d1e1d;
  background-color: #f3f5f7;
}

#header {
  display: none;
  position: sticky;
  left: 0;
  top: 0;
  z-index: 1000;
  min-height: 100px;
  height: fit-content;
  background-color: rgba(1, 6, 29, 0.85);
}
@media (width > 768px) {
  #header {
    display: block;
  }
  #header section {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 16px;
  }
}
#header section .header-menu {
  height: max-content;
}
#header section .header-menu > ul {
  display: flex;
  align-items: stretch;
  gap: 8px;
  list-style: none;
}
#header section .header-menu > ul li > a.header-item {
  display: block;
  padding: 0 16px;
  font-size: 2rem;
  color: #f3f5f7;
  transition-property: transform;
  transition-timing-function: ease-in-out;
  transition-duration: 400ms;
}
#header section .header-menu > ul li > a.header-item:hover, #header section .header-menu > ul li > a.header-item:focus {
  transform: scale(1.4);
  transition-property: transform;
  transition-timing-function: ease-in-out;
  transition-duration: 400ms;
}
#header section .header-menu > ul li > a.header-item.active {
  color: #0E76B4;
  border: 0;
  border-style: solid;
  border-color: #0E76B4;
  border-bottom-width: 4px;
}

#header-mobile {
  display: none;
  position: sticky;
  left: 0;
  bottom: 0;
  height: fit-content;
  min-height: 100px;
  z-index: 1000;
  padding: 8px 0px;
  background-color: rgba(1, 6, 29, 0.85);
}
@media (width <= 768px) {
  #header-mobile {
    display: block;
  }
}
#header-mobile .menu {
  display: flex;
  justify-content: center;
  width: 100%;
  height: 15vh;
  max-height: 84px;
}
#header-mobile .menu ul {
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-evenly;
  width: 100%;
  height: 100%;
}
#header-mobile .menu ul li {
  height: 100%;
}
#header-mobile .menu ul li .mobile-menu-item {
  display: grid;
  place-items: center;
  font-size: 1.2rem;
  filter: grayscale(1);
  color: #f3f5f7;
}
#header-mobile .menu ul li .mobile-menu-item figure > img {
  width: 32px;
  height: 32px;
}
@media (width > 425px) {
  #header-mobile .menu ul li .mobile-menu-item figure > img {
    width: 48px;
    height: 48px;
  }
}
#header-mobile .menu ul li .mobile-menu-item p {
  text-align: center;
}
#header-mobile .menu ul li .mobile-menu-item.active {
  filter: grayscale(0);
}

main #top-3 {
  display: grid;
  place-items: center;
  row-gap: 64px;
  width: 100%;
}
@media (width >= 650px) {
  main #top-3 {
    grid-template-columns: repeat(2, 1fr);
    column-gap: 64px;
  }
  main #top-3 article:nth-child(3) {
    grid-column: 1/-1;
  }
}
@media (width >= 1440px) {
  main #top-3 {
    grid-template-columns: repeat(3, 1fr);
  }
  main #top-3 article:nth-child(3) {
    grid-column: auto;
  }
}
main #top-3 article {
  transition: transform 300ms ease-in-out;
}
main #top-3 article.portfolio {
  display: grid;
  place-items: center;
  width: 250px;
  height: 250px;
  padding: 0;
  margin: 0;
}
main #top-3 article.portfolio a.card--top {
  position: relative;
  width: 250px;
  height: 250px;
}
main #top-3 article.portfolio a.card--top img.card-image {
  width: 250px;
  height: 250px;
  border-radius: 50%;
  border: 4px solid #9f7928;
  object-fit: cover;
}
main #top-3 article.portfolio a.card--top p {
  position: absolute;
  bottom: 0;
  width: 100%;
  padding: 12px 24px;
  margin: 0;
  text-align: center;
  font-size: 2.4rem;
  background: radial-gradient(ellipse farthest-corner at right bottom, #FEDB37 0%, #FDB931 8%, #9f7928 30%, #8A6E2F 40%, transparent 80%), radial-gradient(ellipse farthest-corner at left top, #FFFFFF 0%, #FFFFAC 8%, #D1B464 25%, #5d4a1f 62.5%, #5d4a1f 100%);
  color: #f3f5f7;
  clip-path: polygon(0 0, 100% 0, calc(100% - 20px) 50%, 100% 100%, 0 100%, 20px 50%);
}
main #top-3 article.article {
  position: relative;
  display: grid;
  place-items: center;
  width: 254px;
  height: auto;
  gap: 0;
  background-color: #f3f5f7;
  padding: 2px;
}
main #top-3 article.article a.card--top {
  width: 250px;
}
main #top-3 article.article a.card--top img.card-image {
  width: 250px;
  height: 100px;
  object-fit: cover;
}
main #top-3 article.article a.card--top p {
  font-size: 1.8rem;
  line-height: 1;
  padding: 0 4px 2px 4px;
  margin: 0;
  color: #1d1e1d;
}
main #top-3 article.article div.status {
  position: absolute;
  top: 0;
  right: 0;
  width: fit-content;
  display: flex;
  gap: 4px;
  border-bottom-left-radius: 8px;
  padding: 4px 8px;
  font-size: 1.4rem;
  background-color: #006158;
  text-transform: capitalize;
}
main #top-3 article.article div.status.gray {
  background-color: #444447;
  color: #1d1e1d;
}
main #top-3 article.article div.status.white {
  background-color: #f3f5f7;
  color: #1d1e1d;
}
main #top-3 article.article div.status.red {
  background-color: #821F00;
  color: #f3f5f7;
}
main #top-3 article.article div.status.yellow {
  background-color: #916A08;
  color: #f3f5f7;
}
main #top-3 article.article div.status.green {
  background-color: #006158;
  color: #f3f5f7;
}
main #top-3 article.article div.status.blue {
  background-color: #000080;
  color: #f3f5f7;
}
main #top-3 article:hover, main #top-3 article:focus {
  transition: transform 200ms ease-in-out;
  transform: scale(1.05);
}
main #search-container {
  position: sticky;
  top: 24px;
  z-index: 1000;
  width: 100%;
  min-height: 100px;
  padding: 24px 0 28px 0;
  background-color: rgba(1, 6, 29, 0.85);
}
main #search-container .search-container {
  display: grid;
  justify-content: space-between;
  align-content: center;
  grid-template-areas: "searchBar searchBar searchFilter" "dateFilter dateInput dateInput ";
  width: 100%;
  height: fit-content;
  padding: 16px;
  background-color: #f3f5f7;
  color: #1d1e1d;
  border-radius: 12px;
  column-gap: 8px;
}
main #search-container .search-container .search-bar {
  grid-area: searchBar;
  width: 100%;
  border: 0;
  background-color: transparent;
  font-size: 1.4rem;
  line-height: 2.8rem;
}
main #search-container .search-container .search-filter {
  grid-area: searchFilter;
}
main #search-container .search-container .date-filter {
  grid-area: dateFilter;
  justify-self: start;
}
main #search-container .search-container .date-input {
  grid-area: dateInput;
  justify-self: end;
  font-size: 1.4rem;
  border: 1px solid transparent;
  background: transparent;
  padding: 0;
  display: inline-block;
  visibility: visible;
  line-height: 2.8rem;
}
main #search-container .search-container .search-filter, main #search-container .search-container .date-filter {
  border: 0;
  background-color: transparent;
  font-size: 1.4rem;
  min-width: 50px;
  text-overflow: ellipsis;
}
main #cards-container, main #latest-blogs, main #top-projects {
  display: grid;
  row-gap: 24px;
  place-items: start;
  align-items: stretch;
  padding: 24px 0 16px 0;
  margin: 24px 0;
  min-height: 100px;
}
main #cards-container article.card, main #latest-blogs article.card, main #top-projects article.card {
  display: grid;
  place-items: center;
  grid-template-rows: auto 1fr;
  width: 250px;
  height: auto;
  margin: 0 auto;
  padding: 0;
  border-radius: 8px;
  background-color: #f3f5f7;
  color: #1d1e1d;
  border: 4px solid #F0FFFF;
  border-style: outset;
  border-left: 0;
  border-top: 0;
  border-right: 0;
  transition: transform 400ms ease-in-out;
}
main #cards-container article.card figure, main #latest-blogs article.card figure, main #top-projects article.card figure {
  position: relative;
  display: grid;
  width: 250px;
  place-items: center;
}
main #cards-container article.card figure img, main #latest-blogs article.card figure img, main #top-projects article.card figure img {
  width: 250px;
  height: 100px;
  border-radius: 8px;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  object-fit: cover;
}
main #cards-container article.card figure .status, main #latest-blogs article.card figure .status, main #top-projects article.card figure .status {
  position: absolute;
  bottom: 0;
  right: 0;
  width: fit-content;
  display: flex;
  gap: 4px;
  border-top-left-radius: 8px;
  padding: 4px 8px;
  font-size: 1.4rem;
  background-color: #006158;
  text-transform: capitalize;
}
main #cards-container article.card figure .status p, main #latest-blogs article.card figure .status p, main #top-projects article.card figure .status p {
  margin: 0;
}
main #cards-container article.card figure .status .icon--nf, main #latest-blogs article.card figure .status .icon--nf, main #top-projects article.card figure .status .icon--nf {
  color: inherit;
  font-size: 2.4rem;
}
main #cards-container article.card figure .status.gray, main #latest-blogs article.card figure .status.gray, main #top-projects article.card figure .status.gray {
  background-color: #444447;
  color: #1d1e1d;
}
main #cards-container article.card figure .status.white, main #latest-blogs article.card figure .status.white, main #top-projects article.card figure .status.white {
  background-color: #f3f5f7;
  color: #1d1e1d;
}
main #cards-container article.card figure .status.red, main #latest-blogs article.card figure .status.red, main #top-projects article.card figure .status.red {
  background-color: #821F00;
  color: #f3f5f7;
}
main #cards-container article.card figure .status.yellow, main #latest-blogs article.card figure .status.yellow, main #top-projects article.card figure .status.yellow {
  background-color: #916A08;
  color: #f3f5f7;
}
main #cards-container article.card figure .status.green, main #latest-blogs article.card figure .status.green, main #top-projects article.card figure .status.green {
  background-color: #006158;
  color: #f3f5f7;
}
main #cards-container article.card figure .status.blue, main #latest-blogs article.card figure .status.blue, main #top-projects article.card figure .status.blue {
  background-color: #000080;
  color: #f3f5f7;
}
main #cards-container article.card .card-content, main #latest-blogs article.card .card-content, main #top-projects article.card .card-content {
  display: grid;
  width: 100%;
  height: 100%;
  align-items: flex-start;
  padding: 8px 8px 12px 8px;
  grid-template-rows: auto auto auto 1fr 1fr auto;
}
main #cards-container article.card .card-content small.update, main #latest-blogs article.card .card-content small.update, main #top-projects article.card .card-content small.update {
  display: block;
  width: 100%;
  font-size: 1rem;
  text-align: right;
}
main #cards-container article.card .card-content h3, main #latest-blogs article.card .card-content h3, main #top-projects article.card .card-content h3 {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 0;
  color: #1d1e1d;
  font-size: 1.8rem;
  line-height: 1.15;
}
main #cards-container article.card .card-content .card-data, main #latest-blogs article.card .card-content .card-data, main #top-projects article.card .card-content .card-data {
  display: grid;
  row-gap: 2px;
  font-size: 1.2rem;
}
main #cards-container article.card .card-content .card-data small, main #latest-blogs article.card .card-content .card-data small, main #top-projects article.card .card-content .card-data small {
  font-size: 1.1rem;
  line-height: 1.15;
}
main #cards-container article.card .card-content .card-data div.card-status, main #latest-blogs article.card .card-content .card-data div.card-status, main #top-projects article.card .card-content .card-data div.card-status {
  display: flex;
  align-items: center;
  gap: 4px;
}
main #cards-container article.card .card-content .card-tags, main #latest-blogs article.card .card-content .card-tags, main #top-projects article.card .card-content .card-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  padding: 8px 0 4px 0;
}
main #cards-container article.card .card-content .card-tags .tag, main #latest-blogs article.card .card-content .card-tags .tag, main #top-projects article.card .card-content .card-tags .tag {
  margin: 0;
  padding: 4px 6px;
  border-radius: 4px;
  font-size: 1.2rem;
  color: #F0FFFF;
  background-color: #000080;
  text-transform: uppercase;
}
main #cards-container article.card .card-content .card-tags .tag.red, main #latest-blogs article.card .card-content .card-tags .tag.red, main #top-projects article.card .card-content .card-tags .tag.red {
  background-color: #821F00;
}
main #cards-container article.card .card-content .card-tags .tag.blue, main #latest-blogs article.card .card-content .card-tags .tag.blue, main #top-projects article.card .card-content .card-tags .tag.blue {
  background-color: #000080;
}
main #cards-container article.card .card-content .card-tags .tag.green, main #latest-blogs article.card .card-content .card-tags .tag.green, main #top-projects article.card .card-content .card-tags .tag.green {
  background-color: #006158;
}
main #cards-container article.card .card-content .card-tags .tag.yellow, main #latest-blogs article.card .card-content .card-tags .tag.yellow, main #top-projects article.card .card-content .card-tags .tag.yellow {
  background-color: #916A08;
}
main #cards-container article.card .card-content .card-tags .tag.grey, main #latest-blogs article.card .card-content .card-tags .tag.grey, main #top-projects article.card .card-content .card-tags .tag.grey {
  background-color: #444447;
}
main #cards-container article.card .card-content .card-description p, main #latest-blogs article.card .card-content .card-description p, main #top-projects article.card .card-content .card-description p {
  display: -webkit-box;
  max-width: 200px;
  max-height: 5.4rem;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  color: #1d1e1d;
  margin: 4px 0;
  font-size: 1.4rem;
  line-height: 1.8rem;
}
main #cards-container article.card .card-content .card-button, main #latest-blogs article.card .card-content .card-button, main #top-projects article.card .card-content .card-button {
  display: grid;
  padding: 4px;
  margin: 8px 0 0 0;
  width: 100%;
  border: 1px solid #444447;
  border-radius: 4px;
  text-align: center;
  font-size: 1.4rem;
  color: #444447;
  transition: transform 400ms ease-in-out;
  transform: scale(0.9);
}
main #cards-container article.card .card-content .card-button:hover, main #latest-blogs article.card .card-content .card-button:hover, main #top-projects article.card .card-content .card-button:hover {
  transition: transform 200ms ease-in-out;
  transform: scale(1);
}
main #cards-container article.card:hover, main #cards-container article.card:focus, main #latest-blogs article.card:hover, main #latest-blogs article.card:focus, main #top-projects article.card:hover, main #top-projects article.card:focus {
  transition: transform 200ms ease-in-out;
  transform: scale(1.05);
}
@media (width >= 600px) {
  main #cards-container, main #latest-blogs, main #top-projects {
    place-self: center;
    column-gap: 12px;
    grid-template-columns: repeat(2, 1fr);
  }
  main #cards-container article.card:last-child:nth-child(odd),
  main #cards-container div.card:last-child:nth-child(1),
  main #cards-container div.card.nothing, main #latest-blogs article.card:last-child:nth-child(odd),
  main #latest-blogs div.card:last-child:nth-child(1),
  main #latest-blogs div.card.nothing, main #top-projects article.card:last-child:nth-child(odd),
  main #top-projects div.card:last-child:nth-child(1),
  main #top-projects div.card.nothing {
    grid-column: 1/-1;
  }
}
main #contact {
  height: fit-content;
  min-height: 100px;
}
main #contact h2 {
  text-align: center;
  padding-block: 12px 24px;
}
main #contact .contact-form {
  display: grid;
  place-items: center;
  width: 80%;
  max-width: 500px;
  margin: 0 auto;
}
main #contact .contact-form label, main #contact .contact-form input, main #contact .contact-form textarea {
  width: 100%;
  font-family: "Oswald";
  font-size: 1.8rem;
  padding: 8px;
  border-radius: 8px;
  border-color: transparent;
}
main #contact .contact-form label:focus, main #contact .contact-form input:focus, main #contact .contact-form textarea:focus {
  outline: #0E76B4 solid 4px;
  background-color: white;
}
main #contact .contact-form label[for=message] {
  padding-block: 12px 4px;
}
main #contact .contact-form textarea {
  height: 150px;
  padding: 12px 8px;
  resize: none;
}
main #contact .contact-form .button-primary {
  margin-block: 16px 12px;
}

#footer {
  height: fit-content;
  min-height: 100px;
  display: grid;
  place-items: center;
  grid-template-columns: repeat(2, 1fr);
  row-gap: 16px;
  margin: 36px 0 48px 0;
}
#footer .copyright {
  display: inline-block;
  font-size: 2rem;
}
#footer .socials {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  grid-column: 1/-1;
}
#footer .socials a {
  margin-inline: 4px;
  font-size: 4.8rem;
  color: #F0FFFF;
}
#footer .socials a:last-child {
  font-size: 6rem;
}
#footer .signature {
  grid-column: 1/3;
}
#footer .signature p {
  text-align: center;
}
@media (width > 768px) {
  #footer {
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(2, 1fr);
  }
  #footer .socials {
    grid-column: auto;
  }
  #footer .signature {
    grid-column: 1/4;
  }
}

.flex {
  display: flex;
  width: 100%;
  column-gap: 12px;
}

.button-primary {
  display: block;
  width: fit-content;
  padding: 8px 16px;
  border: 0;
  border-radius: 8px;
  box-shadow: 0 0 6px 4px rgba(14, 118, 180, 0.5);
  background-color: #0E76B4;
  color: #f3f5f7;
  font-size: 1.8rem;
  cursor: pointer;
  transition: transform 400ms;
  transition-timing-function: ease-in-out;
}
.button-primary .icon--nf.send {
  transition: transform 400ms;
  transition-timing-function: ease-in-out;
}
.button-primary.youtube {
  color: #f3f5f7;
  box-shadow: 0 0 6px 4px rgba(225, 14, 11, 0.5);
  background-color: #E10E0B;
}
.button-primary.youtube .icon--nf {
  font-size: 3.2rem;
}
.button-primary.container--icon {
  display: flex;
  align-items: center;
  gap: 4px;
}
.button-primary:hover, .button-primary:focus {
  transform: scale(1.1);
  transition: transform 600ms;
  transition-timing-function: ease-in-out;
}
.button-primary:hover .icon--nf.send, .button-primary:focus .icon--nf.send {
  display: inline;
  transform: rotate(-45deg);
}

.button-secondary {
  display: block;
  width: fit-content;
  padding: 8px 16px;
  border-radius: 8px;
  box-shadow: 0 0 6px 4px rgba(1, 72, 131, 0.85);
  background-color: #014883;
  color: #F0FFFF;
  font-size: 1.8rem;
  cursor: pointer;
  transition: transform 400ms;
  transition-timing-function: ease-in-out;
}
.button-secondary .container--icon {
  display: flex;
  align-items: center;
  gap: 8px;
}
.button-secondary:hover, .button-secondary:focus {
  transform: scale(1.1);
  transition: transform 600ms;
  transition-timing-function: ease-in-out;
}

#keep-exploring {
  margin: 24px auto;
}
@media (width > 768px) {
  #keep-exploring p {
    text-align: center;
  }
  #keep-exploring div.flex {
    gap: 16px;
    justify-content: center;
  }
}

.work-in-progress {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 80%;
  height: max-content;
  min-height: 400px;
  margin: 0 auto;
  overflow: clip;
}
.work-in-progress img {
  width: 256px;
  height: 256px;
  margin: 0 auto;
  object-fit: contain;
  animation: workInProgress 5s infinite ease-in-out;
  transform-origin: top center;
}

@keyframes workInProgress {
  0% {
    transform: rotate(0deg);
  }
  15% {
    transform: rotate(10deg); /* Reducción del ángulo */
  }
  30% {
    transform: rotate(-5deg); /* Oscilación inversa */
  }
  45% {
    transform: rotate(5deg); /* Oscilación positiva más leve */
  }
  60% {
    transform: rotate(-3deg); /* Más leve de nuevo */
  }
  75% {
    transform: rotate(2deg); /* Regresa hacia la posición neutra */
  }
  100% {
    transform: rotate(0deg); /* Termina en la posición original  */
  }
}/*# sourceMappingURL=styles.css.map */