:root{
    --color01: rgba(109,141,245,1.00);
    --color02: rgba(25,69,168,1.00);
    --color03: rgba(9,37,110,1.00);
    --color04: rgba(226,232,245,1.00);
    --color05: rgba(255,244,31,1.00);
    --color06: rgba(225,214,14,1.00);
}

html,body{
    margin:0;
    padding: 0;
    height:100vh;
    width: 100%;
    overflow-x: hidden;
    font-family: Switzer;
    font-weight: 300;
    color: var(--color04);
    background-image: linear-gradient(221deg, var(--color03) 0%, var(--color02) 99%);
    scroll-behavior: smooth;
}

#wrap {
    display: flex;
    width:100%;
    height: auto;
    overflow-y: auto;
    align-items: center;
    flex-direction: column;
    justify-content: flex-start;
    text-align: center;
}

#wrap h1,
#wrap h2,
#wrap h3,
#wrap h4,
#wrap h5,
#wrap h6{
    width:100%;
    height:auto;
    text-overflow: clip;
    text-wrap:wrap;
    overflow-x: hidden;
    margin:0;
    font-style:italic;
}
#wrap p{ 
    margin:6px 0px;
    font-style: italic;
}

#wrap h1{     font-size: min(12vw, 80px); letter-spacing: -2px; line-height: min(11vw, 75px); font-weight: 900; }
#wrap h2{     font-size: min(10vw, 68px); letter-spacing: -1px; line-height: min(10.2vw, 68px);font-weight: 800; }
#wrap h3{     font-size: min(8vw, 55px);  letter-spacing: -0px; line-height: min(8.3vw, 62px);font-weight: 700; }
#wrap h4{     font-size: min(6vw, 40px);  letter-spacing: -0px; line-height: min(5.4vw, 46px);font-weight: 600; }
#wrap h5{     font-size: min(4vw, 32px);  letter-spacing: -0px; line-height: min(4.8vw, 39px);font-weight: 600; }
#wrap h6{     font-size: min(3vw, 28px); letter-spacing: 1px; line-height: min(4.2vw, 37px);font-weight: 500; }
#wrap p{      font-size: min(2vw, 26px); letter-spacing: 2px; line-height: min(3.5vw, 36px);font-weight: 200; }
#wrap small{  font-size: min(1.3vw, 16px); letter-spacing: 2px; line-height: min(2vw, 24px);font-weight: 400; }

#wrap header.slide,
#wrap section.slide{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width:100%;
    height:auto;
    padding: 50px 0px;
    min-height: 100vh;
    min-height: 100lvh;
    box-sizing: border-box;
}

#wrap header.slide{
    position: relative;
    clip-path: ellipse(128% 65% at 50% 35%);
}

#wrap header.slide{
    background-size:cover;
    background-attachment: fixed;
    max-height: 75vh;
    min-height: 50vh;
    background-image: url("/imgs/bg02.png");
}

#wrap header.slide .topbotbtn{
    position:absolute;
    text-decoration: none;
    bottom:0px;
    border-radius: 25px 25px 0px 0px;
    margin:0px 0px;
}

#wrap section.slide{
    padding: min(200px, 20vh) 0px;
}

#wrap .slide .prop {
    display:flex;
    flex-direction: column;
    position: relative;
    width:85%;
    max-width: 850px;
    height: auto;
    min-height: 50vh;
    padding: min( 15px, 5vw);
    border-radius: 15px;
    align-items: center;
    margin:45px auto;
}

#wrap .slide .prop h5 {
    position: absolute;
    left:50%;
    translate:-50% -50px;
    display: flex;
    width: auto;
    border-radius: 20px 20px 0px 0px;
    padding: 5px 35px;
}

#wrap .slide .prop .optiot{
    display:flex;
    flex-direction: row;
    flex-wrap: wrap;
    width:90%;
    height: auto;
    gap: 15px 10px;
    margin: 35px 0px 30px 0px;
    align-items: center;
    justify-content: center;
}

#wrap .slide .prop input[type="number"],
#wrap .slide .prop textarea {
    display: flex;
    flex-direction: row;
    width:min(80%, 550px);
    align-items: center;
    font-size: min(4vw, 18px);
    font-weight: 400;
    gap:0px 10px;
    border:0;
    background-color: var(--color02);
    border-radius: 25px;
    padding: 15px 25px;
    justify-content: center;
    text-align: center;
    box-shadow: inset 0px -20px 6px var(--color01);
    hyphens: auto;
    color:white;
    align-self: center;
}

#wrap .slide .prop input[type="number"]{
    max-width: 320px;
}

#wrap .slide .prop textarea {
    height:auto;
    min-height: 400px;
}

#wrap .slide .prop label{
    display: flex;
    flex-direction: row;
    width:min(32%, 240px);
    align-items: center;
    font-size: min(4vw, 18px);
    font-weight: 400;
    gap:0px 10px;
    background-color: var(--color02);
    border-radius: 55px;
    padding: 10px 15px;
    justify-content: flex-start;
    text-align: left;
    box-shadow: inset 0px -20px 6px var(--color01);
    hyphens: auto;
    align-self: flex-start;
}

@media screen and ( max-width:650px){
    
    #wrap .slide .prop h5 {
        translate:-50% -50px;
        padding: 15px 35px;
        font-size: min(25px, 6vw);
    }    
    
    #wrap .slide p {
        font-size: min(20px, 4vw);
        line-height: min(34px, 5.2vw);
    }   
    
    #wrap .slide .prop label{
        width: 98%;
    }
    
}

#wrap .slide .prop label.old{
    position: relative;
    opacity: 0.9;
    filter: grayscale(0.5);
}

#wrap .slide .prop label.old:hover:after{
    position:absolute;
    bottom:100%;
    translate: 0px -50px;
    width:auto;
    min-width: 190px;
    font-size: min(3vw, 13px);
    font-weight: 300;
    border-radius: 20px;
    overflow: visible;
    padding: 10px 20px;
    border:1px solid var(--color01);
    box-sizing: border-box;
    background-color: var(--color02);
    opacity: 1.0;
    color: var(--color04);
    content:"Vanha tai poistunut myynnistä. Etsitään tarvittaessa käytettyjä.";
}

#wrap .slide .prop input[type='checkbox'],
#wrap .slide .prop input[type='radio']{
    display: block;
    width:40px; height: 40px;
    min-width: 40px; min-height: 40px;
    -webkit-appearance:none;
    background-color: var(--color04);
    border-radius: 100px;
    border:2px solid var(--color02);
}

#wrap .slide .prop input[type='checkbox']:checked,
#wrap .slide .prop input[type='radio']:checked {
    background-color: var(--color05);    
    background-size: contain;
    background-image: url("/imgs/check-round.svg");
    border:2px solid var(--color01);

}


#wrap .slide .xbtn{
    width:auto;
    height:45px;
    line-height: 45px;
    font-size: min( 3.0vw, 15px);
    padding: 0px min(3.0vw, 20px);
    font-weight: 500;
    letter-spacing: 1px;
    margin:4px 0px;
    font-style: oblique;
    color: var(--color02);
    background-color: var(--color05);
    -webkit-appearance:none;
    text-decoration: none;
    box-shadow: inset 0px -20px 4px var(--color06);
    transition:all 0.2s;
    outline:none;
    border:0;
    border-radius: 100px;
}

#wrap .slide .xbtn:hover{
    box-shadow: inset 0px -30px 5px var(--color06);    
    cursor: pointer;
}

#wrap .slide .slidewrp {
    width: min(80%, 850px);
    height: auto;
}

#wrap .slide .slidewrp .pagebotwrap{
    display: flex;
    width:90%;
    height: auto;
    flex-direction: row;
    justify-content: center;
    flex-wrap:wrap;
    gap: 0px 10px;
    margin:20px auto;
}

#wrap header h1{text-transform: uppercase; }
input[type="radio"]{ display:none; }

#wrap .slide .inp_row{
    display: flex;
    position: relative;
    width:90%;
    max-width: 550px;
    height: auto;
    flex-direction: column;
    margin:20px 0px;
    padding: 5px 20px;
    box-sizing: border-box;
}

#wrap .slide .inp_row label{
    position: absolute;
    top: 20px;
    font-size: 20px;
    font-weight: 800;
    text-align: left;
    translate: 15px 0px;
    color:var(--color04);
}

#wrap .slide .inp_row input{
    height:55px;
    line-height: 55px;
    font-size: 17px;
    font-weight: 500;
    padding: 0px 25px;
    border-radius:6px;
    outline: none;
    background-color: rgba(0,0,0,0.2);
    border:2px solid var(--color02);
    color: var(--color04);
    -webkit-appearance:none;
}

#wrap .slide .inp_row input:not(:placeholder-shown) + label{
    translate:15px -35px; 
    font-size:17px;
}

#wrap .slide .inp_row input::placeholder{
    opacity: 0;
}

#wrap .slide ul {
    list-style: none;
    margin:40px 0px;
}

#wrap .slide ul li{
    width:100%;
    height:auto;
    text-align: center;
    margin:5px 0px;
}

#wrap .slide ul li:before{
    content:"";
    margin:0px 10px 0px 0px;
}

#menuwrap{
    position: fixed;
    top:20px;
    left:0px;
    right:0px;
    padding: 0px;
    margin: 0px auto;
    display:flex;
    width:auto;
    gap:0px 10px;
    z-index: 9912;
    text-align: center;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    transition: all 0.2s;
    translate: 0px 0px;
}

#x_etusivu:checked ~ #menuwrap {
    translate: 0px -100px;
}

#menuwrap label{
    width:auto;
    height:44px;
    line-height: 44px;
    font-size: min(3vw, 18px); 
    letter-spacing: 0px;
    font-weight: 400;
    padding: 0px min(25px, 4vw);
    box-shadow: inset 0px -15px 5px var(--color02);
    background-color: var(--color01);
    border-radius: 100px;
    transition: all 0.2s;
}

#menuwrap label:hover,
#menuwrap label:focus {
    box-shadow: inset 0px -30px 5px var(--color02);
}