* {
margin: 0;
padding: 0;
}
html {
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
*,
:after,
:before {
-webkit-box-sizing: inherit;
box-sizing: inherit;
}
body {
width: 100%; 
font-family: Segoe UI, Frutiger, Dejavu Sans, Helvetica Neue, Arial,
sans-serif;
color: #222;
}
header {
padding: 0;
margin: 0;
}
.nav__container,
header {
width: 100%;
background-color: #fafafa;
}
.nav__container {
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-ms-flex-direction: column;
flex-direction: column;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
-webkit-box-align: stretch;
-ms-flex-align: stretch;
align-items: stretch;
padding: 10px;
}
.nav__mobile .nav__btn {
display: block;
}
.nav__mobile {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
}
.nav__logo {
font-size: 1.4rem;
font-weight: 700;
color: #555;
}
.nav__menu {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-ms-flex-direction: column;
flex-direction: column;
overflow: hidden;
}
.showing {
max-height: 37rem;
-webkit-transition: all 0.5s;
transition: all 0.5s;
}
.nav__menu li {
list-style: none;
position: relative;
white-space: nowrap;
padding: 1rem 0 0;
}
.nav__menu li a {
display: block;
font-size: 1.2rem;
font-weight: bold;
color: #222;
text-decoration: none;
}
.nav-toggle {
display: block;
background-color: transparent;
width: 40px;
cursor: pointer;
padding: 4px;
}
.nav-toggle span {
position: relative;
display: block;
height: 4px;
border-radius: 35px;
width: 100%;
margin-top: 0;
background-color: #000;
-webkit-transition: all 0.25s;
transition: all 0.25s;
}
.nav-toggle span.mrg {
margin-top: 5px;
}
.nav-toggle.open span:first-child {
-webkit-transform: rotate(45deg) translate(6.2px, 6.2px);
transform: rotate(45deg) translate(6.2px, 6.2px);
}
.nav-toggle.open span:nth-child(2) {
width: 0;
opacity: 0;
}
.nav-toggle.open span:last-child {
-webkit-transform: rotate(-45deg) translate(6.2px, -6.2px);
transform: rotate(-45deg) translate(6.2px, -6.2px);
}
.nav__menu .menu-item-has-children ul {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-ms-flex-direction: column;
flex-direction: column;
position: static;
padding: 0;
max-height: 0;
overflow: hidden;
-webkit-transition: all 0.4s;
transition: all 0.4s;
}
.nav__menu .menu-item-has-children ul.show {
max-height: 20rem;
-webkit-transition: all 0.4s;
transition: all 0.4s;
}
.nav__menu .menu-item-has-children li a {
display: block;
font-size: 0.875rem;
text-transform: capitalize;
color: #222;
text-decoration: none;
}
.nav__menu li a:hover {
color: #d51630;
}
.nav__menu .menu-item-has-children > a:after {
content: "\f107";
font-family: "Font Awesome 5 Free";
font-weight: 900;
font-size: 0.875rem;
padding-left: 5px;
color: #7e7e7e;
}
.nav__menu .active.menu-item-has-children > a:after {
content: "\f106";
}
.nav__menu .menu-item-has-children .menu-item-has-children > a:after {
content: "\f107";
font-family: "Font Awesome 5 Free";
font-weight: 900;
font-size: 0.875rem;
padding-left: 5px;
color: #7e7e7e;
}
.nav__menu .menu-item-has-children .active.menu-item-has-children > a:after {
content: "\f106";
}
.menu-toggle {
max-height: 0;
overflow: hidden;
}
.menu-toggle,
.menu-toggle.active {
-webkit-transition: all 0.4s ease;
transition: all 0.4s ease;
}
.menu-toggle.active {
max-height: 100vh;
}
.resize-animation-stopper * {
-webkit-transition: none !important;
transition: none !important;
-webkit-animation: none !important;
animation: none !important;
}
@media screen and (min-width: 800px) {
.menu-toggle {
display: -webkit-box !important;
display: -ms-flexbox !important;
display: flex !important;
max-height: 100vh;
overflow: visible;
}
.nav__container {
width: 100%; 
margin: auto;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-ms-flex-direction: row;
flex-direction: row;
padding: 10px;
}
.nav__container,
.nav__mobile {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: flex-start;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
}
.nav__mobile .nav__btn {
display: none;
}
.nav__logo img {
width: 100%;
max-width: 58px;
}
.nav__menu {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-ms-flex-direction: row;
flex-direction: row;
max-height: 100%;
overflow: visible;
}
.nav__menu li {
list-style: none;
position: relative;
white-space: nowrap;
padding: 1rem;
}
.nav__menu li a {
font-size: 1rem;
color: #222;
text-decoration: none;
}
.nav__menu li a:hover {
color: #d51630;
}
.nav__menu .menu-item-has-children {
position: relative;
}
.nav__menu .menu-item-has-children ul {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-ms-flex-direction: column;
flex-direction: column;
position: absolute;
top: 100%;
left: -30px;
opacity: 0;
visibility: hidden;
overflow: visible;
padding: 0 1rem;
-webkit-transition: all 0.4s ease;
transition: all 0.4s ease;
}
.nav__menu .menu-item-has-children:hover > ul {
top: 100%;
left: 0;
opacity: 1;
visibility: visible;
overflow: visible;
padding: 0 1rem;
}
.nav__menu .menu-item-has-children ul li {
padding: 0.7rem;
background-color: #d51630;
position: relative;
}
.nav__menu .menu-item-has-children ul li:hover {
background-color: #b42c2c;
}
.nav__menu .menu-item-has-children ul li a {
display: block;
color: #fff;
text-transform: capitalize;
}
.nav__menu .menu-item-has-children ul li a:hover {
display: block;
color: #fff;
}
.nav__menu .menu-item-has-children > a:after {
content: "\f107";
}
.nav__menu .menu-item-has-children:hover > a:after,
.nav__menu .menu-item-has-children > a:after {
font-family: "Font Awesome 5 Free";
font-weight: 900;
font-size: 0.875rem;
padding-left: 5px;
color: #7c7c7c;
}
.nav__menu .menu-item-has-children:hover > a:after {
content: "\f106";
}
.nav__menu .menu-item-has-children .menu-item-has-children > a:after {
content: "\f105";
}
.nav__menu .menu-item-has-children .menu-item-has-children:hover > a:after,
.nav__menu .menu-item-has-children .menu-item-has-children > a:after {
font-family: "Font Awesome 5 Free";
font-weight: 900;
font-size: 0.875rem;
padding-left: 10px;
color: #fff;
}
.nav__menu .menu-item-has-children .menu-item-has-children:hover > a:after {
content: "\f104";
}
.nav__menu .menu-item-has-children .menu-item-has-children:hover > ul {
position: absolute;
top: 0;
left: calc(100% - 17px);
right: auto;
opacity: 1;
visibility: visible;
}
.nav__menu .menu-item-has-children .menu-item-has-children ul {
position: absolute;
top: 0;
left: calc(100% - 17px);
right: auto;
opacity: 0;
visibility: hidden;
-webkit-transition: all 0.4s ease-in-out;
transition: all 0.4s ease-in-out;
}
}