@import url("https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,200;0,300;0,400;0,500;0,600;0,700;1,200;1,300;1,400;1,500;1,600;1,700&display=swap");

:root {
  --main-color: #12355b;
  --main-color-transparent: rgba(0, 68, 129, 0.5);
  --secondary-color: #e3b505;
  --secondary-color-transparent: rgba(246, 247, 64, 0.3);
  --white-color: #fdfdfd;

  --main-text-color: #4d4d4d;
  --grey-text-color: #4d4d4d;
  --lightGray-text-color: rgb(143, 143, 143);

  --sides-padding: 8vw;
  --top-bottom-padding: 4em;
  --section-padding: var(--top-bottom-padding) var(--sides-padding);

  /* text vars */
  --regular: 400;
  --medium: 500;
  --semi-bold: 600;
  --bold: 700;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent;
}

body {
  color: var(--main-text-color);
  background-color: var(--main-color);
  font-family: "Poppins", sans-serif;
  font-weight: var(--regular);
  font-size: 14px;
}

h1 {
}
h2 {
  font-size: 2.2em;
}
h3 {
  font-size: 1.8em;
  margin-bottom: 1em;
}
h4 {
  font-size: 1.5em;
}
h5 {
  font-size: 1.3em;
}

p {
  text-align: justify;
  margin-bottom: 0.5em;
}

a {
  color: var(--secondary-color);
  text-decoration: none;
}
a:hover {
  opacity: 0.6;
}

label {
  display: block;
  padding-left: 1.5em;
  font-size: 0.8em;
}

/* floating labels */
.floating-label {
  display: block;
  pointer-events: none;
  padding-left: 1em;
  font-size: 1.1em;
  line-height: 1.5rem;
  transform: translateY(1.6em);
  color: var(--lightGray-text-color);
  transition: all 0.3s ease, color 0.4s;
}

.floating-label.moveUp {
  transform: translateY(0);
  line-height: 1.5rem;
  font-size: 0.8em;
  color: var(--main-color);
}

input,
textarea {
  background-color: transparent;
  padding: 0.5em 1.5em;
  border: none;
  border-bottom: 1px solid var(--lightGray-text-color);
  font-size: 1em;
  outline: none;
  width: 100%;
}
input[type="checkbox"] {
  width: auto;
  margin-right: 0.3em;
  transform: translateY(8%);
}
.current-input {
  border-bottom: 1px solid var(--main-color);
}

ul,
ol {
  padding-left: 1em;
}

.flex {
  display: flex;
}

.centered {
  text-align: center;
}
/* General video */
.iframe-container {
  position: relative;
  width: 100%;
  padding-bottom: 56.25%;
  height: 0;
}
.iframe-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* =================TEXT EDITOR OUTPUT=================*/
.text-tiny {
  font-size: 0.5em;
}
.text-small {
  font-size: 0.8em;
}
.text-big {
  font-size: 1.5em;
  line-height: 1.5;
}
.text-huge {
  font-size: 1.8em;
  line-height: 1.5;
}
.image_resized img {
  width: 100%;
}
/* ========================================= */

section {
  padding: var(--section-padding);
  min-height: 40vh;
}

.separator {
  width: 100%;
  height: 0.1em;
  margin: 2em 0;
  background-color: var(--white-color);
}

.button {
  display: inline-block;
  padding: 0.5em 2em;
  border: none;
  outline: none;
  font-size: 1em;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.3s ease-in-out;
}
.button:hover {
  opacity: 0.6;
}

.animate {
  animation-duration: 0.5s;
}

/* =================custom select droptown button========================== */
/*the container must be positioned relative:*/
.custom-select {
  position: relative;
  width: 300px;
}

.custom-select select {
  display: none; /*hide original SELECT element:*/
}

.select-selected {
  background-color: var(--blue-color);
}

/*style the arrow inside the select element:*/
.select-selected:after {
  position: absolute;
  content: "";
  top: 14px;
  right: 10px;
  width: 0;
  height: 0;
  border: 6px solid transparent;
  border-color: #fff transparent transparent transparent;
}

/*point the arrow upwards when the select box is open (active):*/
.select-selected.select-arrow-active:after {
  border-color: transparent transparent #fff transparent;
  top: 7px;
}

/*style the items (options), including the selected item:*/
.select-items div,
.select-selected {
  color: #ffffff;
  padding: 8px 16px;
  border: 1px solid transparent;
  border-color: transparent transparent rgba(0, 0, 0, 0.1) transparent;
  cursor: pointer;
  user-select: none;
}

/*style items (options):*/
.select-items {
  position: absolute;
  background-color: var(--light-blue-color);
  top: 100%;
  left: 0;
  right: 0;
  z-index: 99;
}

/*hide the items when the select box is closed:*/
.select-hide {
  display: none;
}

.select-items div:hover,
.same-as-selected {
  background-color: rgba(0, 0, 0, 0.3);
}
/* **************************************************************** */
/* =======page loader==================== */
.preloader {
  position: fixed;
  top: 0em;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--main-color);
  z-index: 8;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: opacity 0.3s ease-in-out;
}
.preloader img {
  width: 7em;
  animation: rotate 2s infinite;
}

/* ======================HEADER=============================== */
header {
  z-index: 10;
  width: 100%;
  background-color: var(--white-color);
}

.header-bg {
  width: 100%;
  padding: var(--section-padding);
  padding-bottom: 0;
  background: url("../img/header_bg.jpeg") no-repeat center/cover;
  position: relative;
  overflow: hidden;
  z-index: 1;
}

#myVideo {
  position: absolute;
  right: 0;
  top: 0;
  width: 100%;
  min-height: 100%;
  object-fit: cover;
}

.header-bg img {
  height: 8em;
  z-index: 2;
}

.header-bg .titles-container {
  z-index: 2;
  margin: 0 2em;
  flex-direction: column;
}

.header-bg h1,
.header-bg h2 {
  color: var(--white-color);
  font-size: 1.5em;
  text-align: center;
  font-weight: var(--semi-bold);
  line-height: 1.5;
  text-shadow: 0px 0px 5px #000000;
}

.header-bg h2 {
  font-size: 1.2em;
  font-weight: var(--medium);
  margin-top: 1em;
}

.header-bg hr {
  border: none;
  background-color: white;
  height: 1px;
  margin: 1em 0;
}

.header-bg div {
  display: flex;
  justify-content: space-around;
  align-items: center;
}

.header-bg div p {
  color: var(--white-color);
  font-size: 1.2em;
  text-align: center;
  text-shadow: 0px 0px 5px #000000;
  z-index: 3 !important;
  margin-top: 2em;
}

.header-menu {
  /* position: sticky; */
  background-color: var(--main-color);
  color: var(--white-color);
  width: 100%;
  padding: 0 var(--sides-padding);
  display: flex;
  justify-content: center;
  z-index: 1;
}

.header-menu a,
.header-menu p {
  color: var(--white-color);
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 1.5em 2em;
  min-height: 2.5em;
  cursor: pointer;
  margin-bottom: 0;
}

.header-menu a:hover {
  color: var(--secondary-color);
  opacity: 1;
}

.drop {
  justify-content: center;
}
.dropdown-header-item {
  position: relative;
}
.dropdown-header-item img {
  width: 0.8em;
  margin-left: 0.3em;
  transform: translateY(-5%);
}

.nav-links .dropdown {
  position: absolute;
  top: 4em;
  left: 50%;
  transform: translateX(-50%) !important;
  padding: 0 1em;
  min-width: 15em;
  background-color: var(--main-color);
  text-align: center;
  -webkit-box-shadow: 0px 5px 5px -1px rgba(0, 0, 0, 0.35);
  -moz-box-shadow: 0px 5px 5px -1px rgba(0, 0, 0, 0.35);
  box-shadow: 0px 5px 5px -1px rgba(0, 0, 0, 0.35);
  opacity: 0;
  pointer-events: none;
  transform: translateY(2em);
  transition: all 0.4s ease-in-out;
  z-index: 3;
}

.drop:hover + .dropdown,
.dropdown:hover {
  transform: translateY(0);
  opacity: 1;
  pointer-events: all;
}

.dropdown a {
  padding: 0.5em 0;
  color: var(--white-color);
  border-bottom: 1px solid var(--secondary-color-transparent);
}

.dropdown a:last-child {
  border-bottom: none !important;
}

/* Hamburger */
.hamburger-container {
  display: none;
  background-color: var(--main-color);
  position: fixed;
  top: 0;
  right: 0;
  width: 100%;
  height: 7em;
  z-index: 9;
}
#hamburger {
  transition: all 0.7s ease-in-out;
  position: fixed;
  top: 1em;
  right: 1.2em;
  padding: 1.5em;
  border-radius: 50%;
}

#hamburger div {
  pointer-events: none;
  width: 2.5em;
  height: 0.2em;
  margin: 0.5em;
  transition: all 0.7s ease;
  background-color: var(--white-color);
}

#hamburger.toggle-burger .line1 {
  transform: rotate(-135deg) translate(-5px, 6px);
  position: relative;
  top: 0.2em;
  width: 1.8em;
}

.toggle-burger .line2 {
  opacity: 0;
}

#hamburger.toggle-burger .line3 {
  transform: rotate(135deg) translate(-5px, -6px);
  position: relative;
  bottom: 0.2em;
  width: 1.8em;
}

/* ################################# MAIN CONTENT ############################### */
.page-tittle {
  font-size: 2em;
}

/* =================side bar============================= */
.page-container {
  display: flex;
  width: 100%;
  max-width: 100%;
  padding: 0 var(--sides-padding);
}
.main-content {
  width: calc(100% - 25em);
  background-color: var(--white-color);
  padding: 2em;
  /* height: fit-content; */
}

.main-content a {
  color: var(--grey-text-color);
}
.side-bar {
  width: 25em;
  background-color: var(--white-color);
  margin-left: 2em;
  padding: 1em;
  height: fit-content;
}

/* ==================clock===================== */
.js-clock-container {
  background-color: var(--main-color);
  padding: 1em;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.js-clock-container .clock {
  color: var(--white-color);
  font-size: 2.2em;
  margin-bottom: 0 !important;
}
/* ############################################## */
.visitors-globe-container {
  background-color: var(--main-color);
  margin-top: 1em;
  position: relative;
}
.visitors-flag-container {
  margin: 1em auto 0;
  padding: 2em;
  display: flex;
  justify-content: center;
  background-color: var(--main-color);
}
.search-container {
  padding: 1em;
  background-color: var(--main-color);
  margin-top: 1em;
}
.search-container p {
  color: var(--white-color);
  font-size: 1.5em;
  text-align: center;
  margin-bottom: 0.5em;
}
.search-container input {
  border-radius: 0;
  width: 100%;
  height: 100%;
  background-color: var(--white-color);
}
.search-form {
  position: relative;
}
.search-form button {
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
  background-color: var(--secondary-color);
  color: var(--main-color);
  font-family: var(--semi-bold);
  border: none;
  padding: 0 1.5em;
  cursor: pointer;
}
.sidebar-links {
  border: 1px solid var(--main-color);
  padding: 0 1em;
  margin-top: 1em;
}
.sidebar-links a,
.recomendations a {
  color: var(--main-color);
  display: block;
  padding: 0.5em 0;
  border-bottom: 1px solid var(--main-color-transparent);
}
.sidebar-links a:last-child,
.recomendations a:last-child {
  border: none;
}

.recomendations {
  padding: 0;
  overflow: hidden;
  margin-top: 1em;
}
.recomendations div {
  padding: 0 1em;
  border: 1px solid var(--main-color);
}
.recomendations p {
  width: 101%;
  padding: 0.5em 0;
  margin-bottom: 0;
  text-align: center;
  color: var(--white-color);
  background-color: var(--main-color);
}

/* ==============HOME PAGE==================== */
.latest-articles-tittle {
  font-size: 1.5em;
  margin: 2em 0 1em;
}

/* ========================Foto Gallery Page========================== */
/* =======================albums=============== */
.photo-albums-container,
.video-gallery-container {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(18em, 1fr));
  justify-content: center;
  align-content: center;
  align-items: center;
  grid-gap: 3em;
  width: 100%;
  margin-top: 2em;
}
.album-cover {
  position: relative;
  display: grid;
  grid-template-columns: repeat(auto-fill, 33.33%);
  grid-template-rows: repeat(auto-fill, 50%);
  justify-content: center;
  align-content: center;
  align-items: center;
  width: 100%;
  height: 12em;
  overflow: hidden;
  cursor: pointer;
}
.album-link:hover {
  opacity: 1;
}
.album-cover-img {
  width: 100%;
  height: 100%;
}

.album-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transform: translateY(100%);
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 1em;
  background-color: rgba(0, 0, 0, 0.65);
  transition: all 0.4s ease-in-out;
}

.album-overlay p {
  color: white;
  text-align: center;
}

.album-cover:hover > .album-overlay {
  transform: translateY(0);
}

.pager-container {
  width: 100%;
  text-align: center;
  display: grid;
  border-collapse: collapse;
  justify-content: center;
  margin-bottom: var(--top-bottom-padding);
}

.pager {
  display: flex;
  list-style: none;
}

.pager li a {
  padding: 0.5em;
  text-decoration: none !important;
  color: #084d0a;
  font-size: 1.3em;
}

.pager .current-page a {
  text-decoration: underline !important;
}

/* =======================Photo Album Gallery Page======================== */
.photo-gallery-title {
  display: block;
  text-align: center;
}
/* Masonry layout */
.photos-container {
  /* Prevent vertical gaps */
  line-height: 0;
  -webkit-column-count: 4;
  -webkit-column-gap: 0.5em;
  -moz-column-count: 4;
  -moz-column-gap: 0.5em;
  column-count: 4;
  column-gap: 0.5em;
}

.gallery-image {
  cursor: pointer;
  transition: all 0.3s ease-in-out;
  width: 100% !important;
  height: auto !important;
  margin-top: 0.5em;
}
.gallery-image:hover {
  filter: grayscale(1);
}

/* carousel */
.carousel-modal {
  background-color: rgba(0, 0, 0, 0.85);
  position: fixed;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  padding: 2em 0;
  z-index: 20;
  transition: opacity 0.3s ease-in-out;
}
.hide-modal {
  opacity: 0;
  pointer-events: none;
}
.close-modal-btn {
  background-color: rgba(0, 0, 0, 0.85);
  width: 1.8em;
  height: 1.8em;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  color: white;
  font-weight: var(--bold);
  font-size: 2em;
  position: fixed;
  top: 2em;
  right: 2em;
  z-index: 21;
  cursor: pointer;
}

.package-carousel {
  background-color: transparent;
  margin-bottom: 0;
}

.package-carousel .carousel-cell {
  width: 100%;
  height: calc(100vh - 12em);
  border-radius: 0;
  position: relative;
}
.package-carousel .carousel-cell img {
  width: 100%;
  max-width: 90vw;
  height: calc(100vh - 12em);
  display: block;
  margin: 0 auto;
  object-fit: contain;
}
.image-desc {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  padding: 1em;
  text-align: center;
  color: var(--white-color);
  background-color: rgba(0, 0, 0, 1);
  margin-bottom: 0;
}

.package-carousel .flickity-button {
  background-color: transparent;
  opacity: 1;
  height: 4em;
  width: 4em;
}

.package-carousel .flickity-prev-next-button.previous {
  left: 1em;
}
.package-carousel .flickity-prev-next-button.next {
  right: 1em;
}

.package-carousel-thumbs .carousel-cell {
  height: 8em;
  width: 8em !important;
  margin-right: 0;
  border-radius: 0;
}

.package-carousel-thumbs .flickity-button {
  display: none;
}

.package-carousel-thumbs .carousel-cell.is-nav-selected {
  filter: grayscale(1);
}

/* =================VIDEO GALLERY PAGE============== */
.video-container {
  height: 100%;
}
.video-title {
  font-size: 1em;
  color: var(--main-color);
  font-weight: var(--medium);
  margin-bottom: 0;
}
.video-actions {
  display: flex;
  width: 100%;
  justify-content: space-evenly;
}

/* ======================mass-media page========================== */
.massmedia-article {
  padding: 2em 0;
}
.massmedia-article img {
  display: block;
  margin: 1em auto;
  width: 80%;
  max-height: 60vh;
  object-fit: contain;
}

/* =========================Articles page======================== */
.domein-tittle {
  font-size: 1.5em;
  margin-bottom: 2em;
}
.article-description {
  margin: 3em 0;
}
.articles-list {
  list-style: none;
}
.articles-list li {
  margin-bottom: 1em;
}
.articles-list li a {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.doctype-logo {
  width: 2em;
  margin-right: 0.5em;
}

/* ====================CONTACT PAGE============================ */
.contact-title {
  font-size: 1.5em;
  margin-bottom: 1.5em;
}
.contact-form-title {
  font-size: 1.5em;
  display: block;
  text-align: center;
  margin: 4em 0 1.5em;
}

.contact-icon {
  width: 25px;
  transform: translateY(20%);
  margin-right: 0.5em;
}

.form-line {
  display: flex;
  justify-content: space-between;
  width: 100%;
}
.form-line .input-container {
  width: 100%;
}
.form-line .input-container.half-width {
  width: 45%;
}
.input-container input {
  width: 100%;
}
.contact-checkbox {
  margin-top: 1.5em;
}
.submit-contact {
  width: 100%;
  color: var(--white-color);
  background-color: var(--main-color);
  margin-top: 1.5em;
  padding: 1em 0;
}
.map-container {
  width: 100%;
  height: 20em;
  margin-top: 4em;
}

.successful-contact-section {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background-color: var(--white-color);
  padding: 0;
}
.successful-contact-section h2 {
  font-size: 3em;
  margin-bottom: 0.2em;
}
.successful-contact-section a {
  color: var(--main-color);
}
/* ==============================footer=================================== */
footer {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  color: var(--white-color);
  background-color: var(--main-color);
  padding: 5em var(--sides-padding);
}

footer p {
  font-weight: var(--regular);
  text-align: center;
}

.hide {
  opacity: 0 !important;
  pointer-events: none !important;
}

/* ################################## RESPONSIVE ########################## */

@media screen and (max-width: 1024px) {
  :root {
    --sides-padding: 2em;
    --top-bottom-padding: 4em;
    --section-padding: var(--top-bottom-padding) var(--sides-padding);

    /* text vars */
    --header1-size: 40px;
    --header2-size: 25px;
    --paragraph-size: 16px;
    --regular: 400;
    --medium: 500;
    --semi-bold: 600;
    --bold: 700;
  }
  .main-content {
    width: calc(100% - 23em);
  }
  .side-bar {
    width: 23em;
  }

  /* Gallery page */
  .album-overlay {
    height: fit-content;
    transform: translateY(0);
    padding: 0.5em;
  }
}

@media screen and (max-width: 768px) {
  h1 {
    font-size: 1.7em;
  }

  h2 {
    font-size: 1.3em;
  }

  ul {
    padding-left: 3em;
  }

  body {
    /* hamburger-container height */
    padding-top: 7em;
  }

  header {
    padding: 0 !important;
  }

  .hamburger-container {
    display: block;
  }

  .header-menu {
    width: 100%;
    position: fixed;
    /* body padding top */
    top: 6.9em;
    right: 0;
    height: calc(100vh - 7em);
    display: flex;
    justify-content: flex-end;
    align-items: flex-start;
    transform: translateX(100%);
    background-color: var(--main-color);
    padding: 0;
  }

  .header-menu .nav-links {
    width: 100%;
    height: 100%;
    overflow-y: scroll;
    padding-bottom: 4em;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    background-color: var(--main-color);
    color: var(--white-color);
    z-index: 9;
  }

  .nav-links li a {
    color: var(--white-color);
    font-size: 1.5em;
  }

  .nav-links .dropdown {
    position: static;
    transform: translateX(0) !important;
    transform: translateY(0);
    background-color: white;
    color: var(--main-color);
    margin-bottom: 0;
    pointer-events: none;
    height: 0;
  }
  .drop:hover + .dropdown,
  .dropdown:hover {
    transform: translateY(0);
    opacity: 1;
    height: auto;
    pointer-events: all;
  }
  .nav-links .dropdown a {
    color: var(--main-color);
    border-bottom: 1px solid var(--main-color-transparent);
  }

  .header-bg {
    padding: 1em var(--sides-padding);
  }
  .page-container {
    padding-top: 2em;
    flex-direction: column;
  }
  .main-content {
    width: 100%;
  }
  .side-bar {
    width: 100%;
    margin: 2em 0 0;
  }
}

@media screen and (max-width: 600px) {
  .header-bg img {
    display: none;
  }
}

@media screen and (max-width: 450px) {
  :root {
    --sides-padding: 5vw;
    --top-bottom-padding: 2em;
    --section-padding: var(--top-bottom-padding) var(--sides-padding);
  }
  body {
    font-size: 0.7em;
  }
  ul {
    padding-left: 0.5em;
  }

  .titles-container {
    padding: 0;
    margin: 0;
  }

  .titles-container h1 {
    font-size: 1.2em;
  }

  .titles-container h2 {
    font-size: 1em;
  }

  .page-tittle,
  .contact-title {
    text-align: center;
  }

  .photos-container {
    /* Prevent vertical gaps */
    -webkit-column-count: 3;
    -moz-column-count: 3;
    column-count: 3;
  }
}

/* ################################# ANIMATIONS ########################### */
@keyframes slideDown {
  0% {
    transform: translateY(-100%);
  }
  100% {
    transform: translateY(0%);
  }
}

@keyframes slideUp {
  0% {
    transform: translateY(0%);
  }
  100% {
    transform: translateY(-100%);
  }
}

/* navslide in mobile */
@keyframes navSlideIn {
  from {
    transform: translateX(100%);
  }
  to {
    transform: translateX(0%);
  }
}

@keyframes navSlideOut {
  from {
    transform: translateX(0%);
  }
  to {
    transform: translateX(100%);
  }
}

@keyframes rotate {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}
