/* FONT IMPORT */
@import url("https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap");

/* ROOT VARIABLES */
:root {
  --var-main-font: "Inter";
  --var-text-color: #333;
  --var-white-color: #fff;
  --var-primary-color: #004baa;
  --var-accent-color: #fe5658;

  --step--2: clamp(0.78rem, calc(0.77rem + 0.03vw), 0.8rem);
  --step--1: clamp(0.94rem, calc(0.92rem + 0.11vw), 1rem);
  --step-0: clamp(1.13rem, calc(1.08rem + 0.22vw), 1.25rem);
  --step-1: clamp(1.35rem, calc(1.28rem + 0.37vw), 1.56rem);
  --step-2: clamp(1.62rem, calc(1.5rem + 0.58vw), 1.95rem);
  --step-3: clamp(1.94rem, calc(1.77rem + 0.87vw), 2.44rem);
  --step-4: clamp(2.33rem, calc(2.08rem + 1.25vw), 3.05rem);
  --step-5: clamp(2.8rem, calc(2.45rem + 1.77vw), 3.82rem);
}

/* GENERAL STYLES */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: var(--var-main-font), sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 1rem;
}

a,
button {
  text-decoration: none !important;

  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

a:hover,
button:hover {
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

.theme-btn {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;

  color: #fff;
  background: var(--var-accent-color);
  padding: 0.5rem 2rem;
  border: none;
  border-radius: 4px;
  align-items: center;
  justify-content: center;

  position: relative;
}
.theme-btn:hover {
  background: var(--var-accent-color);
  color: #fff;
}

/* HEADER */
.header {
  position: sticky;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 999;
  transition: all 0.3s;
  background-color: #fff;
  border-bottom: 5px solid var(--var-primary-color);
  padding: 0.6rem 0;
}
.header.sticky {
  filter: drop-shadow(0px 12px 12px rgba(37, 37, 37, 0.2));
  /* padding: 0.1rem 0; */
}
/* HEADER */

/* NAVBAR */
.navbar-nav {
  gap: 0.5rem;
}
.navbar-nav .nav-link {
  font-size: 1rem;
  color: var(--var-primary-color);
  font-weight: 500;
}
.logo {
  height: 28px;
  object-fit: contain;
}
.dropdown-item--resources {
  position: inherit;
}
.dropdown-menu.resources-dropdown {
  position: fixed !important;
  top: 70px;
  left: 0;
  width: 100%;

  background-color: var(--var-primary-color);
  color: #fff;
  padding: 2rem 0.5rem;
}
.dropdown-content * {
  margin: 0;
}
.dropdown-content {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 1rem;
  padding-right: 0.5rem;
  border-right: 1px solid #fff;
  height: 100%;
}
.dropdown-content p {
  font-size: 0.8rem;
}
.dropdown-content.last {
  border: none;
}
/* NAVBAR */

.section {
  padding: 0.5rem 0;
}

/* MAIN */
.section--main {
  background-image: url(../img/main-bg.png);
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;

  padding: 2rem 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
ul.main-flags {
  list-style: none;
  display: flex;
  /* flex-direction: column; */
  gap: 0.5rem;
}
ul.main-flags li {
  display: flex;
  align-items: center;
  gap: 0.3rem;
  color: #fff;
  font-size: 0.8rem;
}
ul.main-flags li img {
  width: 12px;
  height: 12px;
}
.main-content h1 {
  font-size: var(--step-2);
  font-weight: 700;
  margin-bottom: 0;
}
.main-content {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  color: #fff;
}
.main-content p {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
#homepageSearchForm {
  display: flex;
}
ul#homepageSkillResults {
  top: 35px;
  left: 0px;
}

li.list-group-item {
  color: #000;
}
.search-bar {
  width: 100%;
  border-radius: 5px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}

.search-bar {
  background: #fff;
  padding: 0.3rem;
  font-size: 0.8rem;
}
.search-bar .form-control {
  border: none;
  font-size: 0.8rem;
}

.input-group-text {
  padding: 0;
  margin: 0;
  background: none;
  border: none;
}
.g-searchbar {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 0 1rem;
}

.g-searchbar div {
  flex: 1 1 auto;
}
/* MAIN */

/* RECENT SEARCH */
.section--recent {
  padding: 1rem 0;
}
/* RECENT SEARCH */

/* SKILL CATEGORY */
.section-heading {
  font-size: 1.2rem;
  color: var(--var-primary-color);
  font-weight: 700;
  margin-bottom: 1rem;
  text-align: center;
}
.slick-track {
  padding: 1.2rem 0;
}
.slick-next:before,
.slick-prev:before {
  color: var(--var-primary-color);
}
.category-card {
  background-color: #fff;
  box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
  padding: 1.5rem;
  border-radius: 12px;

  height: 120px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  margin: 0 0.3rem;
}
.category-card img {
  width: 40px;
  height: 40px;
  filter: invert(59%) sepia(69%) saturate(5111%) hue-rotate(327deg)
    brightness(105%) contrast(103%);
}
.category-card h3 {
  font-size: var(--step--2);
  text-align: center;
  text-transform: capitalize;
  font-weight: 600;
  color: var(--var-primary-color);
}
/* SKILL CATEGORY */

/* FEATURES */
.feature-card * {
  margin: 0;
}
.feature-card {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  padding: 0.5rem;
  transition: all 0.3s;
}
.feature-card h3 {
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--var-primary-color);
  text-align: center;
}
.feature-card p {
  font-size: 1rem;
  text-align: center;
}
.feature-card:hover {
  background-color: var(--var-primary-color);
  color: #fff;
}
.feature-card:hover h3 {
  color: #fff;
}
/* FEATURES */

/* COUNTRIES */
.section--countries {
  display: none;
  padding: 1rem 0;
}
.accordion .card-header {
  background: #fff;
  border: none;
  border-bottom: 3px solid #000;
  padding: 0;
}
.accordion .card-header button {
  color: #000;
  font-weight: 500;
  padding: 0.5rem 0;
  border-radius: 0;
  font-size: 0.8rem;
}

.accordion > .card {
  border: none;
}

.accordion .card .card-body {
  padding: 1rem 0;
}

.country-name {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
/* COUNTRIES */

/* FOOTER */
.footer {
  border-top: 5px solid var(--var-primary-color);
  padding: 1rem 0;
}

ul.footer-nav {
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  font-size: 0.8rem;
}

ul.footer-social {
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  font-size: 1rem;
}

.footer a {
  color: var(--var-primary-color);
}

.footer p {
  font-size: 0.8rem;
  text-align: center;
}
/* FOOTER */

/* SKILLS PAGE */
.container--skills-main,
.container--locations-main,
.container--persons-main {
  margin: 2rem 0;
  height: 500px;
  overflow-y: scroll;
  box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
  border-radius: 12px;
  padding: 2rem;
}

.login-page-heading {
  font-size: 1.2rem;
  font-weight: 700;
  margin: 1rem 0;
  text-align: center;
}
.login-img {
  height: 500px;
  object-fit: contain;
  display: flex;
  align-items: center;
}
.inner-heading {
  font-size: 1.2rem;
  font-weight: 700;
  margin-bottom: 1rem;
  text-align: center;
}
.skill-card {
  background-color: #fff;
  box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
  border-radius: 12px;
  height: 60px;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.5rem;
  margin-bottom: 1.5rem;
}
.skill-card a {
  font-size: 1rem;
  font-weight: 600;
  text-transform: capitalize;
  color: var(--var-primary-color);
}
/* SKILLS PAGE */

/* LOCATIONS PAGE */
.location-card * {
  margin: 0;
}
.location-card {
  background-color: #fff;
  box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
  border-radius: 12px;

  display: flex;
  flex-direction: column;

  padding: 0.8rem;
  margin-bottom: 1.5rem;
}
.location-card p {
  font-size: 0.8rem;
}
.location-card a {
  color: var(--var-primary-color);
  text-decoration: underline !important;
}
ul#locationResults li {
  transition: all 0.3s;
}
ul#locationResults li:hover {
  cursor: pointer;
  background-color: #e5e5e5;
}
/* LOCATIONS PAGE */

/* PERSON CARD */
.person-card * {
  margin: 0;
}
.person-card {
  background-color: #fff;
  box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
  border-radius: 12px;

  display: flex;
  flex-direction: column;

  padding: 0.8rem;
  margin-bottom: 1.5rem;
}
.person-card p {
  font-size: 0.8rem;
}
.person-card a {
  font-size: 1.2rem;
  font-weight: 700;
  text-transform: capitalize;
  color: var(--var-primary-color);
  text-decoration: underline !important;
}
/* PERSON CARD */

.section--inner-main {
  background-color: var(--var-primary-color);
  padding: 2rem 0;
  color: #fff;
}
.section--inner-main h1 {
  font-size: var(--step-2);
  font-weight: 600;
  text-align: center;
}
.section--inner-main p {
  text-align: center;
}

/* WHAT WE DO */
.what-card {
  border-top: 5px solid var(--var-primary-color);
  border-bottom: 5px solid var(--var-primary-color);
  padding: 1.5rem 1rem;

  box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
  margin-bottom: 1rem;

  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.what-card.red {
  border-top: 5px solid var(--var-accent-color);
  border-bottom: 5px solid var(--var-accent-color);
}
.how-content h2,
.what-card h3 {
  font-size: 1.8rem;
  font-weight: 700;
  color: var(--var-primary-color);
  text-align: center;
}
.how-content.red h2,
.what-card.red h3 {
  color: var(--var-accent-color);
}
.how-content h2 {
  font-size: 1rem;
  font-weight: 700;
  color: var(--var-primary-color);
}
.disclaimer-content h3 {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--var-primary-color);
}
.section--done {
  padding: 2rem 0;
  background-color: var(--var-primary-color);
  color: #fff;
  text-align: center;
}
.section--done h2 {
  font-size: var(--step-2);
  font-weight: 600;
  text-align: center;
}
.new-content {
  padding: 1rem 0;
}
.new-content h2 {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--var-primary-color);
}
/* WHAT WE DO */

/* POLICY PAGES */
.policy-content {
  margin: 2rem 0;
}
.policy-content h1 {
  font-size: var(--step-1);
}
.policy-content h2 {
  font-size: var(--step-0);
  font-weight: 700;
}
/* POLICY PAGES */

/* CONTACT PAGE */
.section--contact {
  padding: 1rem 0;
}
.contact-content {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.contact-content h2 {
  font-size: 2rem;
  font-weight: 700;
  color: var(--var-primary-color);
}
.contact-card {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  text-align: center;
  border: 3px solid var(--var-accent-color);
  padding: 1.2rem;
}
.contact-card.blue {
  border: 3px solid var(--var-primary-color);
}
/* CONTACT PAGE */

/* MODAL */
.modal-dialog {
  max-width: 700px;
}

.modal-content {
  padding: 1rem 2rem;
}
.modal-content h2 {
  font-size: 1.2rem;
  font-weight: 700;
  text-align: center;
}
/* MODAL */

/* POST CARD */
.post-card {
  border: 1px solid #777;
  padding: 1rem;
  border-radius: 12px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 1rem;
  height: 100%;
  margin-bottom: 1rem;
}

.post-card h3 {
  font-size: 1.2rem;
  font-weight: 600;
}

.post-card img {
  height: 300px;
  object-fit: cover;
  border-radius: 10px;
}
/* POST CARD */

/* POST CONTENT */
.post-content {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin: 2rem 0;
}

.post-content * {
  margin: 0;
}

.post-content h3 {
  color: var(--var-accent-color);
  font-size: 0.8rem;
  background: #dadada;
  display: inline;
  width: fit-content;
  padding: 0.5rem;
  border-radius: 4px;
}

.post-content img {
  width: 100%;
  height: 400px;
  object-fit: cover;
  border-radius: 10px;
}

.post-content h2 {
  font-size: 2rem;
  font-weight: 700;
}
/* POST CONTENT */

/* REGISTER */
.nav-pills-register {
  background: var(--var-primary-color);
  padding: 0.8rem;
  border-radius: 4px;
  gap: 1rem;
}
.nav-pills-register .nav-link {
  color: #fff;
  border: none;
  background: none;
}
.nav-pills-register .nav-link.active {
  background-color: var(--var-accent-color);
}
.register-info-box {
  background-color: var(--var-primary-color);
  padding: 1rem;
  border-radius: 4px;
  color: #fff;
}
.register-info-box ul {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  text-align: center;
}
.register-info-box a {
  color: #fff;
  text-decoration: underline !important;
}
/* REGISTER */
