﻿/* RC6 licensed typography. Font binaries are restored from the user's own licensed archive at install time. */
@font-face {
  font-family: "IRANYekanXNoEn";
  src: url("/DesktopModules/ThemeControls/Assets/fonts/IRANYekanXNoEn-Regular.woff2?v=1.1.0-rc6") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: "IRANYekanXNoEn";
  src: url("/DesktopModules/ThemeControls/Assets/fonts/IRANYekanXNoEn-Bold.woff2?v=1.1.0-rc6") format("woff2");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}
[dir="rtl"] .theme-shell,
[dir="rtl"] .theme-shell .Normal,
[dir="rtl"] .theme-shell .NormalBold,
[dir="rtl"] .theme-shell .NormalTextBox,
[dir="rtl"] .theme-shell .dnnForm,
[dir="rtl"] .theme-shell .dnnFormItem,
[dir="rtl"] .theme-shell .dnnLabel,
[dir="rtl"] .theme-shell .dnnPrimaryAction,
[dir="rtl"] .theme-shell .dnnSecondaryAction,
[dir="rtl"] .theme-shell input,
[dir="rtl"] .theme-shell button,
[dir="rtl"] .theme-shell select,
[dir="rtl"] .theme-shell textarea,
[dir="rtl"] .theme-shell label,
[dir="rtl"] .theme-shell h1,
[dir="rtl"] .theme-shell h2,
[dir="rtl"] .theme-shell h3,
[dir="rtl"] .theme-shell h4,
[dir="rtl"] .theme-shell h5,
[dir="rtl"] .theme-shell h6,
[dir="rtl"] .theme-shell p,
[dir="rtl"] .theme-shell a,
[dir="rtl"] .theme-shell li,
[dir="rtl"] .theme-shell blockquote {
  font-family: "IRANYekanXNoEn", Tahoma, Arial, sans-serif !important;
}
[dir="rtl"] .theme-shell .fa,
[dir="rtl"] .theme-shell .fas,
[dir="rtl"] .theme-shell .far,
[dir="rtl"] .theme-shell .fab { font-family: "Font Awesome 5 Free", "FontAwesome" !important; }
[dir="rtl"] .theme-shell .glyphicon { font-family: "Glyphicons Halflings" !important; }
[dir="rtl"] .theme-shell .theme-language-selector__link { font-family: Arial, sans-serif !important; }

:root {
  --theme-content-width: 1280px;
  --theme-gutter: clamp(1rem, 3vw, 2rem);
  --theme-radius: 0.75rem;
  --theme-focus: #0d6efd;
  --theme-shadow: 0 0.75rem 2rem rgba(15, 45, 80, 0.12);
}

.theme-shell, .theme-shell *, .theme-shell *::before, .theme-shell *::after { box-sizing: border-box; }

.theme-shell {
  min-height: 100vh;
  overflow-x: clip;
}

body.theme-controls-editing .theme-shell,
body.dnnEditState .theme-shell,
body.dnnEditMode .theme-shell,
body.dnnLayoutState .theme-shell,
body.dnnLayoutMode .theme-shell {
  overflow: visible;
}

.theme-wrap {
  inline-size: min(100% - (2 * var(--theme-gutter)), var(--theme-content-width));
  margin-inline: auto;
}

.theme-pane { min-inline-size: 0; }
.theme-pane.is-empty { display: none; }

body.dnnEditState .theme-pane,
body.dnnEditState .theme-pane.is-empty,
.dnnEditState .theme-pane,
.dnnEditState .theme-pane.is-empty {
  display: block;
  min-block-size: 3.5rem;
  outline: 1px dashed rgba(13, 110, 253, 0.55);
  outline-offset: 0.2rem;
}

.theme-header {
  position: relative;
  z-index: 100;
}

.theme-header__inner {
  align-items: center;
  display: grid;
  gap: 1rem;
  grid-template-columns: auto minmax(0, 1fr) auto;
  min-block-size: 4.5rem;
}

.theme-header__brand img {
  block-size: auto;
  max-block-size: 4rem;
  max-inline-size: min(15rem, 42vw);
}

.theme-header__tools {
  align-items: center;
  display: flex;
  gap: 0.75rem;
  justify-content: flex-end;
}

.theme-header__tools a { text-decoration: none; }

.theme-language-selector {
  align-items: center;
  display: inline-flex;
  flex: 0 0 auto;
  gap: 0.25rem;
  white-space: nowrap;
}

.theme-language-selector__link {
  align-items: center;
  border: 1px solid currentColor;
  border-radius: 999px;
  color: inherit;
  display: inline-flex;
  font-family: Arial, sans-serif;
  font-size: 0.75rem;
  font-weight: 700;
  justify-content: center;
  line-height: 1;
  min-block-size: 2rem;
  min-inline-size: 2rem;
  padding-block: 0.35rem;
  padding-inline: 0.45rem;
  text-decoration: none;
}

.theme-language-selector__link:hover,
.theme-language-selector__link:focus-visible,
.theme-language-selector__link.is-current {
  background: #fff;
  border-color: #fff;
  color: #0f2d50;
  outline: none;
}


.theme-nav-toggle,
.theme-menu__toggle,
.theme-search-toggle,
.theme-carousel__button {
  align-items: center;
  background: transparent;
  border: 0;
  border-radius: 0.4rem;
  cursor: pointer;
  display: inline-flex;
  justify-content: center;
  min-block-size: 2.75rem;
  min-inline-size: 2.75rem;
  padding: 0.4rem;
}

.theme-nav-toggle:focus-visible,
.theme-menu__toggle:focus-visible,
.theme-search-toggle:focus-visible,
.theme-carousel__button:focus-visible,
.theme-menu__link:focus-visible,
.theme-header__tools a:focus-visible {
  outline: 3px solid var(--theme-focus);
  outline-offset: 2px;
}

.theme-nav-toggle { display: none; }
.theme-nav-toggle__line {
  background: currentColor;
  block-size: 2px;
  display: block;
  inline-size: 1.5rem;
  margin-block: 0.25rem;
}

.theme-menu,
.theme-menu__submenu {
  list-style: none;
  margin: 0;
  padding: 0;
}

.theme-menu {
  align-items: stretch;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.theme-menu__item { position: relative; }
.theme-menu__item--has-children > .theme-menu__link { padding-inline-end: 3.25rem; }

.theme-menu__link {
  align-items: center;
  color: inherit;
  display: flex;
  min-block-size: 2.75rem;
  padding-block: 0.55rem;
  padding-inline: 0.8rem;
  text-decoration: none;
}

.theme-menu__item.is-current > .theme-menu__link,
.theme-menu__item.is-ancestor > .theme-menu__link {
  font-weight: 700;
}

.theme-menu__toggle {
  inset-block-start: 0;
  inset-inline-end: 0;
  position: absolute;
}

.theme-menu__submenu {
  background: #fff;
  border: 1px solid rgba(15, 45, 80, 0.12);
  border-radius: 0.5rem;
  box-shadow: var(--theme-shadow);
  color: #16263a;
  display: none;
  inline-size: max-content;
  inset-block-start: 100%;
  inset-inline-start: 0;
  max-inline-size: min(22rem, 90vw);
  min-inline-size: 13rem;
  position: absolute;
  z-index: 1000;
}

.theme-menu__submenu .theme-menu__submenu {
  inset-block-start: 0;
  inset-inline-start: 100%;
}

[dir="rtl"] .theme-menu__submenu .theme-menu__submenu,
.rtl .theme-menu__submenu .theme-menu__submenu {
  inset-inline-start: auto;
  inset-inline-end: 100%;
}

.theme-menu__submenu.is-open { display: block; }

@media (hover: hover) and (pointer: fine) {
  .theme-menu__item:hover > .theme-menu__submenu,
  .theme-menu__item:focus-within > .theme-menu__submenu {
    display: block;
  }
}

.theme-search .searchInputContainer { display: inline-flex; }
.theme-search input[type="text"] { min-inline-size: min(15rem, 32vw); }

.theme-footer-grid {
  display: grid;
  gap: clamp(1rem, 3vw, 2rem);
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.theme-footer__bottom {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1.5rem;
  justify-content: space-between;
}

.theme-carousel { position: relative; }
.theme-carousel .swiper { overflow: hidden; }
.theme-carousel__button {
  background: rgba(15, 45, 80, 0.88);
  color: #fff;
  position: absolute;
  inset-block-start: 50%;
  transform: translateY(-50%);
  z-index: 5;
}
.theme-carousel__button--prev { inset-inline-start: 0.25rem; }
.theme-carousel__button--next { inset-inline-end: 0.25rem; }
.theme-carousel__pagination {
  margin-block-start: 1rem;
  position: static !important;
  text-align: center;
}

@media (max-width: 991.98px) {
  .theme-header__inner { grid-template-columns: auto minmax(0, 1fr) auto; }
  .theme-nav-toggle { display: inline-flex; flex-direction: column; }
  .theme-header__navigation {
    background: #fff;
    box-shadow: var(--theme-shadow);
    color: #16263a;
    display: none;
    inset-block-start: 100%;
    inset-inline: var(--theme-gutter);
    max-block-size: calc(100vh - 6rem);
    overflow-y: auto;
    position: absolute;
  }
  .theme-header__navigation.is-open { display: block; }
  .theme-menu { display: block; }
  .theme-menu__link { padding-inline-end: 3.25rem; }
  .theme-menu__submenu,
  .theme-menu__submenu .theme-menu__submenu,
  [dir="rtl"] .theme-menu__submenu .theme-menu__submenu,
  .rtl .theme-menu__submenu .theme-menu__submenu {
    border: 0;
    border-radius: 0;
    box-shadow: none;
    inline-size: auto;
    inset: auto;
    padding-inline-start: 1rem;
    position: static;
  }
  .theme-footer-grid { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .theme-shell, .theme-shell *, .theme-shell *::before, .theme-shell *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.001ms !important;
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
  }
}

.theme-footer__legal { align-items: center; display: inline-flex; flex-wrap: wrap; gap: .35rem; }

/* DNN EditBar compatibility: keep panes and the page surface available to the
   native module manager.  Bootstrap is not registered server-side in Edit/Layout mode. */
body.dnnEditState .theme-shell,
body.theme-controls-editing .theme-shell {
  overflow-x: visible;
}

body.dnnEditState .theme-pane,
body.dnnEditState .theme-pane.is-empty,
body.theme-controls-editing .theme-pane,
body.theme-controls-editing .theme-pane.is-empty {
  display: block !important;
  min-block-size: 5rem;
  overflow: visible !important;
  position: relative;
}

body.dnnEditState .theme-pane.dnnModuleManager,
body.theme-controls-editing .theme-pane.dnnModuleManager {
  isolation: auto;
}

@media (max-width: 991.98px) {
  .theme-header__tools {
    gap: 0.35rem;
  }

  .theme-language-selector {
    display: inline-flex;
  }

  .theme-language-selector__link {
    min-block-size: 1.85rem;
    min-inline-size: 1.85rem;
    padding-inline: 0.35rem;
  }
}

/* Contract Base RC6: accessible mobile navigation, search and utility controls. */
.theme-skip-link {
  background: #fff;
  border: 2px solid var(--theme-focus);
  border-radius: .35rem;
  color: #10263e;
  inset-block-start: .5rem;
  inset-inline-start: .5rem;
  padding: .65rem 1rem;
  position: fixed;
  transform: translateY(-160%);
  transition: transform .15s ease;
  z-index: 100000;
}
.theme-skip-link:focus { transform: translateY(0); }

.theme-search-panel { min-inline-size: 0; }
.theme-search-toggle { display: none; }
.theme-search-panel input,
.theme-search-panel button,
.theme-search-panel a,
.theme-header input,
.theme-header button,
.theme-header select,
.theme-header textarea { font: inherit; }

.theme-nav-backdrop {
  background: rgba(4, 18, 35, .62);
  border: 0;
  display: none;
  inset: 0;
  padding: 0;
  position: fixed;
  z-index: 980;
}
body.theme-navigation-open .theme-nav-backdrop { display: block; }
body.theme-navigation-open { overflow: hidden; }

.theme-back-to-top {
  align-items: center;
  background: #0b5fbd;
  border: 1px solid rgba(255,255,255,.5);
  border-radius: 999px;
  bottom: 1rem;
  box-shadow: 0 .55rem 1.4rem rgba(0,0,0,.24);
  color: #fff;
  cursor: pointer;
  display: inline-flex;
  font: inherit;
  gap: .45rem;
  inset-inline-end: 1rem;
  min-block-size: 2.8rem;
  opacity: 0;
  padding: .55rem .9rem;
  pointer-events: none;
  position: fixed;
  transform: translateY(1rem);
  transition: opacity .18s ease, transform .18s ease;
  z-index: 900;
}
.theme-back-to-top.is-visible { opacity: 1; pointer-events: auto; transform: translateY(0); }
.theme-back-to-top:focus-visible { outline: 3px solid var(--theme-focus); outline-offset: 3px; }

[data-project-scope][hidden], [data-project-map][hidden] { display: none !important; }

@media (max-width: 991.98px) {
  .theme-nav-backdrop { cursor: pointer; }
  .theme-header { z-index: 1200; }
  .theme-header__navigation {
    block-size: 100vh;
    border: 0;
    border-radius: 0;
    box-shadow: 0 0 2.2rem rgba(0,0,0,.28);
    display: block;
    inline-size: min(24rem, 88vw);
    inset-block: 0;
    inset-inline-start: 0;
    max-block-size: none;
    max-inline-size: none;
    overflow-x: hidden;
    overflow-y: auto;
    padding: 5.25rem 1rem 2rem;
    position: fixed;
    transform: translateX(calc(-100% - 2rem));
    transition: transform .24s ease;
    visibility: hidden;
    z-index: 1000;
  }
  [dir="rtl"] .theme-header__navigation,
  .rtl .theme-header__navigation {
    inset-inline-start: auto;
    inset-inline-end: 0;
    transform: translateX(calc(100% + 2rem));
  }
  .theme-header__navigation.is-open { transform: translateX(0); visibility: visible; }
  .theme-menu__link { border-block-end: 1px solid rgba(15,45,80,.1); min-block-size: 3.15rem; }
  .theme-menu__toggle { min-block-size: 3.15rem; min-inline-size: 3.15rem; }
  .theme-menu__submenu { background: rgba(15,45,80,.035); }
  .theme-search-toggle { display: inline-flex; }
  .theme-search-panel {
    background: #fff;
    border-radius: .6rem;
    box-shadow: var(--theme-shadow);
    display: none;
    inline-size: min(26rem, calc(100vw - 2rem));
    inset-block-start: calc(100% + .45rem);
    inset-inline-end: 0;
    padding: .75rem;
    position: absolute;
    z-index: 1250;
  }
  .theme-search-panel.is-open { display: block; }
  .theme-search-panel .theme-search,
  .theme-search-panel .searchInputContainer { display: flex; inline-size: 100%; }
  .theme-search-panel input[type="text"] { flex: 1 1 auto; inline-size: 100%; min-inline-size: 0; }
  .theme-back-to-top { font-size: .78rem; }
}

@media (prefers-reduced-motion: reduce) {
  .theme-header__navigation,
  .theme-back-to-top,
  .theme-skip-link { transition: none !important; }
}
