:root{
	--vs-border-radius: 0px !important;
	--vs-controls-color: #000000 !important;
	--vs-border-color:  #664cc3 !important;
	--vs-border-width:0px !important;
	--vs-dropdown-bg: #ffffff !important;
	--vs-dropdown-color: #000000 !important;
	--vs-dropdown-option-color: #000000 !important;

	--vs-selected-bg: #664cc3 !important;
	--vs-selected-color: #000000 !important;

	--vs-search-input-color: #000000 !important;

	--vs-dropdown-option--active-bg: #664cc3 !important;
	--vs-dropdown-option--active-color: #eeeeee !important;
	--vs-actions-padding: 4px 20px 0px 3px !important;
}

.vs__dropdown-menu{
	width:auto !important;
	min-width:100% !important;
}

.v-select{
	box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.1);
	padding: 3px 0px !important;
	background-color:#fff;
}

.vs__selected{
	padding: 0 20px !important;
}

.vs__search{
	padding: 0 20px !important;
	font-size:18px !important;
}

.vs__selected-options{
	flex-wrap:nowrap !important;
}

.integratorsOnMap{
	font-family:"DINPro";
	font-weight:400;
	font-size:18px;
	background:#F9FAFC;
	padding:170px 10vw 195px;
}

.integratorsOnMap *{
	line-height:1.3;
	box-sizing:border-box;
	font-family:"DINPro";
	font-weight:400;
	margin:0;
	padding:0;
}


.integratorsOnMapFilterTypeEl input{
	display:none;
}

.integratorsOnMapFilterTypeEl input+label{
	padding-left:30px;
	display: block;
	position:relative;
	min-height:22px;
	cursor:pointer;
}

.integratorsOnMapFilterTypeEl input+label::before{
	content:'';
	width:20px;
	height:20px;
	position:absolute;
	left:0;
	top:2px;
	border: 2px solid #999;
}

.integratorsOnMapFilterTypeEl input:checked+label::before{
	visibility:hidden;
	opacity:0;
}

.integratorsOnMapFilterTypeEl input+label::after{
	content:'';
	width:20px;
	height:20px;
	position:absolute;
	left:0;
	top:2px;
	background:url("./media/check.svg") center center no-repeat;	
	background-size:contain;
	visibility:hidden;
	opacity:0;
}

.integratorsOnMapFilterTypeEl input:checked+label::after{
	visibility:visible;
	opacity:1;
}

.integratorsOnMapFilterTypeEl input+label span{
	width:17px;
	height:17px;
	background:url("./media/i.svg") center center no-repeat;
	display:inline-block;
	background-size:contain;
	position:relative;
	vertical-align: middle;
	z-index:1;
}


.integratorsOnMapFilterTypeElHint{
	width:210px;
	position:absolute;
	display:none;
	bottom:calc(100% + 15px);
	right:50%;
	margin-right:-105px;
	padding:10px;
	color:#0057B7;
	background:#fff;
	font-size:14px;
	box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.1);
}

.integratorsOnMapFilterTypeElHint::after{
	content:"";
	position:absolute;
	bottom:-10px;
	left:50%;
	margin-left:-10px;
	width: 0;
	height: 0;
	border-left: 10px solid transparent;
	border-right: 10px solid transparent;
	border-top: 10px solid #fff; 
}

.integratorsOnMapFilterTypeElHint::before {
	content: '';
	bottom:-13px;
	left:50%;
	margin-left:-10px;
	width: 0;
	height: 0;
	border-left: 10px solid transparent;
	border-right: 10px solid transparent;
	border-top: 10px solid rgba(0, 0, 0, 0.1);
	z-index: -1;
    filter: blur(4px);
    position: absolute;
}

.integratorsOnMapFilterTypeEl input+label span:hover .integratorsOnMapFilterTypeElHint{
	display:block;
}

.integratorsOnMapIn{
	
}

.integratorsOnMapFilterType{
	margin-top:40px;
	display:grid;
	gap:20px 24px;
	grid-template-columns: repeat(2, 1fr);
}

.integratorsOnMapFilterSubmit{
	margin-top:70px;
	display:grid;
	gap:24px;
	grid-template-columns: repeat(2, 1fr);
}

.integratorsOnMapFilterResult{
	font-size: 18px;
	color: #66788a;
	display: flex;
    align-items: center;
}

.integratorsOnMapFilterSubmit input{
	background: #0079ff;
	border:none;
	font-size: 21px;
	text-align: center;
	color: #fff;
	height:60px;
}


.integratorsOnMapFilterSubmit input:hover{
	background:#0057B7;	
}




.integratorsOnMapTitle{
	font-weight: 500;
	font-size: 40px;
	color: #000;
}

.integratorsOnMapDesc{
	margin-top:20px;
	display:grid;
	gap:24px;
	grid-template-columns: repeat(2, 1fr);
}

.integratorsOnMapFilter{
	margin-top:40px;
	display:grid;
	gap:24px;
	grid-template-columns: repeat(2, 1fr);
}

#map{
	min-height:330px;
	height:100%;
	width:100%;
}


#map svg{
	width:100% !important;
	height:100% !important;
}

.integratorsOnMapFilterRegions{
	display:grid;
	gap:24px;
	grid-template-columns: repeat(2, 1fr);
}

.integratorsOnMapContent{
	margin-top:100px;
}

.integratorsOnMapContentTitle{
	font-weight: 500;
	font-size: 32px;
	color: #000;
}

.integratorsOnMapContentIn{
	margin-top:40px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
	gap:24px;
}

.integratorsOnMapContentEl{
	box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.1);
	background: #fff;
	padding:20px;
	display:flex;
	flex-direction:column;
	justify-content:space-between;
	width:100%;
}

.integratorsOnMapContentElName{
	font-weight: 500;
	font-size: 21px;
	color: #000;
	min-height:60px;
}

.integratorsOnMapContentElContainer{
	margin-top:20px;
}

.integratorsOnMapContentElDesc{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
	gap:0px 20px;
}

.integratorsOnMapContentElDescT{
	font-size: 14px;
	color: #66788a;
}

.integratorsOnMapContentElDescC{
	font-size: 14px;
	overflow-wrap: break-word;
	word-break: break-word;
}

.integratorsOnMapContentPC{
	margin-top:20px;
	gap:10px;
	display:flex;
	flex-direction:column;
	width:100%;
}

.integratorsOnMapContentPCIn{
	border-radius: 5px;
	background:#eee;
}

.integratorsOnMapContentPCLabel{
	font-size:16px;
	cursor:pointer;
	position:relative;
	padding:10px 20px;
}

.integratorsOnMapContentPCLabel::after{
	content:"";
	position:absolute;
	right:20px;
	top:50%;
	margin-top:-5px;
	width:10px;
	height:6px;
	background:url("./media/arr.svg") center center no-repeat;
}

.integratorsOnMapContentPCIn.act .integratorsOnMapContentPCLabel::after{
	transform:rotate(180deg);
}

.integratorsOnMapContentPCContent{
	font-size:14px;
	padding:0px 20px 10px;
}

.integratorsOnMapContentPCContent ul{
	list-style: none;
}

.integratorsOnMapContentCertifications ul li{
	position: relative;
	padding-left: 15px;
}

.integratorsOnMapContentCertifications ul li::before {
  content: "•";
  position: absolute;
  left: 0;
}

.integratorsOnMapContentPCContent{
	display:none;
	height:102px;
}

.integratorsOnMapContentPCIn.act .integratorsOnMapContentPCContent{
	display:block;
}

.integratorsOnMapContentTitleCountry{
    display: flex;
    align-items: center;
}

.integratorsOnMapContentTitleCountry span{
	margin-right:40px;
}

@media (min-width:1280px) and (max-width:1439px) {
	.integratorsOnMapFilterRegions{
		grid-template-columns: repeat(1, 1fr);
		gap:20px;
	}
	
	.integratorsOnMapFilterType{
		gap:20px;
		grid-template-columns: repeat(1, 1fr);
	}
	
	.integratorsOnMapFilterSubmit{
		gap:20px;
		margin-top:40px;
		grid-template-columns: repeat(1, 1fr);
	}
	
	.integratorsOnMapContentIn{
		grid-template-columns: repeat(3, 1fr);
	}
	
}

@media (min-width:1024px) and (max-width:1279px) {
	.integratorsOnMapContentIn{
		grid-template-columns: repeat(2, 1fr);
		gap:16px;
	}
	
	.integratorsOnMapTitle{
		font-size:32px;
	}
	
	.integratorsOnMapDesc{
		gap: 24px;
		grid-template-columns: repeat(1, 1fr);
	}
	
	.integratorsOnMapFilter{
		gap: 40px;
		grid-template-columns: repeat(1, 1fr);
	}
	
	.integratorsOnMapFilterEl:nth-child(1){
		order:2;
	}
	
	.integratorsOnMapFilterEl:nth-child(2){
		order:1;
	}
}

@media (min-width:0px) and (max-width:1023px) {
	
	.integratorsOnMap{
		font-size:16px;
	}
	
	.vs__search{
		font-size:16px !important;
	}
	
	.integratorsOnMapContentIn{
		grid-template-columns: repeat(1, 1fr);
		gap:30px;
	}
	
	.integratorsOnMapTitle{
		font-size:24px;
		text-align:center;
	}
	
	.integratorsOnMapDesc{
		gap: 24px;
		grid-template-columns: repeat(1, 1fr);
		font-size:16px;
		text-align:center;
	}
	
	.integratorsOnMapFilter{
		gap: 40px;
		margin-top:20px;
		grid-template-columns: repeat(1, 1fr);
	}
	
	.integratorsOnMapFilterEl:nth-child(1){
		order:2;
	}
	
	.integratorsOnMapFilterEl:nth-child(2){
		order:1;
	}
	
	.integratorsOnMapFilterType{
		gap: 20px;
		grid-template-columns: repeat(1, 1fr);
	}
	
	.integratorsOnMapFilterRegions{
		gap: 20px;
		grid-template-columns: repeat(1, 1fr);
	}
	
	.integratorsOnMapFilterSubmit{
		margin-top: 50px;
		gap: 24px;
		grid-template-columns: repeat(1, 1fr);
	}
	
	#map{
		min-height:260px;
	}
	
	.integratorsOnMapFilterSubmit input{
		max-width:320px;
	}
	
	.integratorsOnMapFilterResult{
        text-align: center;
        font-size: 16px;
        max-width: 320px;
        width: 100%;
		justify-content: center;
	}
	.integratorsOnMapFilterTypeEl input+label span{
		display:none;
	}
}