*{
    -webkit-tap-highlight-color: transparent;
    box-sizing: border-box;
}
html{
    font-size: 18px;
}
body{
    margin: 0;
    padding: 0;
}

.overlay{
    position: fixed;

    width: 100%;
    height: 100%;

    display: none;

    background-color: rgba(0, 0, 0, 0.5);

    z-index: 101;
}
.overlay.active{
    display: block;
}


.backgroudServices{
    width: 100%;
    height: fit-content;

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

    overflow: hidden;
}
.mainBoxServices{
    width: 100%;
    height: fit-content;

    max-width: 80rem;

    margin: 2rem 0;
    padding: 0 .5rem;

    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2.5rem;
}
.h2Text{
    margin: 0;

    color: rgb(0, 114, 96);
    font-size: 2.5rem;
    word-spacing: 1.25rem;
}
.boxInput{
    width: 100%;
    height: fit-content;
}
#inputServiceSearch{
    width: 100%;
    height: 3rem;

    padding: 0 1rem;

    border: .15rem solid rgba(0, 114, 97, 0.671);
    border-radius: 1.5ch;

    caret-color: rgb(0, 114, 96);

    font-size: 1rem;
    color: rgb(0, 0, 0);

    transition: all .2s ease;
}
#inputServiceSearch:focus{
    outline: none;
    border-color: rgb(0, 114, 97);
    transform: scale(1.015);
}
@media (hover: hover){
    #inputServiceSearch:hover{
        border-color: rgb(0, 114, 97);
        transform: scale(1.015);
    }   
}
.boxServices{
    width: 100%;
    height: fit-content;

    display: flex;
    gap: .3rem;
}
.boxAllService{
    display: none;
    width: 100%;
    height: fit-content;
}
.boxAllService.active{
    display: block;
}
.boxFuse{
    display: none;
    width: 100%;
    height: fit-content;
}
.boxFuse.active{
    display: block;
}
.dropBox{
    width: 100%;
    height: fit-content;

    display: flex;
    flex-direction: column;
    align-items: center;
}
.mainService, .submainService{
    width: 100%;
    height: fit-content;

    display: flex;
    align-items: center;
    gap: .2rem;

    padding: 0 .5rem;

    border: .1rem solid white;
    border-radius: 1ch;

    user-select: none;

    transition: all .1s ease;

    background-color: rgb(0, 122, 104);
}
.submainService{
    padding-left: 3rem;
    background-color: rgba(0, 122, 104, 0.753);
}
.submainService.opened{
    background-color: rgb(0, 122, 104);
}
@media (hover: hover){
.mainService:hover, .submainService:hover{
    opacity: 1;
    transform: scale(1.015);
    cursor: pointer;
}
.mainService:active, .submainService:active{
    transform: scale(1);
}
}
@media (hover: none) {
.mainService:active, .submainService:active{
    opacity: 1;
    transform: scale(.99);
}
}
.mainService .boxIcon{
    width: 100%;
    height: fit-content;

    max-width: 3rem;

    display: flex;
    align-items: center;
    justify-content: center;
}
.mainService .boxIcon .icon{
    width: 3rem;
    height: 3rem;
}
.mainService .boxText, .submainService .boxText{
    width: 100%;
    height: fit-content;

    display: flex;
    align-items: flex-start;
    justify-content: flex-start;

    color: white;
}
.mainService .boxDropButton , .submainService .boxDropButton{
    width: 100%;
    height: fit-content;

    max-width: 2rem;

    display: flex;
    align-items: center;
    justify-content: center;
}
.mainService .boxDropButton .boxSVG, .submainService .boxDropButton .boxSVG{
    width: 2rem;
    height: 2rem;
}

.listItems{
    width: 100%;
    height: fit-content;

    margin-bottom: 1rem;

    display: none;
    flex-direction: column;
    gap: .3rem;
}
.listItems.opened{
    display: flex;
}

.serviceItem{
    width: 100%;
    height: fit-content;

    display: flex;
    align-items: center;

    padding: .5rem 0;

    color: black;

    background-color: white;

    font-size: 1rem;

    border-top: 1px solid rgb(189, 189, 189);
    border-bottom: 1px solid rgb(189, 189, 189);

    opacity: .6;

    user-select: none;

    transition: all .2s ease;
}
.serviceItem.selected{
    opacity: 1;
}
@media (hover: hover){
    .serviceItem:hover{
        opacity: 1;
        cursor: pointer;
        background-color: rgba(0, 122, 104, 0.158);
    }
}
.boxTextPrice{
    width: 85%;
    height: fit-content;

    padding-left: 1rem;

    display: flex;
    flex-direction: column;
    gap: .5rem;
}
.boxTextPrice .text{
    width: 100%;
    height: fit-content;

    margin: 0;

    text-align: start;
}
.boxTextPrice .price{
    width: 100%;
    height: fit-content;

    margin: 0;

    text-align: right;
}
.boxSelectButton{
    width: 15%;
    height: fit-content;

    display: flex;
    align-items: center;
    justify-content: center;
}
.boxSelectButton .boxIcon{
    width: 2rem;
    height: 2rem;
}
.serviceItem .boxSelectButton .boxIcon svg{
    transition: all .2s ease;
}
.serviceItem .boxSelectButton .boxIcon svg.selected{
    stroke: red;
    transform: rotate(45deg);
}
@media (max-width: 1024px){
    html{
        font-size: 14px;
    }
}