/*
===========================

Auto generated table of content

#001  _root_and_variables           style._root_and_variables.php
#002  box                           style.box.php
#003  brand                         style.brand.php
#004  button_and_btn                style.button_and_btn.php
#005  footer                        style.footer.php
#006  form                          style.form.php
#007  general_error_messages        style.general_error_messages.php
#008  header                        style.header.php
#009  html_body                     style.html_body.php
#010  main                          style.main.php
#011  main_nav                      style.main_nav.php
#012  markker                       style.markker.php
#013  misc                          style.misc.php
#014  nav_card_php                  styte.nav_card_php

===========================
*/





/*
===========================
#001  _root_and_variables
      style._root_and_variables.php
===========================
*/


@import url('https://fonts.googleapis.com/css?family=Montserrat:400,600,900&display=swap');

:root {
  --main-bg-color: #3d3d3d;
  --header-bg-color: #484848; 
  --footer-bg-color: #484848;
   
  --main-text-color: #ccc;
  --sec-text-color: #fff;
  
  --brand-header-border-fill: #f90;
    
  --main-nav-height: 8rem;

  --markker-color: #f90;
  --markker-border-color: #111;

  --btn-bg-color: #f90;
  --btn-text-color: #111;

  --attention: #f90;
  --warning: #700;

  --input-bg-color:  #666;
}

*,
*::before,
*::after {
    box-sizing: border-box;
    line-height: 1.6;
    position: relative;
}

* {
  font-family: Montserrat, sans-serif;
}

*:focus {
    outline: none;
    outline-style: none;
}

:where(:last-child) {
  margin-bottom: 0;
}


/*
===========================
#002  box
      style.box.php
===========================
*/


.box {
  background: #484848;
  border-radius: 1rem;
  padding: 2rem;
}


/*
===========================
#003  brand
      style.brand.php
===========================
*/


.brand :is(.brand_right_eye, .brand_left_eye, .brand_scraf) {
  fill: none;
}

.logo .brand_border {
  fill: var(--brand-header-border-fill, #fff);
}

.logo .brand_title  {
  color: var(--sec-text-color, #fff);
  font-size: 1.2em;
  .font-weight: 600;
  margin-left: 1rem;  
}


/*
===========================
#004  button_and_btn
      style.button_and_btn.php
===========================
*/


button, .btn__base {
    background: var(--btn-bg-color, #000);
    border: none;
    cursor: pointer;
    color: var(--btn-text-color, #fff);
    font-weight: 600;
    letter-spacing: 0.2rem;
    outline: none;
    outline-offset: -1px;
    padding: 0.5em 1em;
    text-decoration: none;
    text-transform: uppercase;
  }
  
button[type=submit] {
  flex: 1;
}
  
button[type=reset] {
  background: none;
  color: var(--main-text-color, #000);
  outline: 1px solid var(--btn-bg-color, #000);
  outline-offset: -1px;
}

.btn__base {
  background: rgba(0,0,0,0.5);
  display: inline-block;
}
  
.btn__base i {
  color: var(--btn-bg-color, #fff);
  font-size: 2em;
  margin: -0.4em -0.4em -100% 1em;
  float: right;
}
  
.btn__full_width {
  display: block;
}


/*
===========================
#005  footer
      style.footer.php
===========================
*/


body > footer {
  background: var(--footer-bg-color, #000);
  color: var(--sec-text-color, #fff);   
}

body > footer > div {
  display: flex;
  align-items: center;  
  justify-content: space-between;
  padding: 0 1.2rem;
  height: 4rem;
}

@media (max-width: 800px) {
  body > footer {
    padding-bottom: calc(var(--main-nav-height, 8rem) + 2rem); 
  }
}


/*
===========================
#006  form
      style.form.php
===========================
*/


form {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  max-width: 400px;
}

form h2 {
  color: var(--attention, #000);
  text-transform: uppercase;
}

.form__container {
  flex: 1;
  min-width: 100%;
}

.form__label {
  display: inline-flex;
    
}

.form__required, .form__optional {
  align-self: center;
  border-radius: 1rem;
  font-size: 0.8em;
  margin-left: 1rem;
  opacity: 1;
  padding: 0 1em;
}

.form__required {
  background: var(--attention, #f90);
  color: var(--sec-text-color, #fff);
}

.form__optional {
  background: var(--main-text-color, #000);
  color: var(--sec-text-color, #fff);
}

.form__field {
  background: var(--input-bg-color, #ccc);
  display: flex;
  z-index: 1;
}

.form__field::before {
  content: '';
  opacity: 0.2;
  pointer-events: none;
  position: absolute;
  top: 0px;
  right: 0px;
  bottom: 0px;
  left: 0px;
  z-index: 1;   
}

.form__input {
  background: transparent;
  border: none;
  flex: 1;
  outline: none;
  width: 100%;
} 

.form__input {
  padding: 0.5em 1em;
}

.form__input, .form__custom-select-container {
  font-size: 1.6rem;
}

.form__extension {
  align-self: center;
  color: rgba(0,0,0,0.3);
  border-left: 1px solid rgba(0,0,0,0.10);
  font-weight: 700;
  overflow: hidden;
  padding: 0 1rem;
}

.form__extension select {
  outline: none;
  background: transparent;
  border: none;
  color: #333;
  font-size: 2rem;
}

.form__extension select:hover,
.form__extension select:focus {
  outline: 2px solid var(--focus_and_hover_color, #1E90FF);
}

.form__custom-select-container,
.form__custom-select-value, 
.form__custom-select-options, 
.form__custom-select-option {
  box-sizing: border-box;
  flex: 1;
}

.form__custom-select-container {
  display: inline-block;
  position: relative;
}

.form__custom-select-value {
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.5em 1em;
  user-select: none;
  width: 100%;
}

.form__custom-select-container:focus > .custom-select-value {
  outline: none;
}

.form__custom-select-value::after {
  border: 4px solid transparent;
  border-top-color: var(--header-bg-color, #000);
  content: "";
  display: inline-block;
  margin-left: 12px;
  margin-top: 4px;
}

.form__custom-select-options {
  background: var(--header-bg-color, #ccc);
  border-bottom: 5px solid #111;
  display: none;
  position: absolute;
  padding: 0.6rem 0 0 0;
  margin: 0;
  width: 100%;
  border-top: none;
  max-height: 200px;
  overflow-y: auto; 
  z-index: 1;
}

.form__custom-select-options.show {
  display: block;
}

.form__custom-select-option {
  padding: .5em 1em;
  cursor: pointer;
}

.form__custom-select-option:hover {
  background: var(--header-bg-color, #000);
  color: var(--sec-text-color, #fff);
}

.form__custom-select-option.selected {
  background: var(--footer-bg-color, #000);
  color: var(--sec-text-color, #fff);
}


/*
===========================
#007  general_error_messages
      style.general_error_messages.php
===========================
*/


.general_error_messages__container {
  background: var(--info, #333);
  display: flex;
  flex-direction: column;
  gap: 1rem;
  list-style-type: none;
  margin: 0;
  padding: 1rem 0;
  width: 100%;
}

.general_error_messages__container::before {
  border: 5px solid transparent;
  border-bottom-color: var(--info, #333);
  content: "";
  position: absolute;
  top: -5px;
  left: 2.5rem;
  transform: translateY(-50%);
  z-index: 1;
}


.general_error_messages__title, .general_error_messages__item {
  color: var(--sec-text-color, #fff);
  padding: 0 2rem;
}

.general_error_messages__title {
  font-weight: 600;
}

.general_error_messages__item > i {
  color: var(--attention, #f90);
  margin-right: 1rem;
}


/*
===========================
#008  header
      style.header.php
===========================
*/


body > header {
  background: var(--header-bg-color, #000);
  color: var(--sec-text-color, #fff); 
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 99; 
}

body > header > div {
  .display: flex;
  .align-items: center;  
  height: var(--main-nav-height, 8rem);
  padding: 0 1.2rem;
}

body > header > div > * {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.logo {
  display: flex;
  align-items: center;  
  margin-right: auto;
  left: 1.2rem;
  text-decoration: none;
}

.logo .brand {
  width: 3rem;
}

.logo :is(.brand_right_eye, .brand_left_eye, .brand_scraf) {
  fill: none;
}

.logo .brand_border {
  fill: var(--brand-header-border-fill, #fff);
}

.logo .brand_title  {
  color: var(--sec-text-color, #fff);
  font-size: 1.2em;
  .font-weight: 600;
  margin-left: 1rem;  
}

.header__search_bar {
  background: var(--input-bg-color, #fff);
  right: 8rem;
  left: 55%;
  flex: 1;
  gap: 0px;
  flex-wrap: nowrap;
  min-width: 6rem;
}

.header__search_bar:focus-within {
  right: 8rem;
  left: 2rem;
  max-width: 100%;
}

.header__search_bar label {
  width: 100%;
}

.header__search_bar button {
  background: none;
  color: var(--main-text-color, #000);
  width: 4rem;
}

.header__nav_bar {
  right: 1.2rem;
}

.header__nav_bar_toggle_btn {
  border: 1px solid var(--sec-text-color, #fff);
  border-radius: 5px;
  color: inherit;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  width: 4rem;
  height: 4rem;
}

@media (min-width: 800px) {
  body > header {
    position: relative;
    top: 0;  
  }

  .header__search_bar:focus-within {
    left: 55%;
  }
}


/*
===========================
#009  html_body
      style.html_body.php
===========================
*/


html {
  background: var(--main-bg-color, #fff);
  font-size: 62.5%; 
}
    
body {
  color: var(--main-text-color, #000);
  display: flex;
  flex-direction: column; 
  font-size: 1.6rem;
  margin: 0 auto;
  min-height: 100vh;
}


/*
===========================
#010  main
      style.main.php
===========================
*/


body > main {
  flex-grow: 1;
}


/*
===========================
#011  main_nav
      style.main_nav.php
===========================
*/


#main_nav__toggler {
  display: none;
}

.main_nav * {
  text-decoration: none;
}

.main_nav {
  border-radius: 50%;
  overflow: hidden;
  position: fixed;
  visibility: hidden;
  width: 0px;
  height: 0px;
}

#main_nav__toggler:checked ~ .main_nav {
  border-radius: 0px;
  background: #333;
  display: flex;
  flex-direction: column;
  gap: 7rem;
  align-items: center;
  justify-content: center;
  visibility: visible;
  width: 100vw;
  height: 100vh;
  z-index: 9999;
}

.main_nav ul, .main_nav ul li {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.main_nav ul li a {
  border-radius: 1rem;
  color: var(--sec-text-color, #fff);
  display: block;
  font-size: 2rem;
  padding: 0.5em 1em;
  text-align: center;
}

.main_nav__active {
  background: var(--header-bg-color, #000);
  .color: var(--sec-text-color, #fff);
}

.main_nav__toggle_close_btn {
  border: 2px solid #444;
  border-radius: 1rem;
  color: #444;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 3rem;
  width: 5rem;
  height: 5rem;
}

.main_nav__toggle_close_btn:hover {
  border: 2px solid #900;
  color: #900;
}


/*
===========================
#012  markker
      style.markker.php
===========================
*/


.markker::after {
  background: var(--markker-color, #fff);
  .border: 1px solid var(--markker-border-color, #000);
  .border-width: 1px 3px;
  content: "";
  display: inline-block;
  opacity: 0;
  position: absolute;
  bottom: -6px;
  left: 50%;  
  transform: translate(-50%);
  width: 0%;
  height: 5px;
  transition: all 150ms ease; 
  z-index: 9;
}

.markker:hover::after,
.markker:focus::after,
.markker:focus-within::after {
  opacity: 1;
  width: 100%;
}


/*
===========================
#013  misc
      style.misc.php
===========================
*/


.misc__page_width_1024 {
  margin: 0 auto;
  max-width: 1024px;
}

.misc__page_center {
  display: flex;
  align-items: center;
  justify-content: center;
}

.misc__noscroll {
  overflow: hidden;
  visibility: hidden;
}


/*
===========================
#014  nav_card_php
      styte.nav_card_php
===========================
*/


.nav_card__container {
  display: flex;
  gap: 2rem;
}

.nav_card__item {
  background: #cc9;
  flex: 1;
}