/* reset rule */
* {
    margin: 0; padding: 0; border: 0; box-sizing: border-box;
}

body {
    background-color: #FFF;
    font-family: verdana;
}

#topbar {
    width: 100%; height: 45px;
    background-color: aliceblue;
    position: relative;
}

#navbar {
    width: 100%; height: 90px;
    background-color: #333;
    position: relative;
}

#hero {
    width: 100%; height: 520px;
    background-color: skyblue;
}

a.logo {
    display: block;
    font-family:'Times New Roman', Times, serif;
    width: 200px; height: 90px;
    background-color: #269;
    color: #fff;
    text-decoration: none;
    text-align: center;
    line-height: 85px;
    font-size: 2em;
}

a.logo span {
    color: #FFF;
    font-size: 1.8em;
    position: relative; top: 9px; left: -4px;
}

nav#main-nav {
    min-width: 500px; height: 90px;
    background-color: #333;
    position: absolute; left: 230px; top: 0px;
}

/* form#search1 {
    min-width: 250px; height: 90px;
    background-color: thistle;
    position: absolute; right: 0px; top: 0px;
} */

section#hero {
    background-image: url(../images/hero.jpg);
    background-size: cover;
    position: relative;
}

section#hero .herolink {
    display: block;
    width: 100%; height: 100%;
    position: absolute; left: 0px; top: 0px;
}

/* =============================== main navigation menu and submenus ================================== */
/* #main-nav {
    background-color: #333 !important; it is better to change it at the source of the element
} */

#main-nav > ul {
    position: relative;
}

#main-nav > ul > li {
    list-style-type: none;
    display: inline-block;
    height: 90px;
}

#main-nav > ul > li > a {
    font-size: .9em;
    display: block;
    width: 100%;
    height: 100%;
    text-decoration: none;
    color: #FFF;
    line-height: 86px;
    padding: 0px 8px;
    position: relative;
}

#main-nav > ul > li > a:hover {
    color: #777;
}

/* triangles/arrows on the main menu */
#main-nav > ul > li:hover > a::after {
    content: "\25b2";
    position: absolute; left: 50%; bottom: -34px;
    transform: translateX(-50%) scale(1.8); /* width of the triangle */
    color: #FFF;
}

#main-nav .submenu {
    position: absolute; left: 0px; top: 90px;
    width: 750px;
    height: 380px;
    z-index: 2;
    display: none;
    box-shadow: 2px 2px 4px #222;
}

#main-nav > ul > li:hover .submenu {
    display: flex;
}

#main-nav nav.submenu > ul {
    list-style-type: none;
    background-color: white;
    flex: 1 0 50%;
}

#main-nav nav.submenu > ul > li > a {
    display: block;
    width: 100%;
    height: 35px;
    text-decoration: none;
    color: #000;
    line-height: 30px;
    font-size: .9em;
    text-indent: 16px;
    position: relative;
}

#main-nav nav.submenu > ul > li > a.special {
    color: #b00;
}

#main-nav nav.submenu > ul > li > a.no-arrow {
    color: #000;
}

#main-nav nav.submenu > ul > li > a:hover {
    text-decoration: underline;
}

#main-nav nav.submenu > ul > li > a::after {
    content: "\25b6";
    position: absolute; right: 8px; top: 0px;
}

#main-nav nav.submenu > ul > li > a.no-submenu::after {
    content: "";
    position: absolute; right: 8px; top: 0px;
}

.submenu .submenu-promo {
    background-color: green;
    background-image: url(../images/submenu-promo.jpg);
    background-size: cover;
    background-position: 50% 90%;
    flex: 1 0 50%;
    position: relative;
}

.submenu .submenu-promo > span {
    display: block;
    width: 12ch;
    line-height: 34px;
    text-decoration: none;
    text-transform: uppercase;
    font-weight: bold;
    font-size: 1.6em;
    color: white;
    position: absolute; left: 24px; bottom: 14px;
}

.submenu .submenu-promo span  span {
    display: block;
    font-size: .6em;
    text-transform: capitalize;
    font-weight: normal;
    text-decoration: underline;
}

nav.submenu > ul > li:hover {
    background-color: lightgray;
}

ul.submenu2 {
    list-style-type: none;
    position: absolute; left: 375px; top: 0px;
    background-color: lightgray;
    z-index: 4;
    width: 375px; 
    height: 85%;
    display: none;
}

#main-nav nav.submenu > ul > li:hover > a + .submenu2 {
    display: block;
}

ul.submenu2 a {
    text-decoration: none;
    color: #000;
    display: block;
    height: 30px;
    line-height: 28px;
    text-indent: 18px;
    font-size: .9em;
}

ul.submenu2 a:hover {
    text-decoration: underline;
}
/* =============================== end of main navigation menu and submenus ================================== */

/* search bar */
form#search1 {
    min-width: 250px; height: 90px;
    position: absolute; right: 0px; top: 0px;
}

input[type=text] {
    display: block;
    width: 220px;
    height: 40px;
    background-color: transparent;
    border: 2px solid #999;
    transform: translate(0px, 24px);
    font-size: 1.7em; 
    padding-left: 4px;
    color: #EEE;
}

input[type=submit] {
    display: block;
    width: 30px;
    height: 30px;
    position: absolute; top: 29px; right: 34px;
    font-size: 34px;
    line-height: 0px;
    background-color: transparent;
    color: #EEE;
    transform: rotate(-35deg);
    cursor: pointer;
}

nav.hero-cta {
    position: absolute; bottom: 50px; left: 50%;
    transform: translateX(-50%);
}

nav.hero-cta li {
    width: 180px;
    height: 36px;
    background-color: #FFF;
    list-style-type: none;
}

nav.hero-cta > ul > li:hover {
    background-color: lightgray;
}

nav.hero-cta a {
    display: block;
    width: 100%; height: 100%;
    text-decoration: none;
    line-height: 35px;
    text-align: center;
    font-weight: bold;
    text-transform: uppercase;
    font-size: .9em;
    color: #222;
}

.cta-arrow::after {
    content: "\203A";
    position: absolute; right: 6px;
    font-size: 1.3em;
}

nav.hero-cta > ul > li:hover .cta-arrow::after {
    transform: rotate(90deg);
    position: absolute; right: 4px;
    transition: transform 200ms ease-in-out;
}

nav.hero-cta li ul {
    display: block;
    box-shadow: 0px 8px 8px #999;
    position: absolute;
    height: 0px;
    transition: height 200ms ease-in-out;
}

nav.hero-cta li ul li {
    height: 0px;
    font-size: 0px;
    transition: height 200ms ease-in-out;
}

nav.hero-cta li:hover ul {
    display: block;
    height: 140px;
}

nav.hero-cta li:hover ul li {
    height: 35px;
    font-size: .9em;
}

nav.hero-cta li ul li a:hover {
    background-color: lightgray;
}

