/* Location Map */
.location-map-container {
    background: #b1c3d2;
    position: relative;
    max-width: 1274px;
    margin: auto;
}

.location-map .map-overlay {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background: rgba(26, 39, 50, 0.05);
    z-index: 10;
    display: none;
}

#location-map {
	height: 600px;
	width: 100%;
}

.location-map .cluster {
	font-size: 12px!important;
    font-weight: 700!important;
    font-family: 'Open Sans', sans-serif!important;
    line-height: 31px!important;
	letter-spacing: 0;
}

.office-results-container {
	background: #384a5a;
}

.display-offices-block {
	/* background:#1F2E3B;
	color: #fff; */
	padding: 70px 0 140px;
}

/* .display-offices-block * {
	color: #fff;
} */

.display-offices-block .block-title {
    text-align: center;
    font-size: 28px;
    margin-bottom: 60px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 2.4px;
}

.row.office-list {
	margin-right: -33px;
    margin-left: -33px;
}

.row.office-list .col-sm-6,
.row.office-list .col-xs-12 {
	padding-right: 33px;
    padding-left: 33px;
}

.office-list .office a {
    display: block;
    border-bottom: 1px solid #D7D7D7;
    position: relative;
    text-decoration: none;
    font-size: 15px;
    font-weight: 700;
    padding: 17px 30px 17px 0;
    color: #082543;
}

.office-list .office a:after {
    font-family: 'FontAwesome';
    font-size: 24px;
    font-weight: 400;
    content: '\f105';
    position: absolute;
    right: 10px;
    line-height: 1;
    top: 50%;
    margin-top: -12px;
}

.office-list .office a:hover {
    background: #082543;
    border-color: #082543;
    padding-left: 15px;
	color: #fff;
}

/* .office-list .office a:focus,
.office-list .office a:visited {
	color: #fff;
} */

.office-locator-container {
	width: 440px;
	position: absolute;
    top: 50px;
    right: 4%;
}

.office-locator {
    width: 430px;
    max-width: 100%;
    background: #ffffff;
    margin-bottom: 10px;
    border-radius: 2px;
    overflow: hidden;
}

.office-locator .top {
    background: #082543;
    text-align: center;
    padding: 18px;
}

.office-locator .top h3 {
	font-size: 20px;
	margin-bottom: 0;
}

.office-locator .top h3 .fa {
	font-size: 24px;
	margin-right: 30px;
	margin-left: -30px;
}

.office-locator .top * {
	color: #fff;
}

.office-locator .middle {
    padding: 30px 30px 40px;
    text-align: center;
    background: #EEF0EF;
}

.office-locator .postcode-search-form {
	display: inline-block;
    margin-top: 25px;
}

.office-locator .postcode-search-form .filter-input {
    float: left;
    width: 250px;
    padding-left: 20px;
    border-radius: 3px;
    margin-right: 20px;
    border: none;
    height: 45px;
}

.office-locator .postcode-search-form .filter-submit {
    display: inline-block;
    border: 1px solid #082543;
    background: none;
    color: #082543;
    width: 86px;
    height: 45px;
    padding: 10px;
    cursor: pointer;
    vertical-align: top;
    text-align: center;
    font-size: 14px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 1.34px;
}
.office-locator .postcode-search-form .filter-submit:hover {
    background: #082543;
    color: #fff;
}

.office-locator .use-my-location-btn {
	width: 278px;
	max-width: 100%;
	margin-top: 15px;
	padding: 12px 30px;
}

.office-locator .use-my-location-btn .fa {
	font-size: 14px;
    margin-right: 24px;
    margin-left: -24px;
}

.location-info-container {
	display: none;
}

.location-info-container {
	width: 440px;
	max-width: 100%;
    background: #ffffff;
    border: 1px solid #082543;
	margin-bottom: 10px;
}

.location-info-container .top {
	background: #f5f6f9;
    border-bottom: 1px solid #082543;
	display: flex;
    align-items: center;
    align-content: center;
	justify-content: space-between;
}

.location-info-container .office-title {
	margin: 0 0 0 36px;
    font-size: 17px;
    letter-spacing: 0.7px;
	position: relative;
	padding-left: 50px;
	line-height: 1.3;
}

.location-info-container .office-title .fa {
	border-right: 1px solid #082543;
    line-height: 1;
    font-size: 24px;
    padding-right: 15px;
    margin-right: 15px;
	position: absolute;
	left: 0;
}

.location-info-container .logo-container {
	width: 120px;
    text-align: center;
    background-color: #082543;;
    height: 75px;
}

.location-info-container .logo-container .logo {
	display: inline-block;
    background-image: url(../images/sprites/sprites-1.png);
    background-position: -0px -16px;
    background-repeat: no-repeat;
    width: 42px;
    height: 42px;
    background-size: 42px;
    margin: 15px;
}

.location-info-container .middle {
	padding: 25px 36px;
}

.location-info-container .buttons-container {
	margin-top: 30px;
}

.location-info-container .buttons-container .btn {
	margin-right: 15px;
	padding: 12px 30px;
    min-width: 170px;
    width: 100%;
    margin: 5px 0;
}
.location-info-container .buttons-container .btn:last-child {
	margin-right: 0;
}

.location-info-container .location-details .detail {
	margin-bottom: 10px;
	position: relative;
	padding-left: 50px;
}

.location-info-container .location-details .detail a,
.location-info-container .location-details .detail a:visited {
	color: #082543;
	text-decoration: none;
}

.location-list-query .result-list .item .fa,
.location-info-container .location-details .detail .fa {
	border-right: 1px solid #082543;
    line-height: 1;
    font-size: 16px;
    padding-right: 15px;
    margin-right: 15px;
	position: absolute;
	left: 0;
	min-width: 33px;
}

.location-info-container .location-details .detail.phone span {
	font-weight: 700;
}

.location-list-query {
    display: none;
    width: 430px;
    max-width: 100%;
    margin-bottom: 10px;
    background: #082543;
    color: #fff;
    padding: 25px 36px;
    border-radius: 2px;
}

.location-list-query * {
	color: #fff;
}

.location-list-query .result-list {
	margin-top: 10px;
	max-height: 125px;
	overflow-y: auto;
}

.location-list-query .result-list::-webkit-scrollbar {
    width: 6px;
}

.location-list-query .result-list::-webkit-scrollbar-track {
	background: #ffffff;
	border: 0px none #ffffff;
}

.location-list-query .result-list::-webkit-scrollbar-thumb {
	background: #63ceca;
	border: 0px none #ffffff;
	border-radius: 0px;
}

.location-list-query .result-list .item {
	margin-bottom: 5px;
	cursor: pointer;
	position: relative;
	padding-left: 45px;
}

.location-list-query .result-list .item .fa {
	border-color: #fff;
}

.loading-icon {
	display: inline-block;
	width: 16px;
	height: 16px;
	background-image: url(../images/loading.gif);
}

.postcode-search-form {
	position: relative;
}

.postcode-search-form .loading-icon {
	position: absolute;
	right: -30px;
	top: 50%;
	margin-top: -8px;
}

.location-info-container .back-btn {
	position: absolute;
	left: -44px;
	top: 0px;
	background: #082543;;
	color: #fff;
	width: 44px;
	height: 44px;
	cursor: pointer;
	text-align: center;
	line-height: 44px;
	font-size: 18px;
	cursor: pointer;
	transition: all .2s ease;
}


.location-info-container .back-btn:hover {
	background: #f7403a;
}

.search-box-desc {
    font-size: 14px;
    letter-spacing: 0;
}

@media only screen and ( max-width: 1024px ) {
    .office-locator-container {
		top: 30px;
		right: 2%;
		width: 400px;
	}
	
	.location-info-container .middle {
		padding: 25px 25px;
	}
	
	.location-info-container .office-title {
		margin-left: 25px;
	}
	
	.office-locator .top h3 {
		font-size: 16px;
	}
	
	.office-locator .top h3 .fa {
		margin-right: 15px;
		margin-left: 0;
	}
	
	.location-info-container .buttons-container {
		display: flex;
		justify-content: space-between;
	}
	
	.location-info-container .buttons-container .btn {
		min-width: initial;
	}
}

@media only screen and ( max-width: 1023px ) {
    .office-locator-container {
        top: 5px;
        right: 5px;
        width: initial;
    }

    .location-info-container .office-title {
        font-size: 15px;
    }

    .location-info-container .logo-container {
        width: 90px;
        height: 58px;
    }

    .location-info-container .logo-container .logo {
        background-position: -0px -9px;
        width: 24px;
        height: 24px;
        background-size: 24px;
        margin: 17px;
    }

    .location-info-container .middle {
        padding: 15px 20px;
    }

    .location-info-container .location-details .detail br {
        display: none;
    }

    .location-info-container .location-details .detail {
        font-size: 13px;
        letter-spacing: 0.8px;
        margin-bottom: 5px;
    }

    .location-info-container .buttons-container {
        margin-top: 20px;
    }
}

@media only screen and ( max-width: 767px ) {
    .location-map-container {
        display: flex;
        flex-direction: column; 
    }
    #location-map {
        order: 2;
        height: 400px;
    }
    .office-locator-container {
        top: 0;
        right: 0;
        width: 100%;
        position: relative;
        order: 1;
    }
    .location-info-container {
        width: 100%;
        margin: 0;
        border: none;
    }
    .location-info-container .back-btn {
        top: 0;
        left: initial;
        right: 0;
        z-index: 999;
        width: 53px;
        height: 53px;
        line-height: 53px;
        background-image: url(../images/close-blk.svg);
        background-size: 19px;
        background-color: transparent;
        background-position: center;
        background-repeat: no-repeat;
    }
    .location-info-container .back-btn .fa {
        display: none;
    }
    .office-locator {
        width: 100%;
        border: none;
        margin: 0;
    }

    .location-list-query {
        margin: 0;
        width: 100%;
    }

    .location-info-container .office-title .fa,
    .location-info-container .logo-container {
        display: none;
    }

    .location-info-container .top {
        background: #F0F2F5;
        border: none;
    }
    .location-info-container .office-title {
        font-size: 18px;
        padding: 15px 60px 15px 20px;
        width: 100%;
        margin: 0;
    }

    .location-info-container .buttons-container {
        display: block;
        margin-top: 30px;
    }
    .location-info-container .buttons-container .btn {
        width: 100%;
        margin: 5px 0;
    } 

    .location-list-query .result-list .item .fa,
    .location-info-container .location-details .detail .fa {
        border: none;
        padding-right: 0;
	    margin-right: 0;
    }

    .location-info-container .location-details .detail {
        padding-left: 30px;
    }

    .location-info-container .middle {
        padding: 20px 20px 30px;
    }

    .location-info-container .location-details .detail {
        margin-bottom: 10px;
        font-size: 14px;
        letter-spacing: 0;
    }
    
}

