@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500&display=swap');

:root {
  --primary-color: #0083FF;
  --sec-color:#676767;
  --btn-color:#0083FF;
  --btn-text:#FFF;
  --question-heading-counter:#737373;
  --question-color:#3c3c3c;
  box-sizing: border-box;
  font-size: 1em;
   scrollbar-width: none;


}





*,*:focus{
    outline:none;
}


*{
	margin: 0;
    padding: 0;   
	font-family: 'Roboto', sans-serif;
    box-sizing: inherit;
   
	
}
body{
   /* overflow-y: scroll;
    width: 100vw;
    height:100vh;
   
*/
 -ms-overflow-style: none;  /* IE and Edge */
  scrollbar-width: none;

   
   
}
::-webkit-scrollbar {
    width: 0px;  /* Remove scrollbar space */
    background: transparent;  /* Optional: just make scrollbar invisible */
}
body{ overscroll-behavior: contain; }

.preloader{
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100vh;
    width: 100%;
    margin: auto;
    position: fixed;
    background: #fff;
    z-index: 1;
  
}


.loader {
    border: 5px solid #f3f3f3;
    border-radius: 50%;
    border-top: 5px solid #3498db;
    width: 50px;
    height: 50px;
    -webkit-animation: spin 2s linear infinite;
    animation: spin 2s linear infinite;     
    background-color: #fff;
}

/* Safari */
@-webkit-keyframes spin {
  0% { -webkit-transform: rotate(0deg); }
  100% { -webkit-transform: rotate(360deg); }
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

.loader-wrapper {
    position: fixed;
    width: 200px;
    display: flex;
     z-index: 9999;
    justify-content: center;
}

.loader-content {
    position: absolute;
    bottom: -80px;
}

.made-with{
    margin: 0;
    font-size: 15px;
    color: grey;
    font-weight: normal;
    text-align: center;
}

.loader-content img{
    vertical-align: middle;
    width: 25px;
    margin-right: 5px;
}

.loader-logo-text{
    color: #3986f3;
    font-weight: 500;
    font-size: 23px;
}


.intro{
    width: 100%;
    text-align: center;
    padding: 10% 5% 10% 5%;
/*    position: relative;
    top: 50%;
    transform: translateY(-50%);*/
    display: flex;
    justify-content: center;
    align-items: center;
}
/*
.intro{
    display:grid;
    height:100vh;
    place-items: center;
    padding: 10% 5% 10% 5%;
   
}
*/
.parent{
    position: absolute;
    top:0px;
    bottom: 0px;
    left:0px;
    right:0px;
}
.question{
    flex-direction: column;
    padding: 5em 2em;
    display: none;
   
    	
}

.question.active{
    display: block; 
}

p{
	font-weight: 500;
    line-height: 25px;
    letter-spacing: 0.5px;
    color: #3a3a3a;
    margin: 5% 0%;
    font-size: 1.5rem;
}
/*
#questionnaire{
   /* margin:0;
  position: relative;
  height:100vh;
  width:100vw;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100vh;
  width: 100%;
  margin: auto;
  margin: 0;
  position: absolute;
 height:100vh;
 
  top: 50%;
  left: 50%;
  width:100%;
  border:2px solid black;
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
 
 }
 
 #questionnaire{
    position:absolute;
    display: grid;
   place-items: center;
    
   
 }*/
 #questionnaire{
    width: 100%;

bottom: 100px;
top: 0;
align-items: center;
display: grid;
margin: 0;

position: relative;
 }
 
 #myform{
    
    margin-bottom: 100px;
    /* top: 50%;
     left: 50%;
     overflow: auto;
     border:2px solid blue;
     -ms-transform: translate(-50%, -50%);
     transform: translate(-50%, -50%);*/
     

 }
 
 
button {
    text-transform: uppercase;
    border: none;
    background-color: var(--btn-color);
    color: var(--btn-text);    
    letter-spacing: 1px; 
    font-weight: 500;
    position: relative;
    overflow: hidden;
    border-radius: 10px;
    z-index: 0;
    overflow: hidden;
}
button .hover:hover{
    background-color: rgb(112, 9, 9);
}
.question{
    justify-content: center;

} 
.question .next_q::before{
    content: "";
    position: absolute;
    top:0;
    left:0;
    background-color: rgba(3, 97, 34, 0.808);
    width: 100%;
    height: 100%;
    transform: translateX(-100%);
    transition: all .3s linear;
}
.question .next_q:hover:before{
    transform: translateY(0);
    background-color: rgba(25, 0, 255, 0.378);
    
    z-index: -1;
}
.disable{
    background-color: skyblue !important;
    cursor: not-allowed !important;
}

.question .skip{
    padding: 3px;
    margin: 15px;
    margin-left: 0px;
    width: auto;
    border-radius: 10px;
    text-transform: uppercase;
    font-size: 15px;   font-weight: bold;
    cursor: pointer;  
    
    box-shadow: none;
    color:rgba(57, 57, 57, 0.4);
    background: transparent;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
}
.question .skip:hover{
    background-color:lightgray;
    border-radius: 10px;
}
.question button {
    margin: 0 8px 0 0;
    margin-right: 15px;
    width: 20%;
    padding: 15px 24px;
    font-size: 19px;
    text-align: left;
    border-radius: 10px;
   
}

#uploadBtn{
    padding: 0;
    font-size: 15px;
    height: 40px;
    margin: 1em 0px;
}


.question .uploadBtn::before{
    content: "";
    position: absolute;
    top:0;
    left:0;
    background-color: rgba(3, 97, 34, 0.808);
    width: 100%;
    height: 100%;
    transform: translateX(-100%);
    transition: all .3s linear;
}
.question .uploadBtn:hover:before{
    transform: translateY(0);
    background-color: rgba(25, 0, 255, 0.378);
    
    z-index: -1;
}

#uploadBtn::after{
    display: none;
}
.question .submit{
    text-align: left;
    width:auto;
  }
  .question .submit::before{
    content: "";
    position: absolute;
    top:0;
    left:0;
    background-color: rgba(3, 97, 34, 0.808);
    width: 100%;
    height: 100%;
    transform: translateX(-100%);
    transition: all .3s linear;
}
.question .submit:hover:before{
    transform: translateY(0);
    background-color: rgba(25, 0, 255, 0.378);
    
    z-index: -1;
}


.question .submit::after{
  display: none;
}


h2 {
    font-size: 1.3rem;
    font-weight: 500;
    line-height: 1.2;
    margin: 0;
    margin-bottom: 10px;
    color: var(--question-color);
}


h4{
    font-weight: 400;
    color: var(--question-heading-counter);
    letter-spacing: 0.5px;
    font-size: 14px;
    margin-bottom: 10px;
}



.radio, .checkbox {
        width: 80%;
    cursor: pointer;
    color: var(--sec-color);
    font-weight: 400;
    font-size: 1rem;
    margin-bottom: 10px;
    border: 1px solid;
    padding-left: 0px;
   /* padding: 10px;*/
    border-radius: 5px;
   
    
    
}
.check_container{
    display: flex;
    padding: 0px;
    height: auto;
    
}
.check_container .choice_opt{
    width:95%;
    padding: 10px;
    float: left;
   

}
.check_container .check_img{
    width:5%;    
   display: none;
    background-color:transparent;
    border-radius: 5px;
    font-size: 1.8rem;
   text-align: center;
   margin: auto;
   /* text-align:right ;  */
    
}
.checkmark{
    
  display: inline-block;
  transform: rotate(45deg);
  height: 24px;
  width: 12px;
  border-bottom: 6px solid var(--primary-color);
  border-right: 6px solid var(--primary-color);

}
.check_img img{
    display:block;
     width:40px; 
     height:40px;
      border:1p solid;
      border-color: var(--primary-color);
      border-radius:5px;
}
input:checked+label .check_container .check_img{
    /*background-image:url(/assets/websurvey/img/yesno/tickmark.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: right;*/
      display: block;
      color: var(--primary-color); 
   
   
   
    
}


.radio:hover,.checkbox:hover, input:checked+label,input:checked+.checkbox{
   
    transition: ease 0.2s;
    color: var(--primary-color);
    background-color: #0083ff21;
}


input[type="radio"], input[type="checkbox"]{
	/*width: 0;
	opacity: 0;*/
    display: none;
}
input[type="radio"]:focus, input[type="checkbox"]:focus{
	outline: none;
}

input[type="text"], textarea, input[type="email"],input[type="date"],input[type="number"]{
    display: block;
    border: 0;
    padding: 7px 5px;
    border-bottom: 2px solid #ccc;
    width: 80%;
    font-size: 25px;
    border-radius: 5px;
}



input[type="text"] ~ .focus-border, textarea ~ .focus-border, input[type="email"] ~ .focus-border, input[type="number"] ~ .focus-border, input[type="date"] ~ .focus-border{
    position: relative; 
    bottom: 0; 
    left: 50%; 
    width: 0; 
    height:2px; 
    transform: translateX(0);
    background-color: var(--btn-color); 
    transition: 0.4s;
    display:block;
}
input[type="text"]:focus ~ .focus-border, textarea:focus ~ .focus-border, input[type="email"]:focus ~ .focus-border,input[type="number"]:focus ~ .focus-border{
    width: 80%; 
    transition: 0.4s;    
    left: 0;
}

.customer-details textarea, .customer-details input[type="text"], .customer-details input[type="number"], .customer-details input[type="email"], .customer-details input[type="url"], .customer-details input[type="password"]{
    margin-bottom: 1em;
}

.starRadio{
	background: url(../star.png);
    background-repeat: no-repeat;
    background-size: contain;
    padding-left: 25px;
}


input:checked+.starRadio{
	background: url(../starinvert.png);
	background-repeat: no-repeat;
    background-size: contain;
    transition: 0.3s;
}



.smileyRadio{
    background: url(../smiley.png);
    background-repeat: no-repeat;
    background-size: contain;
    padding-left: 25px;
}


input:checked+.smileyRadio{
    background: url(../smileyinvert.png);
    background-repeat: no-repeat;
    background-size: contain;
    transition: 0.3s;
}


.smileyRadio-h{
    background: url(../smiley.png);
    background-repeat: no-repeat;
    background-size: contain;
    margin: 0px 10px;
    height: 40px;
    width: 40px;

}


input:checked+.smileyRadio-h{
	background: url(../smileyinvert.png);
	background-repeat: no-repeat;
    background-size: contain;
    transition: 0.3s;
}


.starRadio-h{
    background: url(../star.png);
    background-repeat: no-repeat;
    background-size: contain;
    margin: 0px 10px;
    height: 40px;
    width: 40px;

}


input:checked+.starRadio-h{
    background: url(../starinvert.png);
    background-repeat: no-repeat;
    background-size: contain;
    transition: 0.3s;
}





.rating, .ratingSmile{
    width:100%;
    display: flex;
    flex-direction: column;
    
}
.rating label, .ratingSmile label{
    margin:0;
    padding: 0;
    margin-top: 15px;
    margin-right: 1%;    
    text-align: center;
    width:60px;
    display: inline-table;
    cursor: pointer;
   
}

.rating label img, .ratingSmile label img{
    width: 45px;
    vertical-align: middle
}
.rating-label{
   margin-bottom: 10px;
}



.smileyRating-h, .starRating-h{
    width: 100%;
    display: flex;
    justify-content: flex-start;
    margin: 50px 0px;
}



    .image-radio{
        background: url(../imagecheck.png) no-repeat;
        position: absolute;
        right: 0;
    }

    .image-check{
        height: 25px;
        width: 33px;
        background-color: white;
        position: absolute;
        top: 0;
        right: 0;
        border: 1px solid var(--sec-color);
        border-top-right-radius:10px;
        border-bottom-left-radius: 10px;

    }

    .dropdown-container{
        width: 100%;
    }

    .select-box{
        display: flex;
        flex-direction: column;

    }

    .select-box .selected{
        display: flex;
        flex-direction: column;
        background: transparent;
        margin: 0px 0px 5px 0px;
        border-radius: 5px;
        position: relative;    
        padding-left: 20px;
       

    }


    .select-box .selected::after{
        content: " ";
        background: url(../dropdown.png) no-repeat;
        position: absolute;
        width: 20px;
        height: 20px;
        right: 10px;
        top: 18px;
            
        transition: all 0.4s;

    }

    .select-box .options-container{
        width: 100%;
/*        max-height: 0;*/
        display: none;
        transition: all 0.4s;
        overflow: hidden;
        border-radius: 5px;
    }


    .select-box .option, .selected{
        cursor: pointer;
        margin: 5px 0px;
        background: white;
        border: 1px solid #d0d6d6;
        border-radius: 5px;
        font-size: 16px;
/*        height: 43px;*/
    }
    
    .select-box, .selected{

    padding: 12px 0px;
    }

    .select-box .option:hover{
        background:#eff3f3;
    }
	
	.select-box label {
    width: 100%;
    display: block;
    cursor: pointer;
    padding: 12px 20px;
    font-weight: normal;
    font-size: 17px;
}
    .option input:checked+label {
    background: none
    }

    .select-box .option .dropdown-radio{
        display: none;
    }

    .select-box .options-container.active{
/*        max-height: 240px;*/
        display: block;
    }



input[type="file"]{
    display: none;
}


 .upload{
    margin: 0;
    width: 110px;
    background-color: var(--primary-color);
    text-align: center;
    color: white;
    padding: 8px;
    border-radius: 5px;

}



.nav{
    width: 100%;    
    align-items: center;
    justify-content: center;
    padding: 0% 5%;
    flex-direction: column;
    position: fixed;
    bottom: 0;
    height: 60px;
    display: flex;
    background: white;
}

.nav .right-nav{
    display: flex;
    flex-direction: row;
    align-items: center;
}

.left-nav{
    display: flex;
    flex-direction: column;
    position: absolute;
    top: 2px;
    width: 100%;
}


.logo{
    height: 30px;
}

.logo-container{
    display: flex;
    align-items: center;
    margin: 0px 110px 0px 0px;
    width: max-content;
}


.nav-icon{
        width: 30px;
        margin: 0px 5px;
        cursor: pointer;
}

.outer-progress{
    position: relative;
    width: 100%;
    height: 2px;
    border-radius: 5px;
    background-color: #b3b3b3;
}

.inner-progress{
    position: absolute;
    width: 10%;
    height: 3px;
    background-color: var(--primary-color);
    top: -1px;
}

.counter{
    display: none;
    margin-bottom: 5px;
    font-size: 12px;
}

.icon-container{
    display: flex;
    width: 65px;
    justify-content: space-between;
}

.hidden{
    display: none;
}





.date-label{
    padding: 0;
    margin: 20px 0px 0px 10px;
    position: relative;
    width: 100%;
    height: 25px;
    display: flex;
    align-items: center;
}

.date-label::after{
    content: " ";
    background: url(../date.png) no-repeat;
    position: absolute;
    width: 25px;
    height: 25px;
    top: 0px;
    right: 15px;
    

}
#next:hover,#pre:hover{
        
       box-shadow: 2px 2px 15px #2b7096;;
    }
#next:active,#pre:active {
       
        box-shadow: 0 5px grey;
        transform: translateY(px);
        
      }
  

#next, #pre{
    width: 30px;
    height: 30px;
    overflow: hidden;
    border-radius: 0;
    padding: 0;
    display: flex;
    background: none;
    justify-content: center;
    align-items: center;
    background-image: url(../downward.png);
    background-size: contain;
    background-repeat: no-repeat;
    cursor: pointer;
}

#pre{
    background-image: url(../upward.png);
    background-size: contain;
    background-repeat: no-repeat;

}
.footer_title{
    font-weight: bold;
    font-size: 20px;
    color:black;
}
.footer_title:hover{
    border-radius:5px;
    background-color: var(--primary-color);
    color:white;
    text-decoration: none;
    box-shadow: 2px 2px 15px #2b7096;
}
.footer_title:active{
    box-shadow: 0 5px rgba(128, 128, 128, 0.412);
    transform: translateY(px);
}

.token{
    display: none !important;
}
.bootstrap-datetimepicker-widget {
    top: 0;
    left: 0;
    width: 200px;
}

.datepicker{
    display: flex;
    align-items: flex-end;
    width: 60%;  
    position : relative;
}

.datepicker input{
    letter-spacing: 2px;
    font-size: 1.2em;
    font-weight: normal;
    color: var(--sec-color);
}

.datepicker span{
    margin: 0px 5px;
    font-size: 20px;
    color: var(--sec-color);
}

.datepicker #datebtn:hover{
    box-shadow: 2px 2px 15px #2b7096;
}
.datepicker #datebtn:active{
    box-shadow: 0 5px grey;
    transform: translateY(px);
}
.datepicker img {
   margin-bottom: 5px;
   margin-left: 10px;

}
.datepicker img:hover {
   
   box-shadow: 2px 2px 15px #2b7096;
   
}
#date, #month, #year{
    margin: 0;
    padding: 0;
    width: 40px;
    border: none;
    font-size: 20px;
    padding-top: 12px;
    padding-left: 5px;
}


#year{
    
    width: 60px;
}

hr{
    width: 80%;
}

#q13 h5{
    font-weight: 400;
    color: var(--sec-color);
    font-size: 15px;
    margin-left: 5px;
}


/** image selector **/

.image-selector{
    padding: 0;
    margin: 0;
    width: 100%;

    display: table;
    border-collapse: separate;
    border-spacing: 10px
}

.image-selector label{
    padding: 0;
    margin-right: 10px;
    margin-bottom: 10px;
    display: table-cell;
    text-align: center;
    max-width: 153px;
    border: 1px white solid;
    border-radius: 8px;
    cursor: pointer;

}

.imageholder{
    position: relative;
       
  /*  border: 1px solid white;*/
    background: transparent;
    border-radius: 8px;
}

.image-selector .imageselect{
max-width: 150px;
border:1px solid var(--sec-color);
border-top-left-radius: 8px;
    border-top-right-radius: 8px;
}
/*border-radius: 8px;*/


.imageholder .check{
    position: absolute;
    right: 1px;
    top: 1px;
}
.img_label{
    width: 100%;
    padding: 9px;
    word-wrap: break-word;
}
/** image selector end **/

.default{
    padding: 10px;
    background: #f3f3f3;
    margin: 10px 0px;
    cursor: grab;
    position: relative;
    font-size: 17px;
    width: 80%;
    border-radius: 5px;
/*    padding-left: 45px;*/
}

.default:active{
    cursor: grabbing;
}
/*
.default::before{
    content: "";    
    width: 13px;
    height: 13px;
    background: url(../ranking.png);
    background-size: 13px 13px;
    position: absolute;
    left: 15px;
    top: 13px;

}
*/

.ui-sortable{
    list-style: none;
}

.ui-sortable img{
    margin-right: 15px;
    vertical-align: middle;
}
.white{
    fill: gray !important;
    stroke:gray !important;
}
.gray{
    fill:gray !important;
    stroke:gray !important;
}
.star{
    fill-rule:nonzero;
    stroke:gray;
    fill:white;
}
.outcircle{
    stroke:gray;   
     fill:transparent;
}
.outwhitecircle{
    stroke:gray !important;
    fill:gray !important;
}
.blackcircle{
    fill:white !important;
}
.outwhite2circle{
    stroke:gray !important;
    fill:gray !important;
}
.blackcircle2{
    fill:white !important;
}
.blacksmile2{
    fill:none;
    stroke: white !important;
}
.smile{
    fill:none;
     stroke:gray;
      
}
.blacksmile{
    fill:none;
    stroke: white !important;
}
.whitecircle{
    fill:gray;
}
.whitethumb{
    fill:gray;
    stroke:gray;
}
.graythumb{
    fill:white !important;
    stroke:white !important;
}
.thumbwhitebackground{
 background-color: gray !important;   
 border: 3px solid black !important;
}
.nps-rating{
    width: 100%;
    padding-top: 10px;
    display: flex;
    position: relative;
    font-size: 15px;
}
.nps-label{
    width: 100%;
}

.nps-item{
    width: 10%;
    margin: 0;
    text-align: center;
    border-left: 2px solid grey;
    border-top: 2px solid grey;
    font-size:20px;
    font-weight: normal;
    border-bottom: 2px solid grey;
    padding: 6px;
}

  input:checked + .nps-item {
      
      color: white;
      background-color:  #808080;
     
      
  }
  input:checked + label .hover{
      background-color: rgba(99, 97, 96, 0.083);

  }
  label.active{
    background-color: rgba(99, 97, 96, 0.083);
  }
  /*
  input:checked + .nps-item{
    border-color: green;
    overflow: hidden;
    font-weight: bold;   
    border-right: 2px solid; 
    border-right-color:green ;
    color: green;
    background-color: lightgreen;
   
    
}*/
.nps-item:last-of-type{
    border-right: 2px solid grey;
    border-top-right-radius: 5px;
    border-bottom-right-radius: 5px;
   
}
.nps-item:first-of-type{
    border-top-left-radius: 5px;
    border-bottom-left-radius: 5px;
}

.nps-item:hover{
    background-color: rgba(107, 107, 103, 0.308);
    color: white;
    cursor: pointer;
}
/*
input:checked + .nps-item{
    background: none;
    background-color: #fff;
    color: green;
    font-weight: 500;
    border-color: rgb(9, 29, 9);

}
*/

.upload-container {
    width: 100%;
    height: 40%;

    box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.3);
    border-radius: 1em;
    text-align: center;
    position: relative;
    padding-top: 1rem;
    padding-bottom: 1px;
    padding-right: 1px;
    padding-left:1px;
    margin-top: 2em;
}

.upload-container .instruction{
    margin: 0;
    padding: 0;
    font-size: 12px;
    line-height: 14px;
    color: #9d9d9d;
    font-weight: normal;
    margin-top: 2em;
}

#customTxt{
    font-size: 10px;
    color: #9d9d9d;
}

.progress-bar{
    position: absolute;
    width: 100%;
    font-size: 10px;
    bottom: 0;
    right: 0;
    left: 0;
}

.progress-bar-fill{
    background: #0083ff;
    width: 0%;
    color: white;
}

.question h2 p, .question .othertext + p{
    margin: 0;
    padding: 0;
    font-size: 12px;
    font-weight: normal;
    color: red;
}

 .upload-container button .cancelbtn{
    float: right;
    padding: 9px;
    margin: 5px;
    text-align: center;
    font-size: 12px;
    color: rgb(255, 255, 255);
    background-color: rgb(217, 83, 79);
    border-color: rgb(212, 63, 58);
    width: auto;
}
.select2-container--default .select2-selection--single .select2-selection__arrow{
    top:8px;
}
.select2-container--default .select2-selection--single .select2-selection__rendered{
    font-size: 25px;
    padding-top: 7px;
    text-align: left;
    padding-left: 7px;
    
}

.flag-text{
    color:black;
}
.active_label{
    border:1px solid black;
     text-align:center;
      border-radius:5px;
       padding:7px;
}
.text_label{
    color:white !important;
}
.error{
    color: red;
}
/*
.active_label:hover{
    background-color: rgba(82, 82, 74, 0.234);
}*/
/*------------thank you page---------------
-------------------------------------------*/
    .thanks{
        text-align: center;
    }

    .thanks h1{
        margin: 1em 0;
        font-weight: normal;
        color: #636363;
    }

    .thanks .thanks-content{
        margin: 1em 1em 4em;
    }

    .thanks img{
        max-width: 80%;
        height: auto;
        border-radius: 1em;
    }
    
    .thanks-footer-logo{
         text-align: center;
    }

    .thanks-footer-logo .logo-text{
        color: #3986f3;
        font-weight: 500;
        position: relative;
        font-size: 18px;
    }

    .thanks-footer-logo img{
        vertical-align: middle;
        margin-right: 8px;
        width: 30px;
    }

    .design-credit{
        margin: 0;
        text-align: center;
        font-size: 12px;
        letter-spacing: 0;
        margin-left: 15px;
        position: relative;
        top: 12px;
    }

    .social-icons{
        text-align: center;
    }


        .social-icons img{
            width: 30px;
        }



    label.error{
    background: none;
    padding-left: 0;
    margin-left: 0;
    color: #ff0000;
    position: relative;
    bottom: 10px;
    }


    .validation_error{
    margin: 0;
    padding: 0;
    color: red;
    font-size: 12px;
}

.select2-container{
    margin: 7px 0;
}

.phone-wrapper{
    display: flex;
    align-items: flex-start;
    width: 100%;
}


.phone-wrapper .select2-container{
    margin:0;
    text-align: center;
}

.select2-container--default .select2-selection--single{
    border:none;
    border-radius: 0; 
    border-bottom: 1px solid #ccc;
    height: 51px;
    border-top-left-radius:5px;
    border-bottom-left-radius:5px;

}
.matrix{
	width: 100%;
	border-collapse: collapse;
}
.matrix thead{
	font-weight: bold;
}

.matrix td,.matrix th{
  padding:12px 15px;
  border:1px solid #ddd;
  text-align: left;
  font-size:20px;
  height: 50px;
}

.matrix input{
	height: 100%;
	width: 100%;
	display: block;
}

.radiocontainer {
  display: block;
  position: relative;
  padding-left: 35px;
  margin-bottom: 12px;
  cursor: pointer;
  font-size: 22px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}


.radiocontainer input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
}


.customradio {
  position: absolute;
  top: 0;
  left: 50%;
  height: 25px;
  width: 25px;
  background-color: #eee;
  border-radius: 50%;
  transform: translate(-50%, 0px);
  border: 1px solid;
  border-color: black;
  transition: border-color .2s ease;
  
}


.radiocontainer:hover input ~ .customradio {
  background-color: #ccc;
}
.radiocontainer input:checked + .customradio{
	border-color: var(--primary-color);
}


.customradio::before{
	content: '';
	height: 15px;
	width: 15px;
	background-color:  var(--primary-color);
	position: absolute;
	top: 0;
	left: 0;
	border-radius: 50%;
	box-sizing: border-box;
	margin-left: 4px;
	margin-top: 4px;
	transition: transform .2s ease;
	transform: scale(0);
}
.radiocontainer input:checked + .customradio::before {
  transform: scale(1);
}

.checkboxcontainer {
  display: block;
  position: relative;
  padding-left: 35px;
  margin-bottom: 12px;
  cursor: pointer;
  font-size: 22px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}


.checkboxcontainer input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
}


.customcheck {
  position: absolute;
  top: 0;
  left: 50%;
  height: 25px;
  width: 25px;
  background-color: #eee;
  border-radius: 5px;
  transform: translate(-50%, 0px);
  border: 1px solid;
  border-color: black;
  transition: border-color .2s ease;
  
}


.checkboxcontainer:hover input ~ .customcheck {
  background-color: #ccc;
}
.checkboxcontainer input:checked + .customcheck{
	background-color: var(--primary-color);
	border-color: var(--primary-color);
}


.customcheck::before{
	content: '';
	height: 15px;
	width: 10px;	
	position: absolute;
	top: 0;
	left: 0;
  border: solid white;
  border-width: 0 4px 4px 0;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg) scale(0);
	box-sizing: border-box;
	margin-left: 7px;
	margin-top: 2px;
	transition: transform .2s ease;
	
}
.checkboxcontainer input:checked + .customcheck::before {
  transform:rotate(45deg) scale(1);
}


.matrix input[type=radio]:hover,input[type=checkbox]:hover{
	background-color: grey;
	border-radius: 100px;
	cursor: pointer;
}
.matrix input[type="text"]:focus ~ .focus-border{
	width: 100%;
}
.matrix th{
	background-color: darkblue;
	color:#ffffff;
}
.matrix tbody tr:hover{
	background-color: #f5f5f5;
}
/*.matrix tbody tr:nth-child(even){
	background-color: #f5f5f5;
}*/

/*all animation style and classes*/
.fadeOut{
    -webkit-animation: scrollOutToTop 5s ease;
    animation: scrollOutToTop 5s ease;
    /*-webkit-transform: translateY(-100vh);
    -ms-transform: translateY(-100vh);
    transform: translateY(-100vh);  */ 
/*animation-delay: 5s;*/
}

@-webkit-keyframes scrollOutToTop {
    0% {
        opacity: 1;
        -webkit-transform: translateY(0vh);
        -ms-transform: translateY(0vh);
        transform: translateY(0vh)
    }
    100% {
        opacity: 0;
        -webkit-transform: translateY(-100vh);
        -ms-transform: translateY(-100vh);
        transform: translateY(-100vh)
    }
}

@keyframes scrollOutToTop {
    0% {
        opacity: 1;
        -webkit-transform: translateY(0vh);
        -ms-transform: translateY(0vh);
        transform: translateY(0vh)
    }
    100% {
        opacity: 0;
        -webkit-transform: translateY(-100vh);
        -ms-transform: translateY(-100vh);
        transform: translateY(-100vh)
    }
}


@keyframes fadeOutUpBig {
	0% {
		opacity: 1
	}
	to {
		opacity: 0;
		-webkit-transform: translate3d(0, -2000px, 0);
		transform: translate3d(0, -2000px, 0)
	}
}



.fadeIn{
   -webkit-animation: scrollInFromBottom 1s ease;
    animation: scrollInFromBottom 1s ease;
    -webkit-transform: translateY(0vh);
    -ms-transform: translateY(0vh);
    transform: translateY(0vh);
    opacity: 1;
}

@-webkit-keyframes scrollInFromBottom {
    0% {
        opacity: 0;
        -webkit-transform: translateY(100vh);
        -ms-transform: translateY(100vh);
        transform: translateY(100vh)
    }
    100% {
        opacity: 1;
        -webkit-transform: translateY(0vh);
        -ms-transform: translateY(0vh);
        transform: translateY(0vh)
    }
}

@keyframes scrollInFromBottom {
    0% {
        opacity: 0;
        -webkit-transform: translateY(100vh);
        -ms-transform: translateY(100vh);
        transform: translateY(100vh)
    }
    100% {
        opacity: 1;
        -webkit-transform: translateY(0vh);
        -ms-transform: translateY(0vh);
        transform: translateY(0vh)
    }
}

@keyframes fadeInUpBig {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, 2000px, 0);
        transform: translate3d(0, 2000px, 0)
    }
    to {
        opacity: 1;
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}
.fadeInTop{
    -webkit-animation: scrollInFromTop 1s ease;
     animation: scrollInFromTop 1s ease;
     -webkit-transform: translateY(0vh);
     -ms-transform: translateY(0vh);
     transform: translateY(0vh);
     opacity: 1;
 }
 @keyframes scrollInFromTop {
    0% {
        opacity: 0;
        -webkit-transform: translateY(-100vh);
        -ms-transform: translateY(-100vh);
        transform: translateY(-100vh)
    }
    100% {
        
        opacity: 1;
        -webkit-transform: translateY(0vh);
        -ms-transform: translateY(0vh);
        transform: translateY(0vh)
    }
}
 @-webkit-keyframes scrollInFromTop {
     0% {
         opacity: 0;
         -webkit-transform: translateY(100vh);
         -ms-transform: translateY(100vh);
         transform: translateY(100vh)
     }
     100% {
         opacity: 1;
         -webkit-transform: translateY(0vh);
         -ms-transform: translateY(0vh);
         transform: translateY(0vh)
     }
 }
 .fadeOutBottom{
    -webkit-animation: scrollOutToBottom 1.5s ease;
    animation: scrollOutToBottom 1.5s ease;
    /*-webkit-transform: translateY(-100vh);
    -ms-transform: translateY(-100vh);
    transform: translateY(-100vh);  */ 
/*animation-delay: 5s;*/
}

@-webkit-keyframes scrollOutToBottom {
    0% {
        opacity: 1;
        -webkit-transform: translateY(0vh);
        -ms-transform: translateY(0vh);
        transform: translateY(0vh)
    }
    100% {
        opacity: 0;
        -webkit-transform: translateY(-100vh);
        -ms-transform: translateY(-100vh);
        transform: translateY(-100vh)
    }
}

@keyframes scrollOutToBottom {
    0% {
        opacity: 1;
        -webkit-transform: translateY(0vh);
        -ms-transform: translateY(0vh);
        transform: translateY(0vh)
    }
    100% {
        opacity: 0;
        -webkit-transform: translateY(100vh);
        -ms-transform: translateY(100vh);
        transform: translateY(100vh)
    }
}

/*Media Queries*/

@media(max-width: 600px) {
    #next, #pre{
        width: 35px;
        height: 35px;
        margin:1px;
    }
    .question .submit{
        text-align: left;
        width:auto;
      }
    

.intro {
    width: 100%;
    text-align: center;
    padding: 10% 5% 10% 5%;
/*    position: absolute;
    top: 50%;
    transform: translateY(-50%);*/
    display: flex;
    justify-content: center;
    align-items: center;
}
   /* #questionnaire{
        width:100%;
        margin-bottom: 100px;      
           
          position: absolute;
          top: 0;
          
          transform: translate(-50%,0%);
          
         
    }*/
    .question {
    padding: 37% 5% 1% 5%;
}
.datepicker img{
    margin-left: 10px;
}

    .checkbox:hover{
        background-color: white;
        color:var(--sec-color);
    }
    input:checked+.checkbox{
        transition: ease 0.2s;
    color: var(--primary-color);
    background-color: #0083ff21;
    }

.question.active{
    display: block;
   
    width:100%;
   
}
    #myform{
        width:100%;
        margin-bottom: 60px;
       
    }
    
input[type="text"], textarea, input[type="email"]{
    display: block;
    border: 0;
    padding: 7px 5px;
    border-bottom: 2px solid #ccc;
    width: 100%;
    
}
input[type="text"]:focus ~ .focus-border, textarea:focus ~ .focus-border, input[type="email"]:focus ~ .focus-border,input[type="number"]:focus ~ .focus-border{
    width: 100%; 
    transition: 0.4s;    
    left: 0;
}
.radio, .checkbox {
        width: 100%;
    }
/*
    input[type="date"],input[type="number"]{
        display: block;
        border: 0;
        padding: 7px 5px;
        border-bottom: 2px solid #ccc;
        width: 100%;
        font-size: 25px;
    }
    input[type="number"] ~ .focus-border, input[type="date"] ~ .focus-border{
        position: relative; 
        bottom: 0; 
        left: 50%; 
        width: 0; 
        height: 2px; 
        transform: translateX(0);
        background-color: #000000; 
        transition: 0.4s;
    }
    input[type="date"]:focus ~ .focus-border, input[type="number"]:focus ~ .focus-border{
        width: 100%; 
        transition: 0.4s;    
        left: 0;
    }*/
   
    .nav{
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 0% 2%;
        flex-direction: row;
        position: fixed;
        bottom: 0;
        height: 60px;
    }
    .nav .right-nav{
        display: flex;
        flex-direction: row;
        margin-left: 0%;
    }
    
    .left-nav{
        display: flex;
        flex-direction: column;
       
        left:0%;
    }
   button .cancelbtn{
        margin:-18px;
    }
    
    .logo{
        height: 30px;
    }
    
    .logo-container{
        display: flex;
        align-items: center;
        margin: 0px 15px;
    }
    
    
    .nav-icon{
            width: 30px;
            margin: 0px 5px;
            cursor: pointer;
    }
    .nav .right-nav{
        width: 100%;
    }
    .footer_title{
        font-size: 18px;
    }
    button{
        padding: 11px;
        text-align: center;
        z-index: 0;
    }
    .question button{
        margin:8px;
        margin-left: 0px;
        margin-right: 15px;
        width:auto;
        text-align: center;
        padding:8px;
        z-index: 0;
    }
    .question button .uploadBtn{
        margin: 8px;
        width:auto;
        text-align: center;
        padding: 8px;
    }
    .icon-container{
        margin-left: 30%;
    }
    
    .rating{
        text-align: center;
        display: block;
       
    }
    .rating-label{
        display: block;
    }
    .select2-container--default .select2-selection--single{
        height:51px;
        padding-top: 4px;
    }
    .check_container .choice_opt{
        width: 90%;
    }
    .check_container .check_img {
        width: 10%;
    }

.image-selector{
    display: grid;
    grid-template-columns: repeat(auto-fill, 50%);
}
.matrix thead{
		display: none;
	}

	.matrix, .matrix tbody, .matrix tr, .matrix td{
		display: block;
		width: 100%;
	}
	.matrix tr{
		margin-bottom:15px;
	}
	.matrix td{
		padding-left: 50%;
		text-align: left;
		position: relative;
	}
	.matrix td:first-child{
		width: 100%;
		background-color: lightgrey;
		text-align: left;
		padding-left: 12px;
                height: auto;

	}
	.matrix td:first-child:before{

	}
	.matrix td::before{
		content: attr(data-label);
		position: absolute;
		left:0;
		width: 50%;
		padding-left:15px;
		font-size:15px;
		font-weight: bold;
		text-align: left;
	}
}
/*Mobile Devices landscape)****************************************************/
@media(min-width: 600px) and (max-width: 768px) {
    .image-selector{
    display: grid;
    grid-template-columns: repeat(auto-fill, 50%);
}
#myform{
    width:100%;
   
}
.datepicker img{
    margin-left: 10px;
    }

.intro {
    width: 100%;
    text-align: center;
    padding: 10% 5% 10% 5%;
/*    position:absolute;
    top: 50%;
    transform: translateY(-50%);*/
    display: flex;
    justify-content: center;
    align-items: center;
}

.intro img {
    max-width: 300px !important;
}

.question {
padding: 25% 5% 1% 5%;
}

.question button{
    margin-top:8px;
    width:auto;
    padding:8px;
    text-align: center;
    z-index: 0;
}
.logo-container {
   margin: 0px 390px 0px 0px;
}

.rating, .ratingSmile {
    display: flex;
    flex-direction: row;
}

input[type="radio"], input[type="checkbox"] {
    visibility: hidden;
    width: 0;
    height: 0;
}
input[type="text"], textarea, input[type="email"]{
    display: block;
    border: 0;
    padding: 7px 5px;
    border-bottom: 2px solid #ccc;
    width: 100%;
    
}
input[type="text"]:focus ~ .focus-border, textarea:focus ~ .focus-border, input[type="email"]:focus ~ .focus-border,input[type="number"]:focus ~ .focus-border{
    width: 100%; 
    transition: 0.4s;    
    left: 0;
}
.radio, .checkbox {
        width: 100%;
        }
.rating-label {
    margin-bottom: 10px;
    display: block;
    text-align: center;
}
.yes_no_box{
    border:1px solid black; 
    text-align:center; 
    border-radius:5px; 
    padding:25px;
}

#hover:hover{
    background-color: rgba(82, 82, 74, 0.234);
  }
input:checked + label .active{
    background-color: violet;
}
.yes_no_label{
    display:block;
     margin-top:20px;
      width:100px;
       text-align:center;
}


input:checked+.yes_no_box{
    background-color: blue;
	background-repeat: no-repeat;
    background-size: contain;
    transition: 0.3s;
}
.checkbox:hover{
    background-color: none;
}
.rating label img, .ratingSmile label img {
    width: 40px;
    vertical-align: middle;
}

/* .upload-container {
    padding: 0rem;
}
 */

button { 
    padding: 3%;
}
.inline-btn{
    display: block;
}
.matrix thead{
		display: none;
	}

	.matrix, .matrix tbody, .matrix tr, .matrix td{
		display: block;
		width: 100%;
	}
	.matrix tr{
		margin-bottom:15px;
	}
	.matrix td{
		padding-left: 50%;
		text-align: left;
		position: relative;
	}
	.matrix td:first-child{
		width: 100%;
		background-color: lightgrey;
		text-align: left;
		padding-left: 12px;
                height: auto;

	}
	.matrix td::before{
		content: attr(data-label);
		position: absolute;
		left:0;
		width: 50%;
		padding-left:15px;
		font-size:15px;
		font-weight: bold;
		text-align: left;
	}
	.matrix input{
	height: 100%;
	width: 100%;
	visibility: visible;
	display: block;
}
}

/*Medium devices (tablets, 768px and up)**************************************/
@media(min-width: 768px) and (max-width: 992px){
     .image-selector{
    display: grid;
    grid-template-columns: repeat(auto-fill, 25%);
}
 button{
        padding: 11px;
        text-align: center;
        z-index: 0;
    }
    button{
        font-size: 1.3rem;
        padding: 2%;
    }
    #questionnaire{
        width:100%;
    }
    .nav .right-nav{
        width: 100%;
    }
    
.question button {
    margin: 1em 0px;
    margin-right: 15px;
    width: 16%;
    text-align: center;
    padding: 8px;
    font-size: 1.3rem;
}

.question {
    padding: 40% 5% 1% 5%;
}

.intro img {
    max-width: 500px !important;
}

p{
	font-size: 2rem;
}


     .dropdown-container{
        width: 80%;
    }

    .nps-rating, .nps-label {
    width: 55%;
    }

    .customer-details{
    width: 60%;
}
label.error{
    font-size: 12px;
    margin-top: 4px;
}
.rating, .ratingSmile {
    display: flex;
    flex-direction: row;
}
.rating-label {
    margin-bottom: 10px;
    display: block;
    text-align: center;
}

.logo-container{
    margin: 0px 490px 0px 0px;
}

/* .upload-container{
     padding: 80px 0px;
}
 */

.select2-results__option--selectable{
    font-size: 12px;
}


.select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 28px;
    font-size: 25px;
   
   
    padding-top: 7px;
}
.matrix thead{
		display: none;
	}

	.matrix, .matrix tbody, .matrix tr, .matrix td{
		display: block;
		width: 100%;
	}
	.matrix tr{
		margin-bottom:15px;
	}
	.matrix td{
		padding-left: 50%;
		text-align: left;
		position: relative;
	}
	.matrix td:first-child{
		width: 100%;
		background-color: lightgrey;
		text-align: left;
		padding-left: 12px;
                height: auto;
	}
	.matrix input{
	height: 100%;
	width: 100%;
	visibility: visible;
	display: block;
}
	.matrix td::before{
		content: attr(data-label);
		position: absolute;
		left:0;
		width: 50%;
		padding-left:15px;
		font-size:15px;
		font-weight: bold;
		text-align: left;
	}
}


/*Large devices (desktops, 992px and up)**************************************/
@media(min-width: 992px) { 
/* .upload-container{
     padding: 0px 0px;
} */
.image-selector{
    display: table;
    width: 150px;
}
.customer-details{
    width: 60%;
}
label.error{
    position: relative;
    font-size: 12px;
    margin-top: 0;
}
.intro{
    width: 100%;
    margin: auto;
    padding: 5% 5% 5% 5%;
}

.dropdown-container{
        width: 80%;
    }

p{

margin: 5% 0%;
font-size: 1.5rem;
line-height: 30px;
    
}

h4{
    font-size: 16px;
    margin-bottom: 12px;
}

  h2{
    font-size: 22px;
    line-height: 30px;
  }

  .question button {
    padding: 0%;
}



.question{
    width: 80vw;
   margin: auto;
    padding: 15% 5% 1% 5%;
}
.question button{
    width:auto;
    padding:8px;
}

label{
    padding-left: 30px;
    font-size: 16px;
    letter-spacing: 0.5px;
    font-weight: 300;
}
input[type="text"]:focus ~ .focus-border, textarea:focus ~ .focus-border, input[type="email"]:focus ~ .focus-border,input[type="number"]:focus ~ .focus-border{
    width: 80%; 
    transition: 0.4s;    
    left: 0;
}
.radio, .checkbox {
        width: 80%;
        }
.nav{
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0% 2%;
    flex-direction: row;
    position: fixed;
    bottom: 0;
    height: 60px;
}

.nav .right-nav{
    display: flex;
    flex-direction: row;
    margin-left: 77%;
}

.left-nav{
    display: flex;
    flex-direction: column;
    width: unset;
    margin: 16px 0px 0px 35px;
}


.logo{
    height: 30px;
}

.logo-container{
    display: flex;
    align-items: center;
    margin: 0px 15px;
    

}


.nav-icon{
        width: 30px;
        margin: 0px 5px;
        cursor: pointer;
}

.outer-progress{
    position: relative;
    width: 200px;
    height: 3px;
    border-radius: 5px;
    background-color: #b3b3b3;
}

.inner-progress{
    position: absolute;
    width: 10%;
    height: 5px;
    background-color: var(--primary-color);
    top: -1px;
    border-radius: 5px;
}

.counter{
    margin-bottom: 5px;
    font-size: 12px;
    display: block;
}



.hidden{
    display: none;
}

.dropdown{
    width: 100%;
    margin: 10px 0px;
}

textarea, input[type="text"],input[type="number"],input[type="email"],input[type="url"],input[type="password"] {
    width: 80%;
    padding: 5px 5px 5px;   
    margin: 0px 0px 0px 0px;
    font-size: 25px;
}

.select-box {
       /*width: 80%;*/
}



hr{
    width: 20%;
}


.datepicker img {
    margin-left: 20px;
}

#q13 h5{
    font-weight: 400;
    color: var(--sec-color);
    font-size: 15px;
    margin-left: 5px;
}



.datepicker{
    display: flex;
    align-items: flex-end;
    width: 32%;
    position : relative;
}

.datepicker span{
    margin: 0px 5px;
    font-size: 20px;
    color: var(--sec-color);
}

.datepicker img{
    margin-left: 20px;
    vertical-align: middle;
    margin-bottom: 7px;
    width: 25px;
}

#date, #month, #year{
    margin: 0;
    padding: 0;
    width: 40px;
    border: none;
    font-size: 20px;
    padding-top: 12px;
    padding-left: 5px;
}


#year{
    
    width: 60px;
}

hr{
    width: 20%;
}


.rating, .ratingSmile{
    flex-direction: row;
}
.rating label, .ratingSmile label{
    margin:0;
    padding: 0;
    margin-top: 10px;
    margin-right: 10px;
    margin-left: 10px;
}

.rating label img, .ratingSmile label img{
    width: 50px;
    cursor: pointer;
}
.rating-label{
    
    display: block;
    text-align: center;
}
  .nps-rating, .nps-label {
    width: 80%;
    }

    .nps-item{
        padding: 18px;
    }

  .upload-container {
    width: 60%;
    
    height: auto;
}

/*------------thank you page---------------
-------------------------------------------*/
    .thanks{
        text-align: center;
    }

    .thanks h1{
        margin: 2em 0 1em;
        font-weight: normal;
        color: #636363;
    }

    .thanks .thanks-content{
            margin: 1em 5em;
    }

    .thanks img{
        max-width: 40%;
        height: auto;
        border-radius: 1em;
    }
    
    .thanks-footer-logo{
         text-align: center;
    }

    .thanks-footer-logo .logo-text{
        color: #3986f3;
        font-weight: 500;
        position: relative;
        font-size: 18px;
    }

    .thanks-footer-logo img{
        vertical-align: middle;
        margin-right: 8px;
        width: 30px;
    }

    .design-credit{
        margin: 0;
        text-align: center;
        font-size: 12px;
        letter-spacing: 0;
        margin-left: 15px;
        position: relative;
        top: 12px;
    }

    .social-icons{
        text-align: center;
    }


        .social-icons img{
            width: 30px;
        }

    .phone-wrapper{
    width: 100%;
}
.select2-container--default .select2-selection--single{
    border:none;
    border-bottom: 1px solid #ccc;
    height: 47px;
     border-top-left-radius:5px;
    border-bottom-left-radius:5px;


}
.check_container .choice_opt{
    width: 95%;
}
.check_container .check_img{
    width: 5%;
}
.matrix{
	width: 100%;
	border-collapse: collapse;
}
.matrix input{
	height: 100%;
	width: 100%;
	display: block;
}
.matrix td,.matrix th{
  padding:12px 15px;
  border:1px solid #ddd;
  text-align: left;
  font-size:16px;
  max-width: 60px;
}

.matrix th{
	background-color: darkblue;
	color:#ffffff;
}


}


/*Extra large devices (large desktops, 1200px and up)*******************************/
@media(min-width: 1200px) { 
button {
    padding: 15px;
}

.question textarea{
    resize: none;
    height: 45px;
}

.question button {
    margin: 1em 0px;
    margin-right: 15px;
    width: 20%;    
    padding: 16px 24px;
    text-align: left;
    border-radius: 10px;
}

.question .uploadBtn{
    width: auto;
}

.question button img{
    float: right;
    position: relative;
    top: 8px;
}
}