/**
 *  Module made by Nukium
 *
 *  @author    Nukium
 *  @copyright 2022 Nukium SAS
 *  @license   All rights reserved
 *
 * ███    ██ ██    ██ ██   ██ ██ ██    ██ ███    ███
 * ████   ██ ██    ██ ██  ██  ██ ██    ██ ████  ████
 * ██ ██  ██ ██    ██ █████   ██ ██    ██ ██ ████ ██
 * ██  ██ ██ ██    ██ ██  ██  ██ ██    ██ ██  ██  ██
 * ██   ████  ██████  ██   ██ ██  ██████  ██      ██
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 * THE SOFTWARE.
 */
.delivery-option {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: auto;
}

.delivery-option img {
    height: auto;
    max-width: 100%;
}

body#checkout section.checkout-step .delivery-options>.row.carrier-extra-content-gls {
    border-right: none;
}

.gls-container {
    padding-bottom: 15px;
}

.gls-container .row {
    margin-left: -15px;
    margin-right: -15px;
}

.carrier-extra-content-gls,
.gls-container,
.gls-container .row > [class*="col-"] {
    padding-left: 15px;
    padding-right: 15px;
}

.gls-container .input-group {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    position: relative;
    width: 100%;
}

.gls-container .input-group-addon,
.gls-container .input-group-append {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: auto;
}

.gls-container .input-group > .form-control {
    -webkit-box-flex: 1;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    margin-bottom: 0;
    position: relative;
    width: 1%;
}

.gls-mobile .form-control-label {
    padding-top: 0;
    text-align: left;
}

.gls-mobile .input-group-addon {
    padding: 0.3rem 0.5rem;
}

.gls-mobile .input-group-addon,
.gls-mobile .form-control {
    border-style: solid;
    border-width: 1px;
}

.gls-mobile .input-group-addon:not(:last-child) {
    border-right: 0;
}

.gls-mobile .form-control-danger,
.gls-mobile .form-control-success {
    background-position: center right .625rem;
    background-repeat: no-repeat;
    background-size: 1.25rem 1.25rem;
    padding-right: 2.25rem;
}

.gls-heading,
.gls-search {
    padding: 1rem;
}

.gls-sub-heading {
    font-size: 80%;
    font-weight: 400;
    margin: 0.5rem 0 0 0;
}

.gls-sub-heading ul {
    list-style-type: disc;
    margin: 0;
    padding-left: 1.5rem;
}

.gls-search {
    margin-bottom: 1rem;
}

#gls-search-form {
    margin-top: 1rem;
}

#gls-search-form .input-group {
    column-gap: 2px;
}

#gls-search-form .input-group > input[name="gls_search_postcode"] {
    flex: 0 1 40%;
}

#gls-search-form .gls-search-relay {
	margin-top: 2px;
}

#gls-search-form .gls-search-relay > i {
	overflow: hidden;
}

#gls-search-form .gls-search-relay > i:before {
	margin-right: 10px;
}

.gls-relay-list .col-select-relay {
    text-align: center;
}

.gls-relay-list .card-title {
    margin-bottom: 0.25rem;
}

.gls-relay-list .card-body {
    line-height: 1.5;
    padding: 0.5rem 0.75rem;
}

.gls-relay-infos label,
.gls-relay-infos .gls-relay-distance {
    font-size: 0.8rem;
}

.gls-relay-infos label {
    clear: none;
    margin: 0;
    text-align: inherit;
}

#gls-map {
    height: 400px;
    width: 100%;
}

.leaflet-container .leaflet-marker-pane .gls-marker-wrapper {
    height: 100%;
    position: relative;
    width: 100%;
}

.leaflet-container .leaflet-marker-pane .gls-marker-wrapper:before {
    color: #ffd100;
    content: attr(data-marker-id);
    display: block;
    font-weight: 600;
    height: 16px;
    line-height: 16px;
    margin-top: -5px;
    position: absolute; left: 50%; top: 50%;
    text-align: center;
    -webkit-transform: translate(-50%,-50%);
    -moz-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
    width: 16px;
    z-index: 1;
}

.gls-relay-info-open-hours {
    margin: 0 -0.5rem;
    width: 100%;
}

.page-order .gls-relay-info-open-hours th,
.page-order .gls-relay-info-open-hours td {
    padding: 0.3rem 0.5rem;
}

.gls-relay-info-open-hours th {
    font-weight: 400;
    vertical-align: top;
}

.gls-relay-info-open-hours td {
    white-space: nowrap;
}

.gls-relay-info-open-hours .today th,
.gls-relay-info-open-hours .today td {
    font-weight: 600;
}

.alert-danger > .alert-text {
    margin-left: 1rem;
}


/* Begin Loader part */

#gls-relay-container {
    min-height: 400px;
    position: relative;
}

.gls-france-loader-wrapper {
    background-color: rgba(255, 255, 255, 0.6);
    height: 100%;
    position: absolute; left: 0; top: 0;
    width: 100%;
    z-index: 524288;
}

.gls-france-loader-wrapper svg {
    position: absolute; left: 50%; top: 50%;
    transform: translate(-50%, -50%);
}

.gls-france-loader-wrapper svg circle {
    animation: gls-france-loader-keyframes 2s linear infinite;
    fill: transparent;
    stroke: #061ab1;
    stroke-dasharray: 125;
    stroke-linecap: round;
    stroke-width: 4;
    transform-origin: 20px 20px 0;
}

@keyframes gls-france-loader-keyframes {
    0% {
        stroke-dashoffset: 26.4;
        transform: rotate(0deg);
    }
    50% {
        stroke-dashoffset: 125.6;
        transform: rotate(720deg);
    }
    100% {
        stroke-dashoffset: 26.4;
        transform: rotate(1080deg);
    }
}

/* End loader part */

@media (max-width: 576px) {

    .gls-search-relay .search {
        margin-right: 0;
    }

    .gls-search-relay .btn-text {
        display: none;
    }

}

@media (min-width: 576px) and (max-width: 1199px) {

    .gls-relay-infos .gls-relay-distance {
        text-align: right;
    }

}

@media (min-width: 1200px) {

    .gls-relay-list {
        overflow-y: auto;
        max-height: 400px;
    }

}