/**
 * Opercons — redesign 2025
 * Palette: oak wood + olive green
 */

/*** fonts ***/
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400&family=DM+Sans:wght@300;400;500;600&display=swap');

/*** core ***/
html {
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%; }

body {
  background: #F7F2EB;
  font-family: "DM Sans", Arial, Helvetica, sans-serif;
  font-size: 16px;
  font-weight: 400;
  color: #3D2B1F;
  line-height: 1.65em;
  width: 100%;
  height: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

h1, h2, h3, h4, h5, h6 {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 400;
  color: #2C1A0E; }

h1 {
  font-size: 64px;
  font-weight: 300;
  margin: 35px 0;
  letter-spacing: 0.02em; }

h2 {
  font-size: 42px;
  font-weight: 400;
  margin: 30px 0;
  letter-spacing: 0.06em; }

h3 {
  font-size: 32px;
  font-weight: 400;
  margin: 5px 0 20px 0; }

h4 {
  font-size: 22px;
  font-weight: 500;
  margin-bottom: 15px; }

h5 {
  font-size: 18px; }

h6 {
  font-size: 16px; }

a {
  color: #6B7A3A;
  text-decoration: none;
  outline: none; }

a:hover, a:focus {
  color: #8A9E4A;
  text-decoration: none;
  outline: none; }

hr {
  border-color: #D9CFC4; }

input[type="radio"], input[type="checkbox"] {
  margin: 4px 5px 0 0; }

label {
  font-weight: normal; }

/*** global ***/
/* a- */
.a-default {
  color: #3D2B1F; }

.a-default:hover, .a-default:focus {
  color: #6B7A3A; }

.a-primary {
  color: #2C1A0E; }

.a-primary:hover, .a-primary:focus {
  color: #6B7A3A; }

.a-sec {
  color: #6B7A3A; }

.a-sec:hover, .a-sec:focus {
  color: #8A9E4A;
  text-decoration: underline;
  outline: none; }

.a-ter {
  color: #A89070; }

.a-ter:hover, .a-ter:focus {
  color: #3D2B1F; }

.a-underline {
  text-decoration: underline; }

.a-underline:hover {
  text-decoration: none; }

/* bold */
.bold {
  font-weight: 600; }

/* btn- */
.btn {
  padding: 11px 34px;
  border-radius: 0;
  font-family: "DM Sans", sans-serif;
  font-size: 13px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-weight: 500;
  transition: all 0.2s ease; }

.btn:focus, .btn:active:focus, .btn.active:focus, .btn.focus, .btn:active.focus,
.btn.active.focus {
  outline: none; }

.btn:active, .btn.active {
  background-image: none;
  box-shadow: none;
  outline: 0 none; }

.btn-default {
  background-color: #ffffff;
  border-color: #D9CFC4;
  color: #3D2B1F; }

.btn-default:hover, .btn-default:focus, .btn-default.focus, .btn-default:active,
.btn-default.active, .open > .dropdown-toggle.btn-default {
  background-color: #EDE5D8;
  border-color: #D9CFC4;
  color: #2C1A0E; }

/* btn-primary — solid olive */
.btn-primary {
  color: #fff;
  background-color: #6B7A3A;
  border-color: #6B7A3A; }

.btn-primary:hover {
  color: #fff;
  background-color: #8A9E4A;
  border-color: #8A9E4A; }

.btn-primary:active,
.btn-primary:focus,
.btn-primary:active:hover,
.btn-primary:active:focus {
  color: #fff;
  background-color: #6B7A3A;
  border-color: #6B7A3A; }

/* btn-sec — outlined dark oak */
.btn-sec {
  border: 2px solid #2C1A0E;
  color: #2C1A0E;
  background: transparent; }

.btn-sec:hover, .btn-sec:focus {
  background: #2C1A0E;
  border-color: #2C1A0E;
  color: #F7F2EB; }

/* btn-ter — white outline for dark backgrounds */
.btn-ter {
  border: 2px solid rgba(255,255,255,0.7);
  padding: 11px 34px;
  color: #fff;
  font-size: 13px;
  font-family: "DM Sans", sans-serif;
  border-radius: 0;
  text-transform: uppercase;
  font-weight: 500;
  letter-spacing: 0.1em; }

.btn-ter:hover, .btn-ter:focus {
  background: #fff;
  border-color: #fff;
  color: #2C1A0E; }

/* btn-facebook */
.btn-facebook {
  color: #ffffff;
  background-color: #3b5998;
  box-shadow: 0 3px 0 0 #23355b; }

.btn-facebook i.fa {
  font-size: 22px;
  padding-right: 20px; }

.btn-facebook:hover, .btn-facebook:focus {
  color: #ffffff;
  background: #3878d8;
  box-shadow: 0px 3px 0px 0.00px #2d60ad; }

/* btn-google */
.btn-google {
  color: #ffffff;
  background-color: #b0120a;
  box-shadow: 0 3px 0 0 #dd191d; }

.btn-google i.fa {
  font-size: 22px;
  padding-right: 20px; }

.btn-google:hover, .btn-google:focus {
  color: #ffffff;
  background: #d01716 none repeat scroll 0 0;
  box-shadow: 0 3px 0 0 #e84e40; }

/* btn-lg */
.btn-lg {
  padding: 13px 40px;
  font-size: 15px; }

/* btn-margin- */
.btn-margin-bottom { margin-bottom: 10px; }
.btn-margin-left   { margin-right: 10px; }
.btn-margin-right  { margin-right: 15px; }
.btn-margin-top    { margin-top: 10px; }

/* font- */
.font-sec {
  font-family: "Cormorant Garamond", Georgia, serif; }

/* form-control */
.form-control {
  color: #3D2B1F;
  font-size: 16px;
  border-radius: 0;
  height: 48px;
  border: 1px solid #D9CFC4;
  background: #FDFAF6;
  box-shadow: none; }

.form-control:focus {
  border-color: #6B7A3A;
  background: #fff;
  box-shadow: none;
  outline: 0 none; }

.form-control-block {
  display: block;
  width: 100%;
  color: #3D2B1F;
  font-size: 16px;
  border-radius: 0;
  height: 48px;
  padding: 10px 0 0 0; }

.form-control-sm {
  font-size: 16px;
  padding: 6px 12px;
  height: auto; }

/* form-group */
.form-group {
  margin-bottom: 22px;
  position: relative; }

.form-required {
  color: #cc2222; }

/* h */
.h1-primary   { margin-top: 50px; }
.h1-margin-top { margin-top: 60px; }

/* hr- */
.hr {
  width: 100%;
  height: 20px; }

.hr-short-primary {
  height: 2px;
  width: 50px;
  background: #6B7A3A;
  margin: 0 auto 30px auto;
  display: inline-block; }

.hr-short-sec {
  height: 2px;
  width: 50px;
  background: rgba(255,255,255,0.6);
  margin: 0 auto 30px auto;
  display: inline-block; }

/* img */
.img-center { margin: 0 auto; }

/* margin */
.margin-bottom     { margin-bottom: 30px; }
.margin-left       { margin-left: 30px; }
.margin-right      { margin-right: 30px; }
.margin-top        { margin-top: 30px; }
.margin-top-sec    { margin-top: 15px; }
.margin-right-sec  { margin-right: 15px; }
.margin-left-sec   { margin-left: 15px; }
.margin-bottom-sec { margin-bottom: 15px; }

/* middot */
.middot {
  padding-left: 5px;
  padding-right: 5px; }

/* no- */
.no-margin  { margin: 0; }
.no-padding { padding: 0; }

/* pagination */
.pagination > li > a, .pagination > li > span {
  padding: 6px 12px;
  color: #3D2B1F;
  background-color: #ffffff;
  border: 1px solid #EDE5D8;
  margin-left: 5px; }

.pagination > li > a:hover, .pagination > li > span:hover, .pagination > li > a:focus,
.pagination > li > span:focus {
  color: #2C1A0E;
  background-color: #EDE5D8;
  border-color: #D9CFC4; }

.pagination > .active > a, .pagination > .active > span, .pagination > .active > a:hover,
.pagination > .active > span:hover, .pagination > .active > a:focus,
.pagination > .active > span:focus {
  color: #fff;
  background-color: #6B7A3A;
  border-color: #6B7A3A; }

.pagination > .disabled > span, .pagination > .disabled > span:hover,
.pagination > .disabled > span:focus, .pagination > .disabled > a,
.pagination > .disabled > a:hover, .pagination > .disabled > a:focus {
  color: #A89070;
  background-color: #ffffff;
  border-color: #EDE5D8; }

.pagination-page-of {
  display: block;
  margin-top: 20px; }

/* row-grid */
.row.row-grid [class*="col-"] {
  margin-bottom: 20px; }

@media (min-width: 1200px) {
  .row.row-grid [class*="col-lg-"] { margin-bottom: 0; } }
@media (min-width: 992px) {
  .row.row-grid [class*="col-md-"] { margin-bottom: 0; } }
@media (min-width: 768px) {
  .row.row-grid [class*="col-sm-"] { margin-bottom: 0; } }

/* row-table */
.row-table { display: table; }

.row-table .col-table-cell {
  float: none;
  display: table-cell;
  vertical-align: top;
  position: relative; }

/* text- */
.text-default { color: #2C1A0E; }
.text-primary { color: #2C1A0E; }
.text-sec     { color: #7A6655; }
.text-ter     { color: #A89070; }
.text-lg      { font-size: 18px; }

.text-subheader {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 20px;
  font-weight: 300;
  font-style: italic;
  margin-bottom: 60px;
  color: #7A6655;
  line-height: 1.6em; }

/* validation */
.validation-error {
  width: 100%;
  background: #ffffff;
  color: #ca4045;
  border: 1px solid #ca4045;
  text-align: left;
  border-radius: 2px;
  margin-bottom: 20px;
  padding: 10px; }

.validation-error.text-center { text-align: center; }

.validation-error span {
  display: inline-block;
  font-weight: bold;
  padding-top: 10px;
  padding-left: 10px; }

.validation-error ul {
  margin: 5px 10px 10px 10px;
  padding-left: 20px; }

.validation-error a {
  color: #ca4045;
  text-decoration: underline; }

.validation-error p:last-child { margin-bottom: 0; }

.validation-error-field {
  font-size: 12px;
  font-weight: normal;
  color: #f42156;
  text-align: right;
  display: block;
  padding-top: 5px;
  float: none; }

.validation-info {
  width: 100%;
  background: #ffffd8;
  border: 1px solid #CACA9D;
  text-align: left;
  border-radius: 2px;
  margin-bottom: 20px;
  padding: 10px; }

.validation-info span {
  display: inline-block;
  color: #DCCA00;
  font-weight: bold;
  padding-top: 10px;
  padding-left: 10px; }

.validation-info ul {
  margin: 5px 10px 10px 10px;
  padding-left: 20px; }

/*** template ***/
/* navbar */
.navbar > .container .navbar-brand, .navbar > .container-fluid .navbar-brand {
  margin-left: 0px; }

/* navbar-default */
.navbar-default {
  background: rgba(247, 242, 235, 0.95);
  border: none;
  border-bottom: 1px solid #EDE5D8;
  box-shadow: 0 1px 12px rgba(44, 26, 14, 0.06); }

.navbar-default .navbar-brand {
  display: inline-block;
  position: relative;
  width: 155px;
  height: 70px;
  margin: 5px 0;
  padding: 0;
  float: left;
  border: 0 none;
  text-decoration: none;
  overflow: visible; }

.navbar-default .navbar-brand img {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  height: 96px;
  width: auto;
  max-width: none; }

.navbar-default .navbar-nav { margin-top: 15px; }

.navbar-default .navbar-nav > li { margin-right: 7px; }

.navbar-default .navbar-nav > li:last-child { margin-right: 0px; }

.navbar-default .navbar-nav > li > a {
  text-transform: uppercase;
  color: #3D2B1F;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.06em;
  padding-left: 7px;
  padding-right: 7px; }

.navbar-default .navbar-nav > .active > a, .navbar-default .navbar-nav > .active > a:hover,
.navbar-default .navbar-nav > .active > a:focus {
  background: none;
  color: #6B7A3A; }

.navbar-default .navbar-nav > .open > a, .navbar-default .navbar-nav > .open > a:hover,
.navbar-default .navbar-nav > .open > a:focus {
  background: none;
  color: #6B7A3A; }

/* dropdown-menu */
.navbar-right .dropdown-menu { font-size: 15px; }

.navbar-right > li > .dropdown-menu {
  left: -20px;
  right: auto;
  background: #FDFAF6;
  margin-top: 16px;
  border: none;
  box-shadow: 0 8px 30px rgba(44, 26, 14, 0.12);
  padding: 10px 30px;
  border-radius: 0;
  border-bottom: 2px solid #6B7A3A;
  min-width: 350px; }

/* navbar-lang-switch: comutator de limba (RO/EN/FR) duplicat din footer,
   direct in bara de meniu, ca ultim item din lista -- compact (font mai mic,
   padding redus, doar separator vizual din border) ca sa incapa pe un rand
   alaturi de restul meniului si pe ro/fr, unde etichetele sunt mai lungi
   decat pe en; de-asta si restul itemilor de mai sus au acum spatiere usor
   mai stransa (margin/padding reduse de la 8px la 5px) fata de varianta
   initiala fara comutator */
.navbar-default .navbar-nav > li.navbar-lang-switch > a {
  font-size: 11px;
  letter-spacing: 0.08em;
  color: #7A6655;
  border-left: 1px solid #D9CFC4;
  margin-left: 4px;
  padding-left: 9px; }

.navbar-default .navbar-nav > li.navbar-lang-switch > a:hover,
.navbar-default .navbar-nav > li.navbar-lang-switch > a:focus {
  color: #6B7A3A; }

.navbar-lang-switch.open > a, .navbar-lang-switch.open > a:hover, .navbar-lang-switch.open > a:focus {
  color: #6B7A3A; }

.navbar-right > li.navbar-lang-switch > .dropdown-menu {
  min-width: 80px;
  left: auto;
  right: 0;
  padding: 5px 0; }

.navbar-right .navbar-lang-switch > .dropdown-menu > li > a {
  font-size: 12px;
  padding: 5px 20px; }

.navbar-right .dropdown-menu > li {
  border-bottom: 1px solid #EDE5D8; }

.navbar-right .dropdown-menu > li:last-child { border-bottom: none; }

.navbar-right .dropdown-menu > li > a {
  padding: 10px 0px;
  color: #3D2B1F; }

.navbar-right .dropdown-menu > li > a img { padding-right: 25px; }

/* header */
.header-bg {
  width: 100%;
  height: 450px;
  position: relative;
  overflow: hidden; }

.header-bg img {
  width: 100%;
  height: auto;
  top: -50%;
  position: absolute; }

/* footer- */
.footer {
  padding: 70px 0;
  background: #2C1A0E; }

.footer h5 {
  color: #EDE5D8;
  font-family: "DM Sans", sans-serif;
  font-size: 12px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  margin-bottom: 28px; }

.footer ul {
  list-style: none;
  margin: 0;
  padding: 0; }

.footer .footer-links ul li a {
  color: #A89070;
  font-size: 14px;
  line-height: 2.2em;
  transition: color 0.15s ease; }

.footer .footer-links ul li a:hover { color: #EDE5D8; }

.footer .footer-links .footer-sn { margin-top: 21px; }

.footer .footer-links .footer-sn a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  color: #A89070;
  border: 1px solid #5A3D28;
  margin-right: 10px;
  font-size: 17px;
  transition: all 0.2s ease; }

.footer .footer-links .footer-sn a:hover {
  color: #EDE5D8;
  border-color: #A89070; }

.footer .footer-links .footer-sn a span { display: none; }

.footer .footer-copy {
  color: #7A6655;
  font-size: 13px;
  padding: 50px 0 10px 0;
  border-top: 1px solid #3D2B1F;
  margin-top: 40px; }

footer .footer-copy .footer-terms { color: #7A6655; }

.footer .footer-copy .footer-vsep {
  color: #5A3D28;
  padding: 0 14px; }

/* dropdown-language- */
.dropdown-languages { display: inline-block; }

.dropdown-languages .btn {
  background: none;
  padding: 0px 20px; }

.dropdown-languages .btn:hover, .dropdown-languages .btn:focus { color: #EDE5D8; }

.dropdown-languages .btn img { margin-right: 6px; }

.dropdown-languages .dropdown-menu {
  border-radius: 0;
  padding: 5px 0; }

.dropdown-languages .dropdown-menu img { margin-right: 6px; }

.dropdown-languages .dropdown-menu > li > a { padding: 5px 20px; }

/* section- */
.section {
  padding: 100px 0; }

.section-primary {
  background: #EDE5D8; }

.section-xl {
  padding: 130px 0; }

.section-padding-bottom {
  padding-bottom: 120px; }

/*** icomoon icon font ***/
@font-face {
  font-family: 'icomoon';
  src: url("fonts/icomoon.eot?3bfjgh");
  src: url("fonts/icomoon.eot?3bfjgh#iefix") format("embedded-opentype"),
       url("fonts/icomoon.ttf?3bfjgh") format("truetype"),
       url("fonts/icomoon.woff?3bfjgh") format("woff"),
       url("fonts/icomoon.svg?3bfjgh#icomoon") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: block; }

[class^="icon-"], [class*=" icon-"] {
  font-family: 'icomoon' !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.icon-facebook:before { content: "\e901"; }
.icon-twitter:before  { content: "\e902"; }
.icon-instagram:before { content: "\e900"; }

/*** main.res — responsive overrides ***/
@media (max-width: 767px) {
  h1 {
    font-size: 40px;
    margin: 35px 0; }

  h2 {
    font-size: 30px;
    margin: 30px 0; }

  .navbar > .container .navbar-brand, .navbar > .container-fluid .navbar-brand {
    margin-left: 10px; }

  .navbar-default .navbar-toggle {
    margin-top: 22px;
    margin-right: 10px; }

  .navbar-default .navbar-collapse {
    background: #F7F2EB;
    /* Bootstrap limiteaza implicit meniul mobil la max-height:340px cu
       scroll intern -- cu toate itemii + comutatorul de limba, continutul
       depaseste usor acea inaltime si RO/EN/FR ajunge aproape invizibil,
       ascuns sub un scroll intern greu de observat. Eliminam limita ca
       intreg meniul sa curga normal, cu scroll pe pagina, nu intr-o cutie
       mica separata. */
    max-height: none; }

  .navbar-nav .open .dropdown-menu > li > a,
  .navbar-nav .open .dropdown-menu .dropdown-header {
    padding-left: 0px; }

  .navbar-right .dropdown-menu > li > a img {
    padding-right: 15px; }

  .navbar-nav .open .dropdown-menu {
    padding-left: 15px; }

  /* comutatorul de limba (RO/EN/FR) are propriile reguli de pozitionare
     pentru desktop (dropdown "plutitor", ancorat in dreapta) care castiga
     in fata resetului de mai sus facut de bootstrap pentru mobil (aceeasi
     specificitate, dar regulile de mai jos sunt definite in afara acestui
     media query, deci ies "in fata" la o simpla suprascriere) -- fara
     asta, pe mobil RO/EN/FR se lipeau de marginea stanga a ecranului, fara
     nicio indentare, spre deosebire de toate celelalte dropdown-uri */
  #navbar .navbar-lang-switch {
    position: static; }

  #navbar .navbar-lang-switch > .dropdown-menu {
    position: static;
    left: auto;
    right: auto;
    min-width: 0;
    width: 100%;
    padding-left: 15px; }

  #navbar .navbar-lang-switch > .dropdown-menu > li > a {
    padding-left: 0; } }

@media (min-width: 768px) and (max-width: 991px) {
  .navbar-default .navbar-nav > li {
    margin-right: 8px; } }
