/* mobil verzió*/
section:first-of-type{
    margin-top: auto;
}

header {
    background-color: #00633b; 
    background-color: #277553; 

    height: 50px;
    width: 100%;
    position: fixed;
    top: 0px;
    left: 0px;
    right: 0px;
    z-index: 99;
}

#header-top {
    background-color: inherit; 
    height: 100%;
    width: 100%;
    margin: 0px;
    position: relative;
    display: grid;
    grid-template-columns: auto auto;
    grid-column-gap: 10px;
    justify-items: start;
    align-items: center;
    gap: 10px;
    column-gap: 10px;
    box-shadow: 0px 2px 4px 0px #00883e;
}

#icon-menu {
    width: 48px;
    height: 48px;
    position: relative;
    cursor: pointer;
    margin: 0px;
    display: block;
    padding-left: .5em;
}

#icon-menu>span {
    position: relative;
    left:12px;
    top: 22px;
    background-color: var(--color-white1);
    width: 24px;
    height: 4px;
    display: block;
    backface-visibility: hidden;
    border-radius: 2px;
    -webkit-transition: .8s all ease;
    -o-transition: .8s all ease;
    transition: .6s all ease;
}

#icon-menu>span:before,
#icon-menu>span:after {
    content: "";
    background-color: var(--color-white1);
    width: 24px;
    height: 4px;
    backface-visibility: hidden;
    border-radius: 2px;
    position: absolute;
    left: 0;
    top: 8px;
    transition: .4s all ease;
}

#icon-menu>span:before{
    top: -8px;
}

#header-top.open>#icon-menu>span {
    -webkit-transform: rotate(180deg);
    -o-transform: rotate(180deg);
    transform: rotate(180deg);    
}

#header-top.open>#icon-menu>span:before,
#header-top.open>#icon-menu>span:after {
    left: 12px;
    width: 15px;
}

#header-top.open>#icon-menu>span:before {
    -webkit-transform: rotate(40deg);
    -o-transform: rotate(40deg);
    transform: rotate(40deg);
    top:-4px;
}

#header-top.open>#icon-menu>span:after {
    top: 4px;
    -webkit-transform: rotate(-40deg);
    -o-transform: rotate(-40deg);
    transform: rotate(-40deg);
}

#logo-top{
    height: 40px;
}

#nav-top{
    display: block;
    position: fixed;
    top: 0px;
    left: -100%;
    width: 90vw;
    max-width: 40ch;
    height: 100%; 
    background-color: var(--color-black-bg);
    padding: 60px 16px 32px 16px;
    transition: left 0.6s ease 0s;
    
    box-shadow: 0 0 11px 2px rgb(0 0 0 / 18%);
    overflow: auto;    
    z-index: -1;
    color: var(--color-white1);
}

#header-top.open > #nav-top{
  left: 0px;
}

#nav-top>ul {
    display: block;
    padding: 0px;
    font-size: 1.1em;
}

#nav-top>ul a{
    display: block;
    color: inherit;
    line-height: 2em;
    padding: 0px 10px;
    min-width: 15ch;    
    white-space: nowrap;    
}

#nav-top>ul a:hover {
color: var(--color-primary__text);
background-color: var(--color-primary__bg);
}

.submenu{ 
    position: relative;
}

.submenu::after{
    font-family: "fontawesome"; 
    font-weight: 900;
    font-size: 1.3em;
    position: absolute;
    top: .2em;
    right: 10px;
    content: "\f107";  
    -webkit-transition: .6s all ease;
    -o-transition: .6s all ease;
    transition: 0.6s all ease-in-out;
}
.submenu.open::after{
    -webkit-transform: rotate(-180deg);
    -o-transform: rotate(-180deg);
    transform: rotate(-180deg);    
}

.submenu>ul {
    height: 0px;
    overflow:hidden;
    -webkit-transition: height .6s;
    -o-transition: height .6s;
    transition: height .6s;
    padding-inline-start: 1.5em;
}

#nav-title{
    font-size: 1.2em;
    color:  var(--color-gray1);
    text-align: center;
}


#nav-contact{
    padding-top: .5em;
    border-top: 1px solid var(--color-secondary);
    position: relative;
    line-height: 1.8em;    
}

#nav-contact a{
  color: var(--color-white2);   
    display: block;
}

#nav-contact .icon::before{
    color: var(--color-secondary);
}

#nav-contact .icon:hover,
#nav-contact .icon:hover::before{
    color: var(--color-green2);
}

#nav-contact span{
    display: inline-block;
    line-height: 1.2em;
}

#nav-contact .icon--address div{
    font-weight: 700;
}

#nav-button{
    text-align: center;
}

#nav-button button{
    white-space: normal;
    margin-top: 1em;
}



@media (min-width 23em){    
    #nav-title{ font-size: 1.5em;}
}

@media (min-width: 56em){
    section:first-of-type{
        margin-top: 2rem;
    }

    header {
        height: 80px;
    }
    
    #header-top {
        display: flex;
        justify-content: space-between;
        align-items: center;
        align-content: stretch; 
    }

    #icon-menu {
        display: none;
    }

    #logo-top {
        height: 50px;
        padding: 4px 10px 4px 10px;
    }

    #nav-top{
        position: static;
        flex-grow: 1;
        display: grid;
        grid: 1fr auto /1fr auto;
        grid-template-areas: "title contact"
                             "menu menu";
        box-shadow: none;
        z-index: 0;
        max-width: none;
        max-width: unset;
        padding: unset;
        background-color: unset;
        overflow: visible;
    }

    #nav-top>ul {
        grid-area: menu;
        color: var(--color-white1);
        padding: 2px;
        display: flex;
        column-gap: .75em;
        justify-content: flex-end;
        align-items: baseline;
        flex-wrap: wrap;
        margin: 4px;    
    }

    #nav-top>ul>li>a:hover{
        border-bottom: 3px solid var(--color-white2);
        transition: .2s;
    }
    
    #nav-top>ul a{
        display: inline;
        line-height: 1em;
        font-size: 1rem;
        padding: 0;
    }

    .submenu::after{
        font-size: .9em;
        display: inline;
        position: static;
        top: unset;
        right: unset;
        -webkit-transition: .4s all ease;
        -o-transition: .4s all ease;
        transition: .4s all ease-in-out;
        margin-left: 0px;
    }

    .submenu>ul {
        position: absolute;
        overflow:hidden;
        background-color: var(--color-black-bg);
        box-shadow: 0 0 10px 2px rgb(0 0 0 / 22%);
        text-align: left;
        margin: 0;
        -webkit-transition: height .6s;
        -o-transition: height .6s;
        transition: height .6s;
        padding: 0px;
    }

    @media (hover){
        .submenu>ul{
            opacity: 0;
            margin-top:20px;
        }
        .submenu:hover>ul{
            transition: .6s all ease;
            height: unset !important;
            opacity: 1;
            transform: translateY(-20px);
        }
    } /*end of hover media*/

    #nav-top .submenu>ul a{
        display: block;
        line-height: 2em;
        padding: 0px 10px;
    }

    #nav-title{
        grid-area: title;
        justify-self: center;
        align-self: center;
        margin: 2px;    
        color:  var(--color-white2);
        font-weight: 400;
        text-shadow: 2px 2px 4px var(--color-dark2);
        font-size: 1.6rem;
    }

    #nav-contact{
        grid-area: contact;
        display: flex;
        font-size: .8em;
    }

    #nav-contact .icon{
        padding-left: 0;
        margin: auto 5px;
    }
    
    #nav-contact .icon::before{
        position: static;
        margin: auto 4px;
        color: inherit;
    }
    
    #nav-contact .icon:hover, 
    #nav-contact .icon:hover::before {
        color: var(--color-dark1);
    }
    
    #nav-contact .icon--address,
    #nav-button button{
        display: none;
    }
} /*desktop ver1 vége*/

@media (min-width: 59em){
    #logo-top { height: 63px;}     
}
@media (min-width: 68.5em){
    #nav-title{
        font-size: 1.8rem;
    }

    #nav-contact{
        display: block;
    }
}