/**

 * @file

 * The header components.

 *

 * It includes styles for the header itself and their

 * component as the logotype or the main menu.

 */



/**

 * Global header rules

 */

.header {

  color: #ffffff;

  background-image: url("../images/header-bg.jpg");

  background-color: #111111;

  font-family: 'Montserrat';

}

.region-header {
  width: 95%;
}



@media all and (min-width: 700px) {

  .region-header {

    text-align: center;

    width: 100%;

  }

}



/**

 * Branding block

 */

.block-system-branding-block {

  text-align: center;

  padding:10px 20px;

  width: 152px;

}



.site-slogan{

  font-weight: 300;

  display: none;

  position: relative;

  padding:1em 0em;

  margin:1em 0em 0em;

  font-family: 'Roboto';

}

.site-slogan:before {

    content: "";

    position: absolute;

    left: 50%;

    transform:translateX(-50%);

    width: 15em;

    top:0em;

    height: 1px;

    background-color: #ffffff;

}

@media all and (min-width: 700px) {

  .block-system-branding-block {

    display: inline-block;

    width: 33%;

    vertical-align: middle;

  }

  .site-slogan {
    display: block;
  }

}



/**

 * Side blocks

 */

.header__sideblock {

  display: none;

}

.header__sideblock span{

  line-height: 1;

}

.header__sideblock.sideblock__image .sideblock-image__wrapper {
  display: flex;
  flex-direction: column;
  gap: 15px;
}

@media all and (min-width: 768px) {

  .header__sideblock {

  	position: relative;

    display: inline-block;

    width: 32%;

    margin-top: 1rem;

    vertical-align: middle;

    text-align: center;

    text-transform: uppercase;

  }

  .header__sideblock:not(.sideblock__image):before,

  .header__sideblock:after,

  .header__sideblock.sideblock__image .block-content:before  {

  	content: "";

  	position: absolute;

  	left: 50%;

    transform:translateX(-50%);

  	width: 6em;

  	height: 1px;

  	background-color: #ffffff;

  }

  /* .header__sideblock.sideblock__image {
    display: flex;
    flex-direction: column-reverse;
  } */

  /* .header__sideblock.sideblock__image div:nth-child(2):before {
    content: "";

  	position: absolute;

  	left: 50%;

    transform:translateX(-50%);

  	width: 6em;

  	height: 1px;

  	background-color: #ffffff;
  } */

  .header__sideblock.sideblock__image .block-content:before {
    top : 90px;
  }

  .header__sideblock:before {

  	top: 0;

  }

  .header__sideblock:after {

  	bottom: 0;

  }

  .header__sideblock span {

    font-size: 1.5rem;

  }

  .header__sideblock a {

  	color: #ffffff;

  }



}

@media all and (min-width: 1000px) {

  .header__sideblock {

    padding: 0 2rem;

  }

}

@media all and (min-width: 1250px) {

  .header__sideblock {

    padding: 0 4rem;

  }

}



/**

 * Main menu

 */

.region-primary-menu {

  clear: both;

  background-color: #111111;

  display: none;

}

.region-primary-menu.is-active{

  display: block;

}

.region-primary-menu.is-fixed{

  position: fixed;

  z-index:5;

  top:0;

  left:0;

}

.menu--main .menu {

  position: relative;

  z-index: 500;

  margin:0em;

  padding:0em;

  text-align: center;

}

.menu--main a {

  color: #ffffff;

  display: block;

  text-transform: uppercase;

  padding:0.7rem 0em;

  font-size:0.9em;

  position: relative;

  font-family: 'Montserrat', sans-serif;

  font-weight: 700;

}

.menu--main .menu .is-active {

  color: #ffffff;

}

.menu--main .menu-item {

  display: inline-block;

  text-align: center;

  vertical-align: middle;

  padding:0em 1em;

  width:100%;

}

.menu--main a:after, .menu--main a:before {

  content: '';

  display: block;

  margin: auto;

  height: 1px;

  width: 0px;

  background: transparent;

  transition: all 0.5s;

  position: absolute;

  left:50%;

  transform:translateX(-50%);

}

.menu--main a:after{

  bottom:0em;

}

.menu--main a:before{

  top:0em;

}

.menu--main a:hover:after,

.menu--main a:hover:before,

.menu--main .is-active:after,

.menu--main .is-active:before {

  width: 3em;

  background: #555555;

}

@media all and (min-width: 768px) {

  .region-primary-menu{

    display: block;

  }

  .menu--main {

  	padding: 0.75rem 0;

  }

  .menu--main .menu-item {

  	width: 12%;

  }

}

.header > .grid-row {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-content: center;
}

/*

=== Button burger ===

*/

.menu-toggle{

  line-height:0;

  padding:1em 20px;

  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-end;

}

.menu-toggle__button{

  height:25px;

  width:30px;

    padding: 0;

    line-height:0;

    text-indent: -999em;

    background-color: transparent;

    border: none;

    text-align: center;

    position: relative;

}

@media screen and (min-width: 768px) {

  .menu-toggle{

    display: none;

  }

  .menu--main .menu-item{

    padding:0em 0.5em;

  }

  .menu--main a{

    font-size:0.7em;

  }

}

@media screen and (min-width: 1024px) {

  .menu--main a{

    font-size:0.9em;

  }

}



/*

=== Button bar & animation ===

*/

.menu-toggle__bar{

  position: absolute;

  width:30px;

  height:2px;

  background-color:#fff;

  top: 50%;

  display: block;

  -webkit-transition: all ease .25s;

  -o-transition: all ease .25s;

  transition: all ease .25s;

}

.menu-toggle__bar:first-child {

  top: 0%;

}

.menu-toggle__bar:last-child {

  top: 100%;

}

.is-active .menu-toggle__bar {

  opacity: 0; /* The central bar is not visible if button is active */

}

.is-active .menu-toggle__bar:first-child,

.is-active .menu-toggle__bar:last-child {

  /* If the button is active, the burger icon is turning into a cross icon */

  top: 45%;

  opacity: 1;

  -webkit-transform: rotate(45deg);

  -ms-transform: rotate(45deg);

  -o-transform: rotate(45deg);

  transform: rotate(45deg);

}

.is-active .menu-toggle__bar:last-child {

  -webkit-transform: rotate(-45deg);

  -ms-transform: rotate(-45deg);

  -o-transform: rotate(-45deg);

  transform: rotate(-45deg);

}









