:root {
  --primary: #00add2;
  --primary-hover: #00c2eb;
  --primary-active: #0098b9;
  --secondary: #e36159;
  --dark: #212529;
  --body: #777;
  --light-bg: #f7f7f7;
  --footer-bg: #1c2023;
  --border: rgba(0, 0, 0, 0.06);
  --container: 1140px;
  --img-radius: 4px;
}

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

html {
  scroll-behavior: smooth;
}

body {
  font-family: "Poppins", sans-serif;
  font-size: 14px;
  line-height: 26px;
  color: var(--body);
  background: #fff;
}

a {
  color: var(--primary);
  text-decoration: none;
  transition: color 0.2s ease;
}

a:hover {
  color: var(--primary-hover);
}

img {
  max-width: 100%;
  height: auto;
}

h1, h2, h3, h4, h5, h6 {
  color: var(--dark);
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  letter-spacing: -0.3px;
}

::selection {
  color: #fff;
  background: var(--primary);
}

.container-site {
  width: 100%;
  max-width: var(--container);
  margin: 0 auto;
  padding: 0 15px;
}

.text-1 { font-size: 0.8em !important; }
.text-2 { font-size: 0.85em !important; }
.text-3 { font-size: 1em !important; }
.text-4 { font-size: 1.15em !important; }
.text-5 { font-size: 1.46em !important; }
.text-6 { font-size: 1.8em !important; }
.text-7 { font-size: 2.1em !important; }
.text-8 { font-size: 2.3em !important; }
.text-9 { font-size: 2.5em !important; }
.line-height-1 { line-height: 1 !important; }
.line-height-2 { line-height: 1.2 !important; }
.line-height-3 { line-height: 1.3 !important; }
.line-height-4 { line-height: 1.4 !important; }
.line-height-6 { line-height: 1.6 !important; }
.line-height-9 { line-height: 1.9 !important; }
.font-weight-light { font-weight: 300 !important; }
.font-weight-normal { font-weight: 400 !important; }
.font-weight-semibold,
.font-weight-semi-bold { font-weight: 600 !important; }
.font-weight-bold { font-weight: 700 !important; }
.font-weight-extra-bold { font-weight: 800 !important; }
.text-color-dark, .text-dark { color: var(--dark) !important; }
.text-color-light, .text-light { color: #fff !important; }
.text-color-primary { color: var(--primary) !important; }
.text-color-hover-primary:hover { color: var(--primary) !important; }
.bg-color-primary { background-color: var(--primary) !important; }
.bg-color-dark { background-color: var(--dark) !important; }
.bg-color-light-scale-1 { background-color: var(--light-bg) !important; }
.border-radius-0, .rounded-0 { border-radius: 0 !important; }
.img-thumbnail-no-borders { border: 0 !important; padding: 0; background: transparent; }
.float-left, .float-start { float: left !important; margin: 0 20px 12px 0; }
.float-right, .float-end { float: right !important; margin: 0 0 12px 20px; }
.ml-0 { margin-left: 0 !important; }
.ml-3 { margin-left: 1rem !important; }
.mr-1 { margin-right: 0.25rem !important; }
.mr-3 { margin-right: 1rem !important; }
.ms-3 { margin-left: 1rem !important; }
.me-3 { margin-right: 1rem !important; }
.pl-0 { padding-left: 0 !important; }
.pr-4 { padding-right: 1.5rem !important; }
.opacity-4 { opacity: 0.4 !important; }
.opacity-6 { opacity: 0.6 !important; }
.opacity-8 { opacity: 0.8 !important; }
.text-lg-left { text-align: left !important; }
.text-lg-right { text-align: right !important; }
@media (min-width: 992px) {
  .text-lg-start, .text-lg-left { text-align: left !important; }
  .text-lg-end, .text-lg-right { text-align: right !important; }
}

.sub-title {
  display: block;
  font-size: 16px;
  font-weight: 400;
  margin-top: 6px;
}

.site-header {
  background: #fff;
  border-bottom: 1px solid #eee;
}

.header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 88px;
  padding: 12px 0;
}

.header-logo img {
  width: 250px;
  height: auto;
  max-height: 70px;
  object-fit: contain;
}

.site-header.is-sticky {
  position: sticky;
  top: 0;
  z-index: 1030;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
  background: #fff;
}

.site-header.is-sticky .header-inner {
  min-height: 70px;
  padding: 8px 0;
}

.site-header.is-sticky .header-logo img {
  width: 180px;
  max-height: 48px;
}

.site-header .navbar {
  padding: 0;
  flex: 1;
  justify-content: flex-end;
}

.navbar-nav {
  align-items: center;
}

.navbar-nav .nav-link {
  font-size: 13px;
  font-weight: 600;
  color: var(--dark) !important;
  padding: 10px 12px !important;
  position: relative;
  text-transform: uppercase;
}

.navbar-nav .nav-link:hover,
.navbar-nav .nav-link.active {
  color: var(--primary) !important;
}

.navbar-toggler {
  border: 0;
  padding: 8px 12px;
  color: #fff;
  background: var(--primary);
  border-radius: 0;
  margin-left: auto;
}

.navbar-toggler:focus { box-shadow: none; }

.dropdown-mega .dropdown-menu {
  border: 0;
  border-radius: 0;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12);
  padding: 24px;
}

.dropdown-mega-sub-title {
  display: block;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.4px;
  text-transform: uppercase;
  color: var(--dark);
  margin-bottom: 10px;
}

.dropdown-mega .dropdown-item {
  font-size: 13px;
  color: #666;
  padding: 4px 0;
  background: transparent;
}

.dropdown-mega .dropdown-item:hover {
  color: var(--primary);
  background: transparent;
}

@media (min-width: 992px) {
  .navbar .dropdown:hover > .dropdown-menu {
    display: block;
  }

  .dropdown-mega {
    position: static;
  }

  .dropdown-mega .dropdown-menu {
    left: 0;
    right: 0;
    width: 100%;
    max-width: var(--container);
    margin: 0 auto;
  }
}

.btn-primary {
  background: var(--primary);
  border-color: var(--primary);
}

.btn-primary:hover {
  background: var(--primary-hover);
  border-color: var(--primary-hover);
}

.btn-outline.btn-primary,
.btn-outline-primary {
  color: var(--primary);
  background: transparent;
  border: 2px solid var(--primary);
}

.btn-outline.btn-primary:hover,
.btn-outline-primary:hover {
  color: #fff;
  background: var(--primary);
}

.btn-rounded {
  border-radius: 50px;
  padding: 10px 22px;
  font-weight: 600;
}

.btn-with-arrow span {
  margin-left: 8px;
}

.page-header {
  background: var(--light-bg);
  padding: 28px 0;
  margin: 0 0 8px;
}

.page-header h1,
.page-header h2 {
  font-size: 28px;
  font-weight: 700;
  color: var(--dark);
  margin: 0;
  line-height: 1.3;
}

.page-header .breadcrumb,
ul.breadcrumb {
  list-style: none;
  padding: 0;
  margin: 0 0 8px;
  font-size: 12px;
  background: none;
}

ul.breadcrumb li {
  display: inline;
}

ul.breadcrumb li + li::before {
  content: "/ ";
  color: #999;
}

ul.breadcrumb a { color: var(--primary); }

.blog-posts article.post,
article.post {
  border-bottom: 1px solid var(--border);
  margin-bottom: 28px;
  padding-bottom: 12px;
}

article.post h2 {
  font-size: 1.4em;
  font-weight: 600;
  line-height: 1.3;
  margin: 12px 0;
}

article.post h2 a {
  color: var(--dark);
}

article.post h2 a:hover {
  color: var(--primary);
}

blockquote,
.blockquote-primary {
  border-left: 3px solid var(--primary);
  padding: 8px 16px;
  margin: 12px 0;
  color: #555;
  background: #fafafa;
}

hr.taller {
  margin: 28px 0;
  opacity: 0.15;
}

.toggle-title {
  display: block;
  font-weight: 600;
  color: var(--dark);
  margin: 16px 0 8px;
}

section.toggle {
  margin-bottom: 16px;
}

.alert-info {
  background: #d1ecf1;
  border-color: #bee5eb;
  color: #0c5460;
}

.article-body,
.main {
  padding-bottom: 24px;
}

.article-body img.img-fluid.float-left,
.article-body img.float-start {
  max-width: 300px;
}

.article-body iframe,
.main iframe {
  max-width: 100%;
}

.article-body img[width="100%"],
.main img[width="100%"] {
  float: none !important;
  width: 100% !important;
  max-width: 100%;
  height: auto;
  margin: 12px 0;
}

.gcse-search {
  max-width: 1140px;
  margin: 12px auto;
  padding: 0 15px;
}

.accordion-modern .card {
  border: 4px solid #f7f7f7;
  margin-bottom: 8px;
  border-radius: 0;
}

.accordion-modern .card-header {
  background: #f7f7f7;
  padding: 12px 16px;
  border: 0;
}

.accordion-modern .accordion-toggle {
  display: block;
  color: var(--dark);
  font-weight: 600;
}

.accordion-modern .accordion-toggle:hover {
  color: var(--primary);
}

.accordion-modern .card-body a {
  display: block;
  margin: 2px 0;
}

.sort-source {
  flex-wrap: wrap;
  gap: 4px;
  margin-bottom: 20px;
}

.sort-source .nav-link {
  font-size: 11px;
  font-weight: 700;
  color: var(--dark) !important;
  padding: 8px 12px !important;
  border-radius: 0;
}

.sort-source .nav-link.active,
.sort-source .nav-item.active .nav-link {
  background: var(--primary) !important;
  color: #fff !important;
}

.sort-destination-loader {
  overflow: visible !important;
  height: auto !important;
  opacity: 1 !important;
}

.isotope-item.is-hidden {
  display: none !important;
}

.portfolio-list {
  --bs-gutter-y: 1.5rem;
}

.thumb-info {
  display: block;
  position: relative;
  text-decoration: none;
  max-width: 100%;
  background: #fff;
  border-radius: 4px;
  overflow: hidden;
}

.thumb-info-wrapper {
  display: block;
  position: relative;
  overflow: hidden;
  border-radius: 4px;
}

.thumb-info-wrapper::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(33, 37, 41, 0.55);
  opacity: 0;
  transition: opacity 0.3s;
  z-index: 1;
}

.thumb-info:hover .thumb-info-wrapper::after {
  opacity: 1;
}

.thumb-info img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  display: block;
  transition: transform 0.3s;
}

.thumb-info:hover img {
  transform: scale(1.04);
}

.thumb-info iframe {
  width: 100%;
  height: 220px;
  border: 0;
  display: block;
}

.thumb-info-title {
  position: absolute;
  left: 0;
  bottom: 12%;
  z-index: 2;
  max-width: 90%;
  background: rgba(33, 37, 41, 0.8);
  color: #fff;
  font-weight: 600;
  font-size: 16px;
  padding: 12px 18px 4px;
}

.thumb-info-inner {
  display: block;
  color: #fff;
}

.thumb-info-type {
  display: inline-block;
  background: var(--primary);
  color: #fff;
  border-radius: 2px;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0;
  margin: 8px 0 0;
  padding: 2px 10px;
  text-transform: uppercase;
}

.thumb-info-action {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
}

.thumb-info-action-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  background: var(--dark);
  color: #fff;
}

.portfolio-item {
  margin-bottom: 8px;
}

.films-note {
  background: var(--light-bg);
  border-left: 4px solid var(--primary);
  padding: 14px 18px;
  margin: 0 0 24px;
}

table {
  width: 100%;
  margin: 12px 0;
}

table td,
table th {
  padding: 8px;
  border-bottom: 1px solid #eee;
}

#footer {
  background: var(--footer-bg);
  margin-top: 40px;
  border-top: 4px solid var(--dark);
}

.footer-copyright {
  color: #999;
  font-size: 13px;
  text-align: center;
  padding: 28px 0;
}

.footer-copyright a,
.footer-copyright strong,
.footer-copyright b {
  color: #fff;
}

.privacy-bar {
  text-align: center;
  padding: 0 0 18px;
}

.privacy-bar button {
  background: transparent;
  border: 1px solid #555;
  color: #bbb;
  font-size: 11px;
  padding: 4px 10px;
}

#cookie-banner {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  background: #222;
  color: #fff;
  padding: 15px;
  text-align: center;
  z-index: 9999;
}

#cookie-banner button {
  margin-left: 15px;
  padding: 5px 15px;
  cursor: pointer;
}

@media (max-width: 991.98px) {
  .site-header { position: relative; }
  .header-inner { min-height: auto; flex-wrap: nowrap; }
  .header-logo img { width: 180px; height: auto; }
  .site-header .navbar {
    position: static;
    width: auto;
    flex: 1;
    justify-content: flex-end;
  }
  .navbar-collapse {
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    width: 100%;
    background: #fff;
    padding: 8px 15px 16px;
    border-bottom: 1px solid #eee;
    z-index: 20;
  }
  .navbar-nav { align-items: stretch; }
  .navbar-nav .nav-link { padding: 10px 0 !important; text-align: left; }
  .page-header h1,
  .page-header h2 { font-size: 22px; }
  .dropdown-mega .dropdown-menu { box-shadow: none; padding: 8px 0 8px 12px; }
}

@media (max-width: 575.98px) {
  .header-logo img { width: 150px; }
  .text-8 { font-size: 1.6em !important; }
  .text-9 { font-size: 1.7em !important; }
  .thumb-info img,
  .thumb-info iframe { height: 180px; }
}
