body {
    margin: auto;
    max-width: 45vw;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    font-family: 'montserrat';
    padding: 0 0 10vh 0;
    position: relative;
}

.retour{
    background: transparent;
    border: 0;
    display:flex;
    position: absolute;
    top: 2%;
}
.retour img{
    width: 30px;
    cursor:pointer;
    transition:.4s;
}
.retour img:hover{
    transform: translateY(-5px);
}

header {
    margin: 10vh 0 2vh 0;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: center;
}

header .logo {
    width: 55%;
    margin: 0 auto;
    transition:.4s;
    cursor:pointer;
}
header .logo:hover{
    transform:scale(1.1);
}

header span {
    font-family: 'lazydog';
    font-size: 1.6em;
    letter-spacing: 5px;
    color: var(--hr);
    text-transform: capitalize;
}

.title {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    font-family: 'lazydog';
    font-size: 1.3em;
    letter-spacing: 7px;
    margin: 2vh 0 1.4vh 0;
}
.title div{
    display:flex;
    flex-direction:row;
    align-items:center;
    justify-content:space-between;
    width: 100%;
    position: relative;
}
.title label{
    font-family: "montserrat";
    font-weight: 600;
    letter-spacing: initial;
    margin:0 0 0 1vw;
}
.title div hr{
    width: 20vw;
    margin:0 2vw 0 auto;
}
.title h2 {
    margin: 1vh auto;
    text-align: center;
}

p.solo-desc{
    font-size: 1.14em;
    letter-spacing: 3px;
    font-weight: 400;
    text-align:center;
    margin:1vh auto 3vh auto;
}


hr {
    border: 3px solid var(--hr);
    border-radius: 12px;
    width: 100%;
}

.sub-title {
    font-size: 1.3em;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    width: 100%;
}

.sub-title h3 {
    font-weight: 400;
    text-transform: uppercase;
}

.sub-title hr {
    width: 13%;
    margin: 0 2vw;
}

p.base-product {
    font-size: 1.3em;
    font-style: italic;
    text-align: center;
    max-width: 90%;
    margin: 2vh auto;
    letter-spacing: 2px;
    font-weight: 300;
}

.item {
    margin: 1.5vh 0;
}

.item p {
    font-size: 1.14em;
    letter-spacing: 3px;
    font-weight: 400;
}

.item .name-and-price {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    margin: 0 0 .5vh 0;
}

.item .name-and-price * {
    font-weight: 700;
}

.item .name-and-price h4 {
    font-size: 1.2em;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.item .name-and-price img {
    width: 1.9%;
    height: 1.75%;
    margin: auto auto auto .65vw
}

.item.no-description {
    margin: .75vh 0;
}

.item ul {
    list-style-position: inside;
}

.item li::marker {
    color: var(--hr);
    font-size: 1.1em;
}

.item li {
    margin: .5vh 0;
    letter-spacing: 3px;
}

footer{
    display:flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    margin:10vh 0 0 0;
}
footer hr{
    width:15%;
    margin:0 1vw;
}
footer span{
    font-weight:700;
    font-size:1.1em;
    letter-spacing: 2px;
    cursor:pointer;
    margin:0 0 0 .5vw;
}
footer img{
    max-width: 5%;
    padding:.4vh;
}

/*phones */
@media screen and (max-width: 810px) {
    body {
        max-width: 90%;
        padding-bottom:0;
    }

    header {
        margin: 6vh 0 5vh 0;
    }

    header .logo {
        width: 80%;
    }
    header span{
        font-size:1.1em;
    }

    .title {
        font-size: 1.1em;
    }

    .title div hr{
        width: 5%;
    }

    .sub-title {
        font-size: 1em;
    }

    p.base-product {
        font-size: 1em;
    }
    .item p {
        font-size:.9em;
        letter-spacing: 2px;
    }
    .item .name-and-price img{
        width:4%;
    }
    .item .name-and-price h4{
        font-size:.9em;
    }
    .item.no-description .name-and-price h4{
        font-size:1em;
    }
    .item li {
        font-size:.9em;
    }
    footer{
        margin:5vh 0;
    }
    footer hr{
        width:10%;
        margin:0 1vw;
    }
    footer span{
        font-size:.9em;
        margin:0 1vw;
    }
    footer img{
        max-width: 10%;
        margin:0 1vw;
    }

}
/*ipad*/
@media screen and (min-width: 800px) and (max-width: 810px) {
    .title div hr{
        width:40vw;
    }
    .item .name-and-price h4{
        font-size:1.2em;
    }
    .item p{
        font-size:1.1em;
    }
}

/*rly not wide phones */
@media screen and (max-width: 384px) {
    .item .name-and-price h4{
        font-size:.75em;
    }
    .title div hr{
        display:none;
    }
    .title label{
        font-size:.9em;
    }
}