/*	Header
-------------------------------------------*/

.header .main {
    position: relative;
    padding: 25px 0;
    background: #fff;
}
    
    .header .main .logo {
        margin-right: auto;
        position: relative;
        max-width: 250px;
    }


/*  WIDGETS
------------------------------------------------------------------------------------------*/

/*	Vision test
-------------------------------------------*/

.general-content .vision-test {
    text-align: left !important;
}

.vision-test a {
    color: #fff;
}

.vision-test form.loading {
    pointer-events: none;
    opacity: 0.75;    
}

.vision-test form .row {
    margin-top: 20px;
}

.vision-test form .cols {
    display: flex;
    justify-content: space-between;
    gap: 20px;
}

.vision-test form .cols .col {
    flex-grow: 1;
    width: 100%;
}

.vision-test form label {
    display: inline-block;
    margin-bottom: 10px;
}

.vision-test form input[type="text"],
.vision-test form input[type="email"],
.vision-test form input[type="number"] {
    border-radius:4px;
    height:50px;
    line-height:50px;
    box-sizing: border-box;
    width: 100%;
    font-family: kumbh sans,sans-serif;
    font-size:17px;
    padding-left:20px;
    border:0;
}

.vision-test form input[type="number"]::-webkit-outer-spin-button,
.vision-test form input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.vision-test form input[type="number"] {
    -moz-appearance: textfield;
}

.vision-test form button[type="submit"] {
    transition: none;
}

.vision-test form.loading button[type="submit"] {
    font-size: 0;
    background-image: url(../img/loading-indicator-three-dots.svg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 60px;
    height: 61.5px;
}

.vision-test .to-ow-button {
	display: block;
	width: 100%;
	padding: 18px 40px 16px 40px;
	margin-top: 20px;
	box-sizing: border-box;
	background: #fff;
	border: 1px solid #fff;
	border-radius: 8px;
	font-size: 20px;
	font-weight: 700;
	text-align: center;
	text-decoration: none;
	color: #7ac142;
	cursor: pointer;
	-webkit-transition: all .3s;
			transition: all .3s;
}

.vision-test #submit-response {
    padding: 20px;
    border-radius: 4px;
    margin-top: 20px;
}

.vision-test #submit-response.success {
    background-color: #36ca0f;
    border: 1px solid #b0ff9c;
}

.vision-test #submit-response.warning {
    background-color: #f9c42b;
    border: 1px solid #fbe8b1;
}

.vision-test #submit-response.error {
    background-color: #ffa2a2;
    border: 1px solid #95342b;
}
/*  THIRD PARTY
------------------------------------------------------------------------------------------*/

/*	Select2
-------------------------------------------*/

.select2-results__options .shown-when-selected {
    display: none;
}

.select2-selection__rendered .shown-when-selected {
    display: inline;
}

.select2-container--default .select2-results__option[aria-disabled="true"] {
    padding: 10px 6px;
}

.select2-container--default .select2-results__group {
    padding: 10px 6px;
    font-weight: bold;
    position: sticky;
    top: 0;
    background-color: white;
    border-top: .5px solid #d1d1d1;
}

.select2-container--default .select2-search--inline .select2-search__field{
    width:initial!important;
}

/*  GENERAL
------------------------------------------------------------------------------------------*/

.hidden {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
}

/*	Checkbox
-------------------------------------------*/

.checkbox__wrapper {
    display: block;
    position: relative;
    padding-left: 25px;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    cursor: pointer
}

    .checkbox__wrapper.disabled {
        opacity: .5;
        pointer-events: none
    }

    .checkbox__wrapper:hover input~.checkbox__checkmark {
        background-color: #fff
    }

    .checkbox__wrapper input:checked~.checkbox__checkmark {
        background-color: #fff
    }

    .checkbox__wrapper input:checked~.checkbox__checkmark:after {
        opacity: 1
    }

    .checkbox__wrapper input {
        position: absolute;
        opacity: 0 !important;
        height: 0;
        width: 0
    }

    .checkbox__wrapper input:checked~.checkbox__checkmark:after {
        display: block
    }

    .checkbox__wrapper .checkbox__checkmark {
        position: absolute;
        top: 0;
        left: 0;
        height: 20px;
        width: 20px;
        background-color: #fff
    }

        .checkbox__wrapper .checkbox__checkmark:after {
            content: "";
            position: absolute;
            left: 6px;
            top: 1px;
            width: 6px;
            height: 11px;
            border: solid #7cc343;
            border-width: 0 3px 3px 0;
            -webkit-transform: rotate(45deg);
            -ms-transform: rotate(45deg);
            transform: rotate(45deg);
            opacity: 0
        }

/*  SECTION STORES
------------------------------------------------------------------------------------------*/

.section__stores {
    padding: 60px;
}

    .section__stores:first-child {
        padding: 60px 60px 100px 60px;
    }

/*	Stores map
-------------------------------------------*/

.stores-map {
    /* margin-top: 70px; */
    display: none;
}

    .stores-map .map {
        height: 400px;
        background: #f9f9f9;
        display: block;
    }

/*	Stores filter
-------------------------------------------*/

.stores-filter {
    padding: 20px 0;
    background: rgba(0,0,0,0.1);
}

    .stores-filter .left { float: left; }
    .stores-filter .right { float: right; }

    /*	Search
    -------------------------------------------*/
    
    .stores-filter .search {
        position: relative;
    }
    
        .stores-filter .search label {
            position: absolute;
            left: 0;
            font-family: 'Kumbh Sans', sans-serif;
            font-size: 16px;
            line-height: 16px;
            font-weight: 400;
            text-transform: uppercase;
            letter-spacing: 0.05em;
            color: #fff;
            display: none;	
        }
        
        .stores-filter .search input {
            display: block;
            min-width: 300px;
            padding: 15px 20px 14px 20px;
            border: none;
            outline: none;
            border-radius: 4px;
            font-family: 'Kumbh Sans', sans-serif;
            font-size: 18px;
            line-height: 22px;
            font-weight: 700;
            color: #7cc343;
            box-shadow: 0px 8px 25px 0px rgba(0, 0, 0, 0.05);
        }
        
            .stores-filter .search input::-webkit-input-placeholder {
                color: #7cc343;
                   opacity: 1;
               }
                        
            .stores-filter .search input:-moz-placeholder {
                color: #7cc343;
                opacity: 1;
            }
                        
             .stores-filter .search input::-moz-placeholder {
                color: #7cc343;
                opacity: 1;
              }
                        
             .stores-filter .search input:-ms-input-placeholder {
                color: #7cc343;
                   opacity: 1;
            }
    
    /*	Filters
    -------------------------------------------*/

    .stores-filter .filters {}
    
        .stores-filter .filters .filter-button {
            display: inline-block;
            margin-right: 4px;
            padding: 6px 14px 8px 12px;
            background: rgba(255,255,255,0.5);
            border-radius: 4px;
            border: none;
            outline: none;
            font-family: 'Kumbh Sans', sans-serif;
            font-size: 14px;
            line-height: 14px;
            font-weight: 500;
            cursor: pointer;
            color: #3d3d3d;
            box-shadow: 0px 8px 25px 0px rgba(0, 0, 0, 0);
            -webkit-transition: all .3s;
                    transition: all .3s;
        }
        
            .stores-filter .filters .filter-button:last-child {
                margin-right: 0;
            }
            
            .stores-filter .filters .filter-button.is-checked {
                background: rgba(255,255,255,1);
                color: #3d3d3d;
                box-shadow: 0px 8px 25px 0px rgba(0, 0, 0, 0.05);
            }
            
    /*	Count
    -------------------------------------------*/
    
    .stores-filter .filter-count {
        margin-top: 7px;
        text-align: right;
        font-family: 'Kumbh Sans', sans-serif;
        font-size: 14px;
        line-height: 14px;
        font-weight: 700;
        color: #3d3d3d;
    }

    
    
/*	Stores list
-------------------------------------------*/

.stores-list {
    margin-top: 70px;
    margin-bottom: -2%;	
}

    /*	No results
    -------------------------------------------*/
    
    .stores-list .no-results-message {
        display: none;
        font-size: 15px;
        line-height: 19px;
        text-align: center;
        color: #616161;
    }
    
        .stores-list.no-results .no-results-message {
            display: block;
        }

    /*	Stores list > Item
    -------------------------------------------*/
    
    .stores-list .grid-item {
        margin-bottom: 4%;
    }
    
        .stores-list .grid-sizer,
        .stores-list .grid-item { width: 48%; }
        
        .stores-list .gutter-sizer { width: 4%; }

        /*	Stores list > Item > Image
        -------------------------------------------*/
    
        .stores-list .grid-item .image {
            height: auto;
            padding-bottom: 50%;
            background-color: #f0f0f0;
            background-repeat: no-repeat;
            background-position: center;
            background-size: cover;
            box-shadow: 0px 8px 25px 0px rgba(0, 0, 0, 0.025);
        }
        
        /*	Stores list > Item > Title
        -------------------------------------------*/
        
        .stores-list .grid-item .title {
            padding: 0 20px;
            box-sizing: border-box;
            font-family: 'Kumbh Sans', sans-serif;
            font-size: 26px;
            line-height: 26px;
            font-weight: 700;
            color: #3d3d3d;
        }
        
        /*	Stores list > Item > Image
        -------------------------------------------*/
        
        .stores-list .grid-item .content {
            margin-top: 15px;
            padding: 25px 20px 20px 20px;
            box-sizing: border-box;
            border: 1px solid #ccc;
            background: #fefefe;	
        }
        
            .stores-list .grid-item:nth-child(odd) .content {
                    
            }
        
            .stores-list .grid-item .content .col {
                border-left: 1px solid #ccc;
                box-sizing: border-box;
                font-size: 14px;
                line-height: 18px;
                color: #616161;
            }
            
                .stores-list .grid-item .content .col:first-child {
                    border: none;
                }

                /*	Elements
                -------------------------------------------*/
                
                .stores-list .grid-item .content .col span {
                    display: block;
                }

                .stores-list .grid-item .content .col .label {
                    font-family: 'Kumbh Sans', sans-serif;
                    font-size: 13px;
                    line-height: 13px;
                    letter-spacing: 0.05em;
                    font-weight: 500;
                    color: #b4b3b3;
                }
                
                .stores-list .grid-item .content .col .data {
                    margin-top: 7px;
                }
                
                    .stores-list .grid-item .content .col .data a {
                        position: relative;
                        text-decoration: none;
                        color: #7ac142;
                    }
                    
                        .stores-list .grid-item .content .col .data a:after {
                            content: '';
                            position: absolute;
                            left: 0;
                            right: 0;
                            bottom: -1px;
                            height: 1px;
                            background: #7ac142;	
                        }
                        
                    .stores-list .grid-item .content .col .data a.data-button {
                        display: inline-block;
                        margin-top: 10px;
                        padding: 4px 10px 4px 10px;
                        background: #7cc343;
                        border-radius: 3px;
                        color: #fff !important;
                        font-weight: 700;
                        box-shadow: 0px 8px 25px 0px rgba(0, 0, 0, 0.05);
                        background: rgb(124,195,67); /* Old browsers */
                        background: -moz-linear-gradient(top, rgba(124,195,67,1) 0%, rgba(88,173,31,1) 100%); /* FF3.6-15 */
                        background: -webkit-linear-gradient(top, rgba(124,195,67,1) 0%,rgba(88,173,31,1) 100%); /* Chrome10-25,Safari5.1-6 */
                        background: linear-gradient(to bottom, rgba(124,195,67,1) 0%,rgba(88,173,31,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
                        filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#7cc343', endColorstr='#58ad1f',GradientType=0 ); /* IE6-9 */
                        
                    }
                    
                    .stores-list .grid-item .content .col .data a.data-button:after {
                        display: none;
                    }
                    
                    .stores-list .grid-item .content .col .data .desc {
                        margin-top: 2px;
                    }
                
                /*	Left
                -------------------------------------------*/
                
                .stores-list .grid-item .content .col.left {
                    float: left;
                    width: 60%;
                    padding-right: 20px;
                    box-sizing: border-box;
                }
                
                    .stores-list .grid-item .content .col.left ul li {
                        margin-top: 20px;
                    }
                    
                        .stores-list .grid-item .content .col.left ul li:first-child {
                            margin-top: 0;
                        }

                /*	Right
                -------------------------------------------*/
                
                .stores-list .grid-item .content .col.right {
                    float: right;
                    width: 40%;	
                }
                
                    .stores-list .grid-item .content .opening li {
                        float: left;
                        width: 50%;
                        border-bottom: 1px solid #ccc;
                        padding: 12px 0 10px 15px;
                        box-sizing: border-box;
                    }
                    
                        .stores-list .grid-item .content .opening li:last-child {
                            border: none;	
                        }
                        
                        .stores-list .grid-item .content .opening li .data {
                            font-size: 14px;
                            line-height: 18px;
                            font-weight: 700;
                        }



@media(max-width: 1150px) and (min-width: 1025px) {

    .stores-list .grid-item .title { font-size: 32px; }
    .stores-list .grid-item .content .col.left { width: 55%; }
    .stores-list .grid-item .content .col.right { width: 45%; }
    
}

@media(max-width: 1024px) {
    
    .stores-list .grid-sizer, .stores-list .grid-item { width: 100%; }
    .stores-list .grid-item .content .col.left { width: calc(100% - 350px); }
    .stores-list .grid-item .content .col.right { width: 300px; }
    
}

	
@media(max-width: 960px) {

    .stores-list { margin-top: 60px; }
    .section__stores:first-child, .section__stores { padding: 32px 16px; }

}

@media(max-width: 767px) {
    
    .stores-filter { padding: 15px 0 14px 0; text-align: center; }
    .stores-filter .left { float: none; }
    .stores-filter .filters .filter-button { margin: 0 8px 8px 0; }
    .stores-filter .right { float: none; }
    .stores-filter .filter-count { text-align: center; font-weight: 400; }
    .stores-list { margin-top: 50px; }
    .stores-list .grid-item { margin-bottom: 30px; }
    .stores-list .grid-item .title { text-align: center; font-size: 32px; line-height: 32px; }
    .stores-list .grid-item .content .col.left { width: calc(100% - 280px); }
    .stores-list .grid-item .content .col.right { width: 250px; }

}

@media(max-width: 650px) {

    .vision-test form .cols { display:block; justify-content: unset; }
    .vision-test form .cols .col:not(:first-child) { margin-top:15px; }
    .vision-test form .cols .col input[type="text"],
    .vision-test form .cols .col input[type="email"],
    .vision-test form .cols .col input[type="number"] { width: 100%; }
    
    .stores-list .grid-item { margin-bottom: 35px; }
    .stores-list .grid-item .content .col.left { float: none; width: 100%; text-align: center; }
    .stores-list .grid-item .content .col.right { float: none; width: 100%; margin-top: 40px; padding-top: 20px; border-left: none; border-top: 1px solid rgba(204,204,204,0.3); text-align: center; }
    .stores-list .grid-item .content .opening li { border-bottom-color: rgba(204,204,204,0.3); }

}

@media (max-width: 600px) {

    .header .main .logo { max-width: 200px; }

}

@media(max-width: 480px) {
     
    .stores-list { margin-top: 35px; }
    .stores-list .grid-item .title { font-size: 26px; line-height: 28px; }
    .stores-list .grid-item .content { padding: 20px 10px 10px 10px; margin-top: 20px; }
    .stores-list .grid-item .content .col.left { padding-right: 0; }
    .stores-list .grid-item .content .col.right { margin-top: 35px; padding-top: 15px; } 
    .stores-list .grid-item .content .col .data a.button { padding: 10px 50px; }

}