@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,wght@0,400;0,500;0,700;1,400;1,500;1,700&display=swap');

.wdiv,
.wdivResultsPanel {  
  font-family: 'DM Sans', Verdana, Arial, sans-serif;
}

.wdiv h2, .wdiv h3 {
  color: #001e62;
  font-weight: 700;
}

.wdivResultsPanel{
  background: #f5f5f5;
  padding: 10px 15px;
}

.wdivAdvancedPollHeading h3{
  font-size: 30px;
}

.wdivAdvancedPollHeading h4 {
  font-size: 24px;
  color: black;
  display: inline-block;
  margin-right: 10px;
}

.wdivElectionDayPollHeading h3 {
  font-size: 30px;
  margin-top: 50px;
}

.wdivWhereToVoteHeading h2{
  color: #001e62;
  font-weight: 700;
  font-size: 36px;
}

.wdivPollDetailsAddress{
  font-size: 20px;
  color: #001e62;
  line-height: 26px;
}

.wdivPollDetailsMaskRequired {
  color: #d42828;
  font-size: 14px;
  font-family: 'DM Sans', Verdana, Arial, sans-serif;
  margin-bottom: 20px;
  font-weight: 700;  
  line-height: 20px;
}

.wdivPollDetailsMaskRequired img {
  margin-left: 5px;
}

.wdivVoterAddressInfo, .wdivConstituencyInfo {
  margin-top: 20px; 
  font-size: 16px;
  line-height: 22px;
  color: black;
  font-weight: 500;
}

.wdivVoterAddressInfo > div:first-child {
  margin-bottom: 20px;
}

#wdivElectionDayDates{
  color: #001e62;
}

.wdivAlertDistance {
    background-color: #cedc00;
    box-shadow: 0 4px 6px 0 rgba(0, 0, 0, 0.16);
}

.wdivPoll {
  /* width: 20%; */
}

.wdivPollRow {
  /* display: flex; */
}

.wdivPollDate {
  font-weight: 900;
  font-size: 13px;
  text-transform: uppercase;
  height: 175px;
  padding-top: 65px;
}

.wdivAdvancedPoll .wdivPollDate {
  background-color: #e5e6da;
  color: #001e62;
}

.wdivActivePoll.wdivAdvancedPoll .wdivPollDate {
  background-color: #cedc00;
}

.wdivActivePoll .wdivPollDate {
  height: 260px;
  padding-top: 115px;
}

.wdivElectionDayPoll .wdivPollDate {
  background-color: #001e62;
  color: white;  
}

.wdivPollDetailsMap {
  padding-bottom: 10px;
  border-bottom: 1px solid #dddddd;
  color: #0978bd;
  font-size: 16px;
  display: inline-block;
}

.wdivPollDetailsMap ol {
  color: black;
}

.wdivPollDetailsMap a i {
  margin-left: 5px;
  margin-right: 10px;
  color: #0978bd;
}

.wdivPollDetails {
  color: black;
  background: #fff;
  padding: 25px 0;
  margin-bottom: 10px;
  border-radius: 3px;
  border: 1px solid #e5e6da;
  position: relative;
}

.wdivPollDetails .col-xs-11 {
  padding-left: 15px; 
}

.wdivPollDetails.nearest {
  border: 1px solid #4698cb;
}

.wdivPollDetails .row .col-md-1 {
  /* text-align: right; */
}

#electionWeekPolls .col-md-9 .row:last-child .wdivPollDetails {
  margin-bottom: 0px;
}

.wdivPollDetailsName {
  font-size: 24px;
  font-weight: 500;
  line-height: 25px;
  letter-spacing: 0.48px;
  color: #001e62;
}

.wdivPollDetailsAddress {
  font-size: 20px;
  line-height: 25px;
  letter-spacing: 0.4px;
  color: #001e62;
}

.wdivPollDetailsLocationPin {
  font-size: 42px;
  color: #e5e6da;
  margin-left: 10px;
}

.wdivPollDetails.nearest .wdivPollDetailsLocationPin {
  color: #4698cb;
}

.wdivPollDetailsAccessibilityIcon {
  font-size: 24px;
  font-weight: bold;
  color: #0978bd;
  position: absolute;
  bottom: 25px;
  right: 25px;
}

.externalMaps {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
}

.externalMaps a {
  margin-right: 25px;
}

.wdivPollDescription {
  border-radius: 3px;
  padding: 8px 10px;
  margin-top: 10px;
}

.wdivPollDescription p {
  margin: 0;
}

#electionWeekPolls h2 {
  font-family: 'DM Sans', Verdana, Arial, sans-serif;
  font-size: 30px;
  font-weight: 500;
}

#electionWeekPolls h3 {
  font-family: 'DM Sans', Verdana, Arial, sans-serif;
  font-size: 20px;
  font-weight: normal;
  margin-bottom: 40px;
}

#electionWeekPolls .wdivPollDescription.active {
  background-color: #cedc00;
}

#electionWeekPolls .col-md-3 {
  margin: 15px;
  padding-bottom: 10px;
  border-radius: 3px;
  border: 1px solid #e5e6da;
  background-color: #fff;
}

.wdivPollDescriptionDate {
  font-size: 20px;
  font-weight: 500;
}

#electionWeekPolls .wdivPollDescriptionDate,
#electionWeekPolls .wdivPollDescriptionTime {
  color: #001e62;
}

#electionDayPolls .wdivPollDescription,
#electionDayPolls .wdivPollDescriptionTime {
  color: #fff;
}

#electionDayPolls .col-md-3 {
  border-radius: 3px;
}

#electionDayPolls .wdivPollDetails {
  border: 1px solid #001e62;
  margin-top: 15px;
  margin-bottom: 80px;
}

#electionDayPolls .wdivPollDescription {
  border-radius: 3px;
  background-color: #001e62;
}

#electionDayPolls .wdivPollDetails .wdivPollDetailsLocationPin{
  color: #001e62;
}

.wdivPollDescriptionTime{
  font-size: 16px;
  color: #001e62;
}

.wdivPollDetails h4{
  font-size:24px;
}

.wdivPollDetailsPin img {
  width: 22px;  
  margin-top: 10px;
  margin-right: 10px;
}

.wdivPollDetailsText {
  margin-left: -32px;
  padding-left: 32px;
  width: 100%;
}

.wdivPollDetailsAddress{
  margin-bottom: 20px;
  margin-top: 7px;
}

.wdivPollDetailsMap br {
  line-height: 5px;
}

.wdivPollDetailsDirections{
  color: #0978bd;
}

.wdivPollDetailsDirections button {
  font-size: 16px;
}

.wdivPollDescriptionDOW {
  font-weight: 900;
  color: #001e62;
  margin-top: 20px;
  margin-bottom: 5px;
  font-size: 20px;
  line-height: 20px;
}

.wdivAdvancedPoll, .wdivElectionDayPoll {
  box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.13);
  background-color: #ffffff;
  margin-top: 20px;
  margin-bottom: 20px;
}

.wdivPollDetailsShowOnMap .fa {
  font-size: 16px;
  color: #0978bd;
}

.wdivPollDescriptionATC > div, .wdivPollDescriptionATC > div:hover, .wdivPollDescriptionATC > div:active,
.wdivPollDetailsShowOnMap button {
  color: #0978bd !important;
  font-size: 12px;  
  margin-top: 20px;
  font-weight: 500;
  margin-bottom: 20px;
  border-radius: 0;
  border: 1px solid #0978bd;
  margin-right: 30px;
  padding: 10px 15px;
  background-color: white;
  box-shadow: none !important;
}

.wdivPollDetailsShowOnMap button i {
  font-size: 16px;
  margin-right: 5px;
}

.wdivPollDescriptionATC > div:hover,
.wdivPollDetailsShowOnMap button:hover {
  border-color: #001e62;
  color: #001e62 !important;
}

.wdivPollDescriptionATC svg {
  margin-top: -5px;
  margin-right: 5px;
  fill: #0978bd;
  height: 14px;
}

.wdivPollDescriptionATC > div:hover svg {
  fill: #001e62;
}

.lastDayHeading {
  font-size: 20px;
  line-height: 25px;
  letter-spacing: 0.4px;
  margin-top: 30px;
  margin-bottom: 40px;
  color: #001e62;
  padding: 0 15px;
}

.addeventatc_icon {
  display: none;
}

.wdivPollDetailsDirections button {
  padding-left: 0;
  border: none;
}

.wdivPollDetailsDirections button img {
  margin-top: -2px;
}

.wdivPollDetailsDirections li, .wdivPollDetailsDirections div {
  color: black;
}

.wdivPollDescriptionWaitTime {
  margin-top: 22px;
}

.wdivPollDescriptionWaitTime i {
  margin-right: 6px;
}

.wdivPollDescriptionWaitTimeText {
  margin-left: -32px;
  padding-left: 32px;
  width: 100%;
  margin-top: 2px;
}

.wdivPollDescriptionWaitTimeReported {
  font-size: 16px;
  line-height: 20px;
  font-weight: 700;
  margin-bottom: 10px;
}

.wdivPollDescriptionWaitTimeReported label {
  font-weight: 500;
}

.wdivPollDescriptionWaitTimeLastUpdated, .wdivPollDescriptionWaitTimeLastUpdated label {
  font-size: 14px;
  line-height: 14px;
  font-weight: 500;
}

.wdivVoterId {
  background-color: #1486cc;
}

.wdivVoterId h2 {
  color: white;
  font-size: 20px;
  padding: 25px 15px;
  margin: 0;
}

.wdivAlert {
  color: #001e62;
  padding: 20px 0;
  font-size: 16px;
  margin-top: 20px;
}

.wdivInvalidAddressAlert, .wdivDistanceAlert {
  background-color: #d42828;
  color: white;
}

.wdivValidAddressAlert {
  background-color: #cedc00;
}

.wdivDropPinAlert {
  color: #001e62;
  font-size: 20px;
}

.wdivDropPinAlert img {
  width: 28px;
}

[v-cloak] {
  display: none;
}

.wdivSearchWrapper {  
  background-color: #f5f5f5;
}

.wdivSearch {
  color: #707070;
  padding: 5px 15px;
}

.wdivSearch input {
  border: 1px solid #e9e9e9;
  background-color: white;
  padding: 14px 10px;
  margin: 22px 0;
  width: 100%;
  z-index: 100;
  position: relative;
}

.wdivSearch input:active, .wdivSearch input:focus {
  border-color: #0978bd;
}

.wdiv button:active, .wdiv button:focus,
.wdiv input:active, .wdiv input:focus,
.wdiv a:active, .wdiv a:focus {  
  outline: none;
}

.wdivSearchInputWrapper {
  position: relative;  
  width: 100%;
}

.wdivSearchInputWrapper button.clearSearch {
  position: absolute;
  right: 0;
  top: 24px;
  font-size: 24px;
  color: #cbcfd2;
  background-color: transparent;
  z-index: 101;
}

.wdivSearchInputWrapper button {
  position: absolute;
  right: 0;
  top: 24px;
  z-index: 101;
}

.wdivSearchButton {
  background-color: #1486cc;
  color: white;
  padding: 5px 70px;
  font-size: 18px;
  font-family: 'DM Sans', Verdana, Arial, sans-serif;
  border: none;
  width: 100%;
}

.wdivSearchReminder {
  padding-top: 7px;
  margin-bottom: 20px;
}

.wdivGreenBullet {
  width: 30px;
  height: 30px;
  background-color: #cedc00;
  border-radius: 15px;
  font-size: 16px;
  font-family: 'DM Sans', Verdana, Arial, sans-serif;
  color: #001e62;
  text-align: center;
  padding-top: 3px;
  margin-right: 10px;
}

.wdivSearchDescription {
  font-size: 18px;
  line-height: 26px;
  color: #000000;
}

.wdivSearchDescription em {
  font-size: 13px;
  line-height: 20px;
  font-weight: 300;
  color: #333333;
  display: block;
  margin-bottom: 20px;
}

.wdivSearchDescription h3 {
  margin-bottom: 15px;
  font-size: 30px;
}

.wdivSearchDescriptionText {
  margin-bottom: 30px;
  margin-left: -40px;
  padding-left: 40px;
  width: 100%;
}

#geolocateButton, #geolocateButton:active, #geolocateButton:focus {
  /*border: 1px solid #707070;*/
  background: transparent;
  font-size: 16px;
  color: #0978bd;
  padding-left: 0px;
  box-shadow: none;
  outline: none;
}

#geolocateButton i {
  margin-right: 5px;
}

#autocomplete{
	position:absolute;
	z-index:10;
}
#autocomplete div{
	background-color:white;
	border:1px solid #808080;
	padding:3px;
}

#autocomplete select{
	overflow:hidden;
}

ul#autocompleteSelect{
	list-style-type:none;
	border:1px solid #A0A0A0;
	padding-left:0px;
	width: 100%;
}

ul#autocompleteSelect li{
	text-decoration:none;
	border-bottom: 1px solid #B0B0B0;
	background-color:white;
	padding: 8px 5px;
	overflow:hidden;
}

ul#autocompleteSelect li.active{
	background-color: #D0D0D0;
}

ul#autocompleteSelect li:hover {
	cursor:pointer;
}

ul#autocompleteSelect li:last-child{
	border-bottom: none;
}

#arrow {
  position: absolute;
  left: -55px;
  top: 22px;
}

.wdivSpecialContainer {
  padding-left: 0;
  padding-right: 0;
}

#map {
  height: 300px;
  width: 100%;
}

.wdivDropPinAlert .col-xs-11 {
  margin-top: 5px;
}

.wdivPollDescriptionATC.text-right {
  text-align: left;
}

.flex-switch {
  display: flex;
  flex-direction: column-reverse;
}

.wdivResultsLink {
  font-size: 13px;
  background: transparent;
  border: none;
  color: #0978bd;
}

.wdivResultsLink i {
  margin-left: 3px;
}

.wdivStartNewSearch {
  /* margin-top: 35px; */
}

.wdivStartNewSearch button {
  padding: 0;
}

.wdivReminder {
  color: #707070;
  font-size: 16px;
  margin-top: 20px;
  margin-bottom: 50px;
}

.wdivAllPollsLink {
  display: inline-block;
  margin-top: 5px;
}

.wdivPollDetailsChanged {
  color: #cedc00;
  background-color: #001e62;
  border-radius: 3px;
  padding: 19px;
  font-size: 18px;
  line-height: 23px;
  margin-bottom: 20px;
  font-weight: 700;
}

.wdivPollDetailsChangedPin {
  width: 30px;
  margin-top: 8px;
}

.wdivPollDetailsChangedDescription {
  margin-left: -30px;
  padding-left: 30px;
  width: 100%;
}

.pill {
  display: inline-block;
  padding: 1px 10px; 
  border-radius: 999px; 
  font-size: 14px;
  font-weight: bold;
  color: #001e62;
  background-color: #cedc00;
  text-align: center; 
  margin-bottom: 5px;
}

@media (min-width: 768px) {
  .wdivSearchInputWrapper {
    max-width: 310px;
  }
  #map {
    height: 435px;
  }
  .wdivSearch {
    padding: 5px 0 5px 15px;
  }
  .wdivResultsLink {
    font-size: 18px;
  }
  .wdivPollDescriptionATC > div, .wdivPollDescriptionATC > div:hover, .wdivPollDescriptionATC > div:active,
  .wdivPollDetailsShowOnMap button {
    font-size: 18px;
  }
  .wdivPollDetailsShowOnMap button i {
    font-size: 24px;
  }
  .wdivPollDescriptionATC svg {
    height: 20px;
  }
  .externalMaps {
    justify-content: flex-end;
  }
  .wdivPollDetails .col-xs-11 {
    padding: 0; 
  }
  .wdivPollDetailsAccessibilityIcon {
    bottom: 0;
    right: 25px;
    top: 25px;
  }
}

@media (min-width: 992px) {
  .wdivWhereToVoteHeading h2 {
    font-size: 42px;
  }
  .wdivSearch{
    padding: 20px 0 20px 40px;
  }
  .wdivSearchInputWrapper {
    max-width: 445px;
  }
  #map {
    height: 425px;
  }
  .wdivSearchButton {
    margin-top: 23px;
    margin-left: 10px;
    padding: 12px 30px 11px 30px;
  }
  .wdivVoterAddressInfo, .wdivConstituencyInfo {
    font-size: 20px;
    line-height: 26px;
  }
  .wdivVoterId h2 {
    font-size: 26px;
  }
  .wdivSearchButton {
    width: auto;
  }
  .wdivResultsPanel{
    padding: 20px 40px;
  }
  .wdivPollDescription {
    padding: 20px 10px;
  }
  .wdivPollDetailsLocationPin {
    margin-left: 15px;
  }
  #electionWeekPolls .col-md-3 {
    margin: 0;
  }
  #electionDayPolls .col-md-3 {
    background-color: #001e62;
  }
  #electionDayPolls .wdivPollDetails {
    border: 1px solid #001e62;
    margin: 0;
  }
  .row.equal-height {
    display: flex;
    display: -webkit-flex;
    flex-wrap: wrap;
  }
}

@media (min-width: 1394px) {
  #map {
    height: 375px;
  }
  .wdivResultsPanel{
    padding: 20px 63px;
  }
  .wdivSearch {
    padding: 43px 0 0 63px;
  }
  .wdivSearchAreaWithArrow {
    margin-left: 0;
  }
  .wdivDropPinAlert {
    font-size: 24px;
  }
  .wdivPollDate {
    font-size: 18px;
    height: 130px;
    padding-top: 40px;
  }  
  .wdivActivePoll .wdivPollDate {
    height: 190px;
    padding-top: 70px;
  }
  .wdivPollDescriptionATC.text-right {
    text-align: right;
  }
  .wdivPollDescriptionDOW {
    margin-top: 30px;
    margin-bottom: 15px;
    font-size: 24px;
    line-height: 24px;
  }
  .wdivPollDescriptionATC > div, .wdivPollDescriptionATC > div:hover, .wdivPollDescriptionATC > div:active {
    margin-top: 30px;
    font-size: 18px;
  }
  .wdivVoterId h2 {
    font-size: 30px;
  }
  .wdivPollDetailsLocationPin {
    margin-left: 25px;
  }
}
