

/*
===========================
------- Foused Mode -------
===========================
*/




*{
    box-sizing:border-box;
}

.visuallyhidden{
  position: absolute;
  clip: rect(1px, 1px, 1px, 1px);
  -webkit-clip-path: inset(0px 0px 99.9% 99.9%);
  clip-path: inset(0px 0px 99.9% 99.9%);
  overflow: hidden;
  height: 1px;
  width: 1px;
  padding: 0;
  border: 0;
}

body {
  background: #ffffff;
  color: #fff;
  padding: 0;
  margin: 0;
}

#Mattress-Selector {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding-top: 2rem;
    padding: 2rem 0;
}

.selector-brow {
  font-family: "Gotham-Book",Arial,Verdana,sans-serif;
  font-size: .7rem;
  letter-spacing: .1rem;
  text-transform: uppercase;
  padding: 0 0 .5rem 0;
  margin: 0;
}

.question_text{  
  position:relative;
  z-index:2;
}

.title h1 {
  font-family: "Gotham-Bold",Arial,Verdana,sans-serif;
  font-size: 1.7rem;
  letter-spacing: .05rem;
  margin-top: 0.5em;
}

.progress {
  /* padding: 0 0 1.5rem 0; */
  margin-bottom: 3rem;
}

.fact {
    font-family: "Gotham-Light",Arial,Verdana,sans-serif;
    font-size: .85rem;
    letter-spacing: .02rem;
    background: #083747;
    border-radius: .8rem .8rem 0 0;
    padding: 1rem 1.5rem 2em;
    position:relative;
    transform: translateY(0%);
    transition: transform .5s ease-in-out, top .25s 0s ease-out;
    top:0;
    /* background: transparent; */
    text-align: left;
}
.fact.closed{
    transform: translateY(100%);
    top:-2.5rem;
    transition: transform .5s ease-in-out, top .50s .25s ease-in-out;
}

.fact-content p {
  line-height: 1.4rem;
  margin: 0;
}

.fact-toggle {
  display: block;
  padding-bottom: .5rem;
  -webkit-appearance: none;
  background: transparent;
  color: inherit;
  border: none;
  font-size: 1em;
  font-family: inherit;
  margin: 0 auto;
}

.fact-toggle_title, .fact-toggle_icon {
  margin: 0 1.2em 0 0;
  text-transform: uppercase;
  letter-spacing: 3px;
  font-size: 0.75em;
  font-weight: bold;
}

p.fact-toggle_title, .fact-toggle_icon {
    display: inline-block;
    vertical-align: middle;
}

.question {
  flex-direction: column;
  display: flex;
  align-items: center;
  text-align: center;
}


.question_text-container {
    display: flex;
    align-items: center;
    justify-content: center;
}

.question .question_text {
  border-radius: .8rem;
  padding: 1.2rem 1.5rem;
  background: #fff;
  color: #034355;
  width: 43vw;
}

.question_text h2 {
  font-family: "Gotham-Bold",Arial,Verdana,sans-serif;
  font-size: 1.2rem;
  letter-spacing: 0.03rem;
  line-height: 1.5;
  margin: 0;
  padding: 0;
  /* max-width: 20em; */
  margin: 0 auto;
  padding: 0 1.2rem;
  font-weight: normal;
}

.options-brow {
  font-family: "Gotham-Book",Arial,Verdana,sans-serif;
  font-size: .86rem;
  letter-spacing: .1rem;
  text-transform: uppercase;
  margin: 0;
}

.why_ask {
}

.options-list {
  list-style-type: none;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  padding: 0;
}

.options-container {
  border-radius: 0 0 .8rem .8rem;
  /* padding: .875rem 1em; */
  background: #0000001a;
  color: #034355;
  width: 40vw;
  /* background: #E7F3F7; */
}

li {
  padding: 0.6rem;
}

input.optionInput {
    opacity: 0;
    position: fixed;
    width: 0;
}

label.optionLabel  p {
   margin-top: .8rem;
}

label.optionLabel {
    display: inline-block;
    background-color: #02222d30;
    color: #ffffff;
    padding: 10px;
    font-family: "Gotham-Book",Arial,Verdana,sans-serif;
    font-size: 1rem;
    letter-spacing: .02rem;
    line-height: .5rem;
    border-radius: .6rem;
    height: 36px;
    width: 140px;
    transition: all .3s ease-in-out;
}


span.option-icon.animated {
    background-image: url(none);
    background-color: #006481;
    height: 3rem;
    width: 3rem;
    display: block;
    margin: 0 auto;
    flex-shrink: 0;
    margin-left: 0;
}


.why_ask {
  position: relative;
  text-align: center;
} 

.why_ask-toggle {
  display: block;
  padding: 0.5em;
  -webkit-appearance: none;
  border: none;
  color: inherit;
  font: inherit;
  background: transparent;
  margin: 0 auto;
  color: #fff;
  font-size: .875em;
  margin-bottom: 1.5em;
}

.why_ask-toggle_title {display: inline-block;padding-right: .5em;margin: 0;/* flex-grow: 1; */visibility: hidden;width: 1rem;height: 1rem;}

.why_ask-toggle_title:hover{
  text-decoration: underline;
  cursor:pointer;
}

span.why_ask-toggle_icon {
  transform: rotate(0deg) scale(1);
  display: inline-block;
}

#Mattress-Selector{
        font-family: "Gotham-book",Arial,Verdana,sans-serif;        
}



div#Mattress_Selector-Progress {
    display: flex;
    flex: 1 1 auto;
    text-align: center;
    justify-content: center;
    width:100%;
    max-width: 310px;
}

.step p{
    max-width: 9rem;
    margin: 1em auto;
    color: #A2BEC6;
    font-size: .875em;
}

div#Mattress_Selector-Progress img{
    display:block;
    margin:0 auto;
    max-height: 7rem;
    height: 2rem;
    width: auto;
}

.fact, .options-container {
    width: calc(100% - 3rem);
    margin: 0 auto;
}

.fact-content {
    padding: 1rem 1.5rem;
    color: #A2BEC6;
    font-size: .75em;
}

.options {
    margin-top: 1em;
}

.fact {
    z-index: 1;
    /* min-height: 10em; */
}

.question_text {
    z-index: 2;
}

.options-container {
    position: relative;
    z-index: 1;
    padding-top: 0;
    overflow: hidden;
    /* width: 100%; */
}

ul.options-list li p {
    line-height: 1.5;
    margin: 0 .5em 0 0;
    /* font-weight: bold; */
    flex-shrink: 1;
    text-align: inherit;
    padding: 0;
    width: 100%;
    font-size: .875em;
}


.options-list li label {
    height: 100%;
    /* max-width: 140px; */
    width: 100%;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    align-items: center;
    padding: 0.75em;
    justify-content: flex-end;
    text-align: left;
    /* flex-direction: column-reverse; */
    box-shadow: 0px 0px 0px 0 #fff, 0px 0px 0px 0px #03435500, 0px 0px 0px 0px #fff, 0px 0px 0px 0px #03435500, inset 0px 0px 0px 0px #ffffff;
    cursor: pointer;
    text-align: left;
}

.options-list li label:hover {
  box-shadow: -1px 0px 0px 0px #fff, 0px 0px 0px 0px #034355, 0px 0px 0px 4px #fff, 0px 0px 0px 5px #034355, inset 0px 0px 0px 0px #ffffff;
  transform: scale(.95);
}

.options-list li label:active {
    transform: scale(.90);
    background-color: #ffffff00;
    box-shadow: 0px 0px 0px 0.5px #fff, 0px 0px 0px 0px #034355, 0px 0px 0px 8px #fff, 0px 0px 0px 5px #034355;
    transition: all .2s ease;
}

input.optionInput:checked+label {
    color: #020202;
    background-color: #fffffffe;
    box-shadow: -1px 3px 9px 3px #0a323e;
    box-shadow: 0 0 0px 0px #fff, 0px 0px 0px 0px #03435500, 0px 0px 0px 8px #fff, 0px 0px 0px 5px #03435500, inset 0px 0px 0px 85px #ffffff;
    transform: scale(1.1);
    transition: transform 0.5s 0s cubic-bezier(0.35, -0.17, 0.54, 1.29), box-shadow 0.3s 0s cubic-bezier(0.35, -0.17, 0.54, 1.29), background-color 0s .5s linear;
    z-index: 2;
    position: relative;
}

.options-list li {
    min-width: 25%;
    max-width: 50%;
    /* width: 50%; */
    padding: .5em;
    /* min-width: 29%; */
    flex-grow: 1;
    flex-shrink: 0;
}
/*
#Question-CurrentMattress .options-list li:last-child,
#Question-ProfileSleepPosition .options-list li:last-child {
  width: 100%;
  min-width: auto;
  max-width: none;
}

#Question-CurrentMattress .options-list li:last-child input[value="other_unsure"] + label,
#Question-ProfileSleepPosition .options-list li:last-child input[value="varies"] + label{
  width:100%;
  text-align: center;
}
#Question-CurrentMattress .options-list li:last-child input[value="other_unsure"] + label .option-icon,
#Question-ProfileSleepPosition .options-list li:last-child input[value="varies"] + label .option-icon{
  display:none;       
}
*/

.question {
    width: 90%;
    /* max-width: 1000px; */
    margin: 0 auto;
}

.question .question_text {
    width: 100%;
    z-index: 2;
    display: flex;
    align-items: center;
    min-height: 7em;
    /* max-height: 100%; */
    padding: 1em 1.5em;
}

.question-container {
    width: 100%;
}

ul.options-list {
    list-style-type: none;
    display: flex;
    flex-wrap: wrap;
    padding: 0 1em;
    flex-direction: row;
    justify-content: flex-start;
    margin: 0 auto;
    margin-bottom: 1em;
    /* width: 390px; */
}

div#Mattress_Selector-Interaction {
    }



.options-container {
    /* padding-bottom: 3rem; */
}

.question {
    /* margin-bottom: 4rem; */
}

.question_text {box-shadow: 0 0 4px 1px #034355c7;}

section#Mattress-Selector {
    background: #034355;
    min-height: 600px;
}

div#Mattress_Selector-Interaction {
    display: flex;
    position: relative;
}

button.selector-nav {
    height: 3.5rem;
    width: 3.5rem;
    background: #E7F3F7;
    position: relative;
    top: 3.2rem;
    border: none;
    color: #034355;
    display: block;
    -webkit-appearance: none;
    align-self: flex-start;
    font-family: inherit;
    padding: .25em;
    border-radius: 50%;
    box-shadow: 0px 0px 0px 0px #E7F3F7, 0px 0px 0px 0px #E7F3F7;
    transform:scale(1);
    transition: all .2s ease, visibility 0s .2s, opacity .2s .1s ease;
    cursor:pointer;
    flex-shrink: 0;
}

.nav_icon-holder {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 90%;
}

button.selector-nav:not(.inactive):hover, button.selector-nav:not(.inactive):focus{
  box-shadow: 0px 0px 0px 2px #f5fafc, 0px 0px 0px 6px #f5fafc44;
  transform:scale(1.05);
  background: #f5fafc;
}

button.selector-nav:not(.inactive):active{
   box-shadow: 0px 0px 0px 0px #E7F3F7, 0px 0px 0px 10px #E7F3F711;
   transform:scale(.95);
   background: #E7F3F7;
}

button.selector-nav.previous {
    margin-right: 2rem;
}

button.selector-nav.next {
    margin-left: 2rem;
}

button.selector-nav.inactive {background: #e7f3f740;box-shadow: 0px 0px 0px 0px #e7f3f773;}





.nav-icon:before, 
.nav-icon:after {content: '';display: inline-block;vertical-align:middle;}

.previous .nav-icon:before, .next .nav-icon:after{
    height:1em;
    width:1em;
    border: transparent solid .25em;
    border-top-color:#034355;
    border-radius: .2em;

}

.previous .nav-icon:before{
        margin-right:-1.75em;
        border-left-color:#034355;
        transform:rotate(-45deg);
}

.next .nav-icon:after{
        margin-left:-1.75em;
        border-right-color:#034355;
    transform:rotate(45deg);
}

.previous .nav-icon:after, .next .nav-icon:before {
    width: calc(100% - 0.75em);
    height: 0.25em;
    background:#034355;
    border-radius: .2em;
    }

.nav-text {margin-top: .75em;letter-spacing: .125em;opacity: 0;line-height: 0;margin: 0;}

.nav-icon {display: inline-block;width: 50%;height: 1rem;}

.previous .nav-icon{
    text-align: left;
    margin-left: 0.75em;
}

.next .nav-icon{
    text-align: right;
    margin-right: 0.75em;
}


form#selector-form-submission > #selector-questions {
    width: 100vw;
    min-width: 250px;
    max-width: 720px;
    margin:0 auto;
}


.step-link-graphic:not(:last-child), .step-link-graphic:not(:last-child) span {
  
}

.step-link-graphic:not(:last-child){
    height: 3rem;
    width:100%;
    display: flex;
    align-items: center;
    justify-content: center;
    display: none;
}

.step-link-graphic:not(:last-child) span {
    height:1px;
    display:inline-block;
    vertical-align:middle;
    border-top: 2px dashed white;
    width:80%;
}

div#Mattress_Selector-Progress {


}

.step {
    padding: 0;
}




/*======== Before Javascript adding of previous, current, and next positions ====*/


form#selector-form-submission > #selector-questions{
    position:relative;
    overflow:hidden;
    display: flex;
    justify-content: center;
    align-items: center;
}


.why_ask-opened span.question_holder.active{
transform:none;
transition:none;
}


.why_ask-content {
    text-align: left;
    max-width:0%;
    display:none;
}

span.close-icon:before, span.close-icon:after {
    content: '';
    display:inline-block;
    font-size:1rem;
    height:1em;
    width:.125em;
    background-color: #292929;
    position:absolute;
    top:50%;
    left:50%;
    border-radius:1em;
    box-shadow: inset -1px 0px 1px 0px #000000ee;
    }

    span.close-icon:before{
    transform:translate(-50%,-50%) rotate(45deg);
    }
    span.close-icon:after {
        transform:translate(-50%,-50%) rotate(-45deg)
    }

span.close-icon{
    position:relative;
    width: 100%;
    height: 100%;
    display: block;
}

.why_ask-copy{
}

.active .why_ask-content {
  display:block;
  transition:transform .5s .05s ease;
  transform: translate(-50%, -40%);
  opacity:0;
  height:0;
  width:0;
  overflow: hidden;
}


.why_ask-copy p{
    line-height:1.5;
    font-size: 1rem;
}

.why_ask-copy h4{
    max-width:calc(100% - 2rem);
    margin: .5em 0;
    font-size: 1.125rem;
}

.why_ask-close{
    position:absolute;
    height: 2em;
    width: 2em;
    top: 0;
    right: 0;
    transform: translate(-50%, 50%);
    font-size: 1rem;
    padding: 1em;
    background: #f7f7f7;
    border-radius: 100%;
    box-shadow: 3px 3px 6px 2px rgba(163, 177, 198, 0.25), -3px -3px 6px 2px rgb(255, 255, 255);
    border: none;
}

.selector-modal-background{
    top: 0;
    left: 0;
    height: 0vh;
    width: 0vw;
    max-height: 0%;
    background: rgba(23, 27, 29, 0);
    color: #000;
    transition:background .5s ease;
    visibility:hidden;
}

.why_ask-opened .question_holder.active .selector-modal-background{
      background: rgba(23, 27, 29, 0.5);
      height: 100vh;
      width: 100vw;
      position: fixed;
      max-height: 100%;
      visibility: visible;
      z-index: 3;
}



.why_ask-opened .question_holder.active .why_ask-content{
     position: fixed;
     visibility:visible;
     transform:translate(-50%, -50%);
     top:50%;
     left:50%;
     height: auto;
     width: auto;
     opacity: 1;
     padding: 1.5em;
     background: #f7f7f7;
     border-radius: 6px;
     box-shadow: 1px 1px 0px rgb(88, 107, 136), -1px -1px 0px 0px rgb(255, 255, 255), 0px 3px 10px 2px rgba(0, 0, 0, 0.21);
     max-width: 100%;
     overflow: visible;
     z-index: 4;
     color: #000;
}

.why_ask-opened .question_holder.active .why_ask-copy{

}

.why_ask-opened .question_holder.active .why_ask-toggle {
  font-weight:bold;
  position:relative;
}
.why_ask-opened .question_holder.active .why_ask-toggle_icon {
  /* transform: rotate(45deg) scale(1.2); */
  /* transition: transform .5s .125s ease; */
}



/* ================= Interaction motions ================= */



#Mattress-Selector.ready .question_text{
    opacity:1;
    max-height:100%;
    max-width:100rem;
    z-index:1;
}

#Mattress-Selector.ready .question_text h2{
    max-height:100%;
    opacity:1;
}


#Mattress-Selector.ready .question.closed .question_text h2,
#Mattress-Selector.ready .question_text h2{
        transition:all .3s .5s ease;
}

#Mattress-Selector.ready .question.closed .question_text, 
#Mattress-Selector.ready .question_text{
        transition:all .3s .7s ease;
}

#Mattress-Selector.ready .question.closed .question_text{
    opacity: 1;
    max-height:75%;
    max-width:4rem;
    z-index:1;
    background-color: #A2BEC6;
}


#Mattress-Selector.ready .question.closed .question_text h2{
    max-height:0%;
    opacity:0;
}


#Mattress-Selector.ready .question.closed .fact{
    transform: translateY(100%);
    top: 0;
    visibility: hidden;
    transition: all .3s ease, visibility 0s .3s linear;
    }



#Mattress-Selector.ready .question.closed .options-container {
    transform: translateY(-100%);
        visibility: hidden;
    transition: all .3s ease, visibility 0s .3s linear;
    }


#Mattress-Selector.ready .options-space-container {
    overflow: hidden;
    }

.fact-container {
    overflow: hidden;
    display: flex;
}

.options-container {
    transform: translateY(0%);
    transition: all .3s ease, visibility 0s .3s linear;
    visibility:visible;
    }
.fact{
        transition: all .3s ease, visibility 0s .3s linear;
}

.question.closed {
}
/*
#Mattress-Selector.ready .question.closed.next {left: 100%;transform: translateX(-6rem);max-width: 6rem;}
#Mattress-Selector.ready .question.closed.previous {left: 0%;transform: translateX(0rem);max-width: 6rem;}
#Mattress-Selector.ready .question.current {max-width: calc(100% - 6rem);left: 0%;transform: translateX(-3rem);}

*/

/*======== Before Javascript adding of previous, current, and next positions ====*/


form#selector-form-submission > #selector-questions{
    position:relative;
    overflow:hidden;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    transition: position 0s 0s linear, opacity .2s .2s ease, transform .2s .2s ease, width 0s 0s;
}





.why_ask-content {
    text-align: left;
    max-width:0%;
    display:none;
}

span.close-icon:before, span.close-icon:after {
    content: '';
    display:inline-block;
    font-size:1rem;
    height:1em;
    width:.125em;
    background-color: #292929;
    position:absolute;
    top:50%;
    left:50%;
    border-radius:1em;
    box-shadow: inset -1px 0px 1px 0px #000000ee;
    }

    span.close-icon:before{
    transform:translate(-50%,-50%) rotate(45deg);
    }
    span.close-icon:after {
        transform:translate(-50%,-50%) rotate(-45deg)
    }

span.close-icon{
    position:relative;
    width: 100%;
    height: 100%;
    display: block;
}

.why_ask-copy{
}

.active .why_ask-content {
  display:block;
  transition:transform .5s .05s ease;
  transform: translate(-50%, -40%);
  opacity:0;
  height:0;
  width:0;
  overflow: hidden;
}


.why_ask-copy p{
    line-height:1.5;
    font-size: 1rem;
}

.why_ask-copy h4{
    max-width:calc(100% - 2rem);
    margin: .5em 0;
    font-size: 1.125rem;
}

.why_ask-close{
    position:absolute;
    height: 2em;
    width: 2em;
    top: 0;
    right: 0;
    transform: translate(-50%, 50%);
    font-size: 1rem;
    padding: 1em;
    background: #f7f7f7;
    border-radius: 100%;
    box-shadow: 3px 3px 6px 2px rgba(163, 177, 198, 0.25), -3px -3px 6px 2px rgb(255, 255, 255);
    border: none;
}

.selector-modal-background{
    top: 0;
    left: 0;
    height: 0vh;
    width: 0vw;
    max-height: 0%;
    background: rgba(23, 27, 29, 0);
    color: #000;
    transition:background .5s ease;
    visibility:hidden;
}

.why_ask-opened .question_holder.active .selector-modal-background{
      background: rgba(23, 27, 29, 0.5);
      height: 100vh;
      width: 100vw;
      position: fixed;
      max-height: 100%;
      visibility: visible;
      z-index: 3;
      backdrop-filter: blur(2px);
}



.why_ask-opened .question_holder.active .why_ask-content{
     position: fixed;
     visibility:visible;
     transform:translate(-50%, -50%);
     top:50%;
     left:50%;
     height: auto;
     width: auto;
     opacity: 1;
     padding: 1.5em;
     background: #f7f7f7;
     border-radius: 6px;
     box-shadow: 1px 1px 0px rgb(88, 107, 136), -1px -1px 0px 0px rgb(255, 255, 255), 0px 3px 10px 2px rgba(0, 0, 0, 0.21);
     max-width: 100%;
     overflow: visible;
     z-index: 4;
     color: #000;
}

.why_ask-opened .question_holder.active .why_ask-copy{

}

.why_ask-opened .question_holder.active .why_ask-toggle {
  font-weight:bold;
  position:relative;
}
.why_ask-opened .question_holder.active .why_ask-toggle_icon {
  /* transform: rotate(45deg) scale(1.2); */
  /* transition: transform .5s .125s ease; */
}

.copy-overflow-scroll {
    overflow-y: scroll;
}


/* ================= Interaction motions ================= */



#Mattress-Selector.ready .question_text{
    opacity:1;
    max-height:100%;
    max-width:100rem;
    z-index:1;
}

#Mattress-Selector.ready .question_text h2{
    max-height:100%;
    opacity:1;
}


#Mattress-Selector.ready .question.closed .question_text h2,
#Mattress-Selector.ready .question_text h2{
        transition:all .3s .5s ease;
}

#Mattress-Selector.ready .question.closed .question_text, 
#Mattress-Selector.ready .question_text{
        transition:all .3s .7s ease;
}

#Mattress-Selector.ready .question.closed .question_text{
    opacity: 1;
    max-height:75%;
    max-width:4rem;
    z-index:1;
    background-color: #A2BEC6;
}


#Mattress-Selector.ready .question.closed .question_text h2{
    max-height:0%;
    opacity:0;
}


#Mattress-Selector.ready .question.closed .fact{
    transform: translateY(100%);
    top: 0;
    visibility: hidden;
    transition: all .3s ease, visibility 0s .3s linear;
    }



#Mattress-Selector.ready .question.closed .options-container {
    transform: translateY(-100%);
        visibility: hidden;
    transition: all .3s ease, visibility 0s .3s linear;
    }


#Mattress-Selector.ready .options-space-container {
    overflow: hidden;
    }

.fact-container {
    overflow: hidden;
    height: 9.75rem;
    justify-content: flex-end;
}

.options-container {
    transform: translateY(0%);
    transition: all .3s ease, visibility 0s .3s linear;
    visibility:visible;
    }
.fact{
        transition: all .3s ease, visibility 0s .3s linear;
}

.question.closed {
}

.inactive{
  /* opacity: 0; */
  pointer-events: none;
}
.uppercase{
  text-transform:uppercase;
}

/*
#Mattress-Selector.ready .question.closed.next {left: 100%;transform: translateX(-6rem);max-width: 6rem;}
#Mattress-Selector.ready .question.closed.previous {left: 0%;transform: translateX(0rem);max-width: 6rem;}
#Mattress-Selector.ready .question.current {max-width: calc(100% - 6rem);left: 0%;transform: translateX(-3rem);}

 