.debug * {
    outline: 1px solid red
}

html,
body {
    margin: 0;
    padding: 0
}

@font-face {
    font-family: 'Proxima Nova';
    src: url(fonts/ProximaNova-Regular.eot);
    src: url("fonts/ProximaNova-Regular.eot?#iefix") format("embedded-opentype"), url(fonts/ProximaNova-Regular.woff) format("woff"), url(fonts/ProximaNova-Regular.ttf) format("truetype");
    font-weight: 500
}

@font-face {
    font-family: 'Proxima Nova';
    src: url(fonts/ProximaNova-Bold.eot);
    src: url("fonts/ProximaNova-Bold.eot?#iefix") format("embedded-opentype"), url(fonts/ProximaNova-Bold.woff) format("woff"), url(fonts/ProximaNova-Bold.ttf) format("truetype");
    font-weight: 700
}

*,
*:before,
*:after {
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

html {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-tap-highlight-color: transparent;
    -webkit-touch-callout: none;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
    -ms-overflow-style: -ms-autohiding-scrollbar;
    text-rendering: optimizeLegibility;
    -webkit-overflow-scrolling: none;
    min-height: 100%
}

html,
body {
    height: 100%;
    max-height: 100%;
    background-color: #F9FAF9;
    font-size: 16px;
    font-family: 'Proxima Nova', Helvetica, Arial, sans-serif;
    line-height: 1.5;
    font-weight: 500
}

button,
input,
select,
textarea {
    line-height: inherit;
    padding: 0
}

input,
button {
    border: 0
}

input:focus,
button:focus {
    outline: 0 none
}

ul,
ol {
    margin: 0;
    padding: 0
}

a,
a:hover {
    text-decoration: none
}

a:focus {
    outline: 0 none
}

p {
    margin-top: 0
}

h1,
h2,
h3,
h4,
h5,
h6 {
    margin: 0
}

ul,
ol {
    list-style: none;
    margin: 0;
    padding: 0
}

img {
    max-width: 100%;
    height: auto;
    margin: 0
}

button,
[type="button"],
[type="reset"],
[type="submit"],
[type="text"],
[type="search"] {
    -webkit-appearance: none
}

input,
button {
    border-radius: 0;
    -webkit-appearance: none;
    padding: 0
}

.cf:before,
.cf:after {
    content: " ";
    display: table
}

.cf:after {
    clear: both
}

.cf {
    *zoom: 1
}

.btn {
    display: inline-block;
    cursor: pointer;
    line-height: 1.25;
    text-align: center;
    white-space: nowrap;
    vertical-align: middle;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-transition: all 0.35s cubic-bezier(.16, 0, 0, .24);
    transition: all 0.35s cubic-bezier(.16, 0, 0, .24);
    text-transform: uppercase
}

.btn-menu {
    background-color: #fff;
    border: 0 none;
    width: 52px;
    height: 52px;
    display: block;
    text-align: center;
    line-height: 52px;
    position: fixed;
    z-index: 25;
    padding: 0;
    -webkit-transition: all 0.35s cubic-bezier(.16, 0, 0, .24);
    transition: all 0.35s cubic-bezier(.16, 0, 0, .24)
}

.btn-menu svg {
    width: 100%;
    height: 100%
}

.btn-menu .icon {
    fill: #325BAC
}

.btn-menu:focus {
    outline: none
}

.btn-menu:hover {
    background-color: #3D5BA3;
    color: #fff
}

.btn-menu:hover .icon {
    fill: #fff
}

.btn-primary {
    font-weight: 700;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
    height: 44px;
    font-size: 14px;
    line-height: 42px;
    letter-spacing: 1px;
    background-color: #3B5BA6;
    border: 0 none;
    color: #fff
}

.btn-primary:hover {
    color: #fff;
    background-color: #2e4680
}

@media screen and (min-width:1000px) {
    .btn-primary {
        background-color: rgba(46, 70, 128, 0);
        border: 1px solid #3B5BA6;
        color: #3B5BA6
    }
    .btn-primary:hover {
        color: #fff;
        border: 1px solid #2e4680;
        background-color: #2e4680
    }
}

.btn-primary-o {
    font-weight: 700;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
    height: 44px;
    font-size: 14px;
    line-height: 42px;
    letter-spacing: 1px;
    background-color: rgba(46, 70, 128, 0);
    border: 1px solid #3B5BA6;
    color: #3B5BA6
}

.btn-primary-o:hover {
    color: #fff;
    border: 1px solid #2e4680;
    background-color: #2e4680
}

.btn-group {
    padding: 1rem
}

.btn-group__col {
    text-align: center
}

.btn-group--left {
    margin-bottom: 1rem
}

.btn-group--download {
    margin-top: 1rem
}

@media screen and (min-width:720px) {
    .btn-group {
        padding-left: 2rem;
        padding-right: 2rem
    }
    .btn-group__col {
        text-align: left;
        width: 50%;
        float: left
    }
    .btn-group__col .btn {
        max-width: 240px
    }
    .btn-group--left {
        margin-bottom: 0;
        padding-left: 68px
    }
    .btn-group--right {
        padding-left: 1.5rem
    }
}

.electorate-details-btn {
    display: none
}

@media screen and (min-width:1000px) {
    .electorate-details-btn {
        display: inline-block
    }
}

.generate-pdf-control,
.btn-generate-pdf {
    color: #3D5BA3;
    background-color: #FFF;
    padding: 0 1.25rem;
    border: 2px solid #D2DAE6;
    cursor: pointer;
    font-size: 14px;
    line-height: 42px;
    letter-spacing: 1px;
    width: 172px;
    height: 44px;
    font-weight: 700;
    text-align: center;
    cursor: pointer;
    display: none!important;
    margin: 32px 0 0 32px!important;
    float: none!important;
    font-family: Proxima Nova!important;
    -webkit-transition: all 0.35s cubic-bezier(.16, 0, 0, .24);
    transition: all 0.35s cubic-bezier(.16, 0, 0, .24)
}

.generate-pdf-control:hover,
.btn-generate-pdf:hover {
    background-color: #3D5BA3;
    border: 2px solid #3D5BA3;
    color: #fff
}

@media screen and (min-width:1000px) {
    .generate-pdf-control,
    .btn-generate-pdf {
        display: block!important
    }
}

.menu-toggle {
    right: 0;
    top: 0
}

@media screen and (min-width:1000px) {
    .menu-toggle {
        top: 0
    }
}

.search-toggle {
    top: 54px;
    right: 0
}

@media screen and (min-width:1000px) {
    .search-toggle {
        top: 54px;
        right: 0;
        left: auto
    }
}

.row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.justify-content-center {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

.d-flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.align-items-center {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.align-self-center {
    -webkit-align-self: center;
    -ms-flex-item-align: center;
    -ms-grid-row-align: center;
    align-self: center
}

.view {
    position: relative;
    height: 100%;
    height: 100%;
    width: 100%;
    z-index: 1
}

.view-title {
    font-size: 1.25rem
}

@media screen and (min-width:1000px) {
    .view-title {
        font-size: 1.15rem
    }
}

@media screen and (min-width:1200px) {
    .view-title {
        font-size: 1.5rem
    }
}

.view-nav {
    position: fixed;
    top: 0;
    right: 0;
    width: 52px;
    height: 100%;
    z-index: 10
}

.view-sidebar {
    background-color: #fff;
    height: 230px;
    width: 100%
}

@media screen and (min-width:1000px) {
    .view-sidebar {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-flex: 0;
        -ms-flex: 0 0 25%;
        flex: 0 0 25%;
        max-width: 25%;
        height: auto
    }
}

@media screen and (min-width:1400px) {
    .view-sidebar {
        width: 380px;
        -webkit-box-flex: 0;
        -ms-flex: 0 0 380px;
        flex: 0 0 380px;
        max-width: initial
    }
}

.view-header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    height: 120px
}

@media screen and (min-width:1000px) {
    .view-header {
        height: 200px
    }
}

@media screen and (min-width:1400px) {
    .view-header {
        height: 240px
    }
}

.logo {
    text-align: center;
    padding: .5rem 54px 0 1rem
}

.subheading {
    font-weight: 700;
    text-transform: uppercase;
    font-size: .875rem;
    letter-spacing: 1px;
    opacity: .5
}

@media screen and (min-width:1000px) {
    .logo {
        text-align: left;
        padding: 1rem 1rem 0
    }
}

.aada-logo {
    width: 126px
}

@media screen and (min-width:1000px) {
    .aada-logo {
        width: 160px
    }
}

@media screen and (min-width:1200px) {
    .aada-logo {
        width: 180px
    }
}

.view-title {
    font-weight: 700;
    line-height: 1.1;
    font-size: 1.25rem
}

@media screen and (min-width:1000px) {
    .view-title {
        font-size: 1.5rem
    }
}

.view-heading {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-flex: 2;
    -ms-flex: 2;
    flex: 2;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end
}

.breadcrumbs {
    display: none;
    padding-bottom: 0
}

@media screen and (min-width:1000px) {
    .breadcrumbs {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-flex: 1;
        -ms-flex: 1;
        flex: 1
    }
}

.breadcrumb {
    padding-left: 1rem;
    padding-right: 1rem
}

.breadcrumb li {
    font-size: .75rem;
    display: inline-block;
    position: relative;
    padding-right: 1rem;
    color: #999
}

.breadcrumb li:after {
    content: ">";
    right: 5px;
    position: absolute
}

.breadcrumb li:last-child {
    padding-right: 0
}

.breadcrumb li:last-child:after {
    content: ""
}

.breadcrumb .crumb-active {
    color: #002855;
    cursor: pointer;
    text-decoration: underline
}

.view-heading {
    text-align: left;
    padding: 0 1rem 1rem
}

@media screen and (min-width:1000px) {
    .view-heading {
        text-align: left;
        padding: 0 1rem 1rem
    }
}

.view-sidebar-content {
    background-color: #325BAC;
    height: 90px;
    overflow-x: auto;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch
}

@media screen and (min-width:1000px) {
    .view-sidebar-content {
        height: calc(100% - 200px);
        overflow: initial
    }
}

@media screen and (min-width:1400px) {
    .view-sidebar-content {
        height: calc(100% - 240px)
    }
}

.view-disclaimer {
    background-color: #325BAC;
    color: #fff;
    font-size: .75rem;
    padding-left: 1rem;
    padding-right: 1rem;
    height: 20px
}

@media screen and (min-width:1000px) {
    .view-disclaimer {
        display: none
    }
}

.statistics-list {
    list-style: none;
    margin: 0;
    padding: 0;
    height: 100%;
    width: 2100px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.statistics-list__item {
    color: #fff;
    background-color: #325BAC;
    width: 240px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 100%;
    position: relative;
    -webkit-transition: all 0.35s cubic-bezier(.16, 0, 0, .24);
    transition: all 0.35s cubic-bezier(.16, 0, 0, .24);
    padding: 1rem
}

.statistics-list__item:before {
    content: "";
    position: absolute;
    width: 0;
    bottom: 0;
    right: 0;
    height: 0;
    opacity: 0;
    border-style: solid;
    border-width: 0 0 30px 30px;
    border-color: transparent transparent #000275 transparent;
    -webkit-transition: all 0.35s cubic-bezier(.16, 0, 0, .24);
    transition: all 0.35s cubic-bezier(.16, 0, 0, .24)
}

.statistics-list__icon {
    width: 17%;
    width: 40px;
    text-align: center;
    -webkit-align-self: center;
    -ms-flex-item-align: center;
    -ms-grid-row-align: center;
    align-self: center
}

.statistics-list__description {
    width: 83%;
    width: calc(100% - 40px);
    -webkit-align-self: center;
    -ms-flex-item-align: center;
    -ms-grid-row-align: center;
    align-self: center;
    padding-left: 1rem
}

.statistics-list .statistic {
    font-weight: 700;
    line-height: 1.2;
    font-size: 1.25rem
}

.statistics-list .statistic-label {
    line-height: 1;
    text-transform: uppercase;
    font-size: .75rem
}

@media screen and (min-width:1000px) {
    .statistics-list {
        width: 100%;
        display: block
    }
    .statistics-list__item {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        border-top: 1px solid #fff;
        padding: 10px 1rem;
        height: 11.1111111%;
        width: 100%
    }
    .statistics-list__item:hover:before {
        opacity: 1
    }
    .statistics-list__item:first-child {
        border-top: 0
    }
    .statistics-list__description {
        color: #fff;
        padding-left: 1rem
    }
    .statistics-list .statistic {
        font-size: 1.15rem
    }
    .statistics-list .statistic-label {
        text-transform: uppercase;
        font-size: .75rem
    }
}

/* ipad fixes */
@media only screen and (min-device-width : 768px) and (max-device-width : 1024px)  {
	  .statistics-list__item {
        padding: 8px 1rem;
    	}
	.statistics-list .statistic {
		font-size: 1rem;
		}
	.logo {
		padding: 5px 1rem 0;
		}
	.view-heading {
		padding: 0 1rem 5px;
		margin-top: -20px;
		}
	.subheading {
		font-size: 14px;
		}
	.view-title {
		font-size: 1.1rem;
		}
	.breadcrumb li {
		font-size: 10px;
	}
	.candidate-information {
		padding-bottom: 40px;
	}

}

@media screen and (min-width:1200px) {
    .statistics-list .statistic {
        font-size: 1.5rem
    }
}

@media screen and (min-width:1400px) {
    .statistics-list .statistic {
        font-size: 1.5rem
    }
    .statistics-list .statistic-label {
        font-size: .85rem
    }
    .statistics-list__icon {
        width: 50px
    }
    .statistics-list__icon img {
        height: 50px
    }
    .statistics-list__description {
        width: calc(100% - 50px)
    }
}

.map-container {
    position: relative;
    height: calc(100% - 230px);
    padding-bottom: 40px;
    width: 100%;
    border-left: 0 solid #fff;
    border-right: 0 solid #fff;
    -webkit-transition: border 0.35s cubic-bezier(.16, 0, 0, .24);
    transition: border 0.35s cubic-bezier(.16, 0, 0, .24)
}

@media screen and (min-width:360px) {
    .map-container {
        padding-bottom: 52px
    }
}

@media screen and (min-width:1000px) {
    .map-container {
        height: 100%;
        -webkit-box-flex: 0;
        -ms-flex: 0 0 75%;
        flex: 0 0 75%;
        max-width: 75%;
        padding-bottom: 0;
    }
    .open-election-info .map-container {
        border-left-width: 40px;
        border-right-width: 40px
    }
}

@media screen and (min-width:1400px) {
    .map-container {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 calc(100% - 380px);
        flex: 0 0 calc(100% - 380px);
        max-width: calc(100% - 380px)
    }
}

.map,
#map {
    width: 100%;
    display: block;
    height: 100%
}

.map--overlay {
    position: absolute;
    left: 0;
    top: 0;
    right: 54px;
    height: 106px;
    background-color: rgba(255, 255, 255, 0.75);
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 26px 104px 26px 234px;
    z-index: 999;
    font-size: 14px;
    color: #325BAC;
}

@media screen and (max-width:999px) {
    .map--overlay {
        top: -165px;
        height: 54px;
        background-color: #fff;
        font-size: 10px;
        padding: 5px 0 5px 5px;
    }
}

.map--alert {
    font-weight: 600;
    line-height: 1.1;
    margin: 0 auto;
    padding-left: 39px;
    position: relative;
    max-width: 640px;
}

.map--alert::before {
    content: ' ';
    display: block;
    width: 26px;
    height: 26px;
    position: absolute;
    left: 0;
    background-image: url(img/warning-triangle.svg);
    background-size: contain;
    background-position: center center;
}

.state-label-name {
    color: #6A6767;
    font-weight: 700;
    letter-spacing: 1px;
    line-height: 1.2;
    font-size: .65rem;
    text-align: center
}

@media screen and (min-width:64rem) {
    .state-label-name {
        font-size: .75rem
    }
}

.panel {
    background-color: #fff;
    z-index: 50;
    position: fixed;
    width: 100%;
    height: 100%;
    right: 100%;
    top: -100%;
    -webkit-transition: -webkit-transform 0.25s cubic-bezier(.16, 0, 0, .24);
    transition: -webkit-transform 0.25s cubic-bezier(.16, 0, 0, .24);
    transition: transform 0.25s cubic-bezier(.16, 0, 0, .24);
    transition: transform 0.25s cubic-bezier(.16, 0, 0, .24), -webkit-transform 0.25s cubic-bezier(.16, 0, 0, .24)
}

@media screen and (min-width:1000px) {
    .panel {
        width: 75%;
        top: -300px;
        height: 200px
    }
}

@media screen and (min-width:1400px) {
    .panel {
        width: calc(100% - 380px);
        top: -240px;
        height: 240px
    }
}

.open-search .panel {
    -webkit-transform: translateY(100%);
    transform: translateY(100%);
    right: 0
}

@media screen and (min-width:1000px) {
    .open-search .panel {
        -webkit-transform: translateY(300px);
        transform: translateY(300px)
    }
}

@media screen and (min-width:1400px) {
    .open-search .panel {
        -webkit-transform: translateY(240px);
        transform: translateY(240px)
    }
}

.btn-close {
    width: 52px;
    height: 52px;
    display: block;
    position: absolute;
    right: 0;
    top: 0;
    line-height: 52px;
    text-align: center;
    z-index: 1
}

.search-group {
    height: 100%;
    padding: 1rem
}

@media screen and (min-width:720px) {
    .search-group {
        padding: 2rem
    }
}

.search-form .form-control {
    background-color: #f9faf9;
    width: calc(100% - 40px);
    display: inline-block;
    margin-right: -5px;
    height: 40px;
    font-size: 1rem;
    padding: .5rem 1rem;
    color: rgba(0, 40, 85, .5);
    vertical-align: middle;
    -webkit-box-shadow: inset 0 0 0 #dde3dd;
    box-shadow: inset 0 0 0 #dde3dd;
    -webkit-transition: -webkit-box-shadow 0.35s cubic-bezier(.16, 0, 0, .24);
    transition: -webkit-box-shadow 0.35s cubic-bezier(.16, 0, 0, .24);
    transition: box-shadow 0.35s cubic-bezier(.16, 0, 0, .24);
    transition: box-shadow 0.35s cubic-bezier(.16, 0, 0, .24), -webkit-box-shadow 0.35s cubic-bezier(.16, 0, 0, .24)
}

.search-form .form-control:focus {
    -webkit-box-shadow: inset 0 8px 24px #dde3dd;
    box-shadow: inset 0 8px 24px #dde3dd;
    color: #002855
}

@media screen and (min-width:720px) {
    .search-form .form-control {
        background-color: #f9faf9;
        width: calc(100% - 60px);
        display: inline-block;
        margin-right: -5px;
        height: 60px;
        font-size: 1.35rem;
        padding: 1rem 1.5rem
    }
}

.search-wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    height: 100%
}

.btn-search {
    width: 40px;
    height: 40px;
    display: inline-block;
    background-color: #325BA9;
    -webkit-transition: all 0.35s cubic-bezier(.16, 0, 0, .24);
    transition: all 0.35s cubic-bezier(.16, 0, 0, .24);
    vertical-align: middle;
    padding-top: 7px
}

.btn-search svg {
    width: 20px;
    height: auto
}

.btn-search .icon {
    fill: #fff
}

.btn-search:hover {
    background-color: #002855
}

@media screen and (min-width:720px) {
    .btn-search {
        width: 60px;
        height: 60px
    }
}

.drawer {
    background-color: #fff;
    z-index: 50;
    position: fixed;
    width: 320px;
    top: -100%;
    right: -320px;
    height: 100%;
    padding-top: 30px;
    -webkit-transition: -webkit-transform 0.25s cubic-bezier(.16, 0, 0, .24);
    transition: -webkit-transform 0.25s cubic-bezier(.16, 0, 0, .24);
    transition: transform 0.25s cubic-bezier(.16, 0, 0, .24);
    transition: transform 0.25s cubic-bezier(.16, 0, 0, .24), -webkit-transform 0.25s cubic-bezier(.16, 0, 0, .24);
    -webkit-box-shadow: -3px 0 20px -6px rgba(0, 0, 0, .25);
    -moz-box-shadow: -3px 0 20px -6px rgba(0, 0, 0, .25);
    box-shadow: -3px 0 20px -6px rgba(0, 0, 0, .25)
}

.open-drawer .drawer {
    -webkit-transform: translateX(-320px);
    transform: translateX(-320px);
    top: 0
}

.nav-main {
    font-size: 1.5rem
}

.nav-main a {
    display: block;
    padding: .25rem 2.5rem;
    color: #325DAD;
    -webkit-transition: all 0.35s cubic-bezier(.16, 0, 0, .24);
    transition: all 0.35s cubic-bezier(.16, 0, 0, .24)
}

.nav-main a:hover {
    color: #002855
}

.nav-main .menu-item {
    opacity: 0;
    -webkit-transform: translateX(-1rem);
    transform: translateX(-1rem);
    -webkit-transition: opacity 0.35s cubic-bezier(.16, 0, 0, .24), -webkit-transform 0.35s cubic-bezier(.16, 0, 0, .24);
    transition: opacity 0.35s cubic-bezier(.16, 0, 0, .24), -webkit-transform 0.35s cubic-bezier(.16, 0, 0, .24);
    transition: transform 0.35s cubic-bezier(.16, 0, 0, .24), opacity 0.35s cubic-bezier(.16, 0, 0, .24);
    transition: transform 0.35s cubic-bezier(.16, 0, 0, .24), opacity 0.35s cubic-bezier(.16, 0, 0, .24), -webkit-transform 0.35s cubic-bezier(.16, 0, 0, .24)
}

.open-drawer .nav-main .menu-item {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0)
}

.nav-main li:nth-child(0) {
    -webkit-transition-delay: 0.25s;
    transition-delay: 0.25s
}

.nav-main li:nth-child(1) {
    -webkit-transition-delay: 0.15s;
    transition-delay: 0.15s
}

.nav-main li:nth-child(2) {
    -webkit-transition-delay: 0.25s;
    transition-delay: 0.25s
}

.nav-main li:nth-child(3) {
    -webkit-transition-delay: 0.35s;
    transition-delay: 0.35s
}

.nav-main li:nth-child(4) {
    -webkit-transition-delay: 0.45s;
    transition-delay: 0.45s
}

.nav-main li:nth-child(5) {
    -webkit-transition-delay: 0.55s;
    transition-delay: 0.55s
}

.bottom-bar {
    background-color: #fff;
    height: 40px;
    position: fixed;
    bottom: 0;
    right: 0;
    width: 100%;
    z-index: 46;
    padding-left: 40px;
    padding-right: 40px
	-webkit-transition: all 0.35s cubic-bezier(.16, 0, 0, .24);
    transition: all 0.35s cubic-bezier(.16, 0, 0, .24);
}

@media screen and (min-width:360px) {
    .bottom-bar {
        height: 52px;
        padding-left: 52px;
        padding-right: 52px
    }
}

@media screen and (min-width:1000px) {
    .bottom-bar {
        /*max-width: 75%;*/
        text-align: center
    }
    .open-bottom .bottom-bar {
        z-index: 57
    }
}

@media screen and (min-width:1400px) {
    .bottom-bar {
        /*max-width: calc(100% - 380px)*/
    }
}

@media screen and (min-width: 1000px) {
    .bottom-bar {
        background-color: #fff;
        height: 44px;
        line-height: 42px;
        border: 2px solid #D2DAE6;
        position: fixed;
        top: 80px;
        left: calc(25% + 32px);
        width: auto;
        z-index: 46;
        padding: 0 1.25rem;
        -webkit-transition: all 0.35s cubic-bezier(.16, 0, 0, .24);
        transition: all 0.35s cubic-bezier(.16, 0, 0, .24);
        bottom: auto;
        right: auto;
    }

    .bottom-bar:before {
        font-family: Proxima Nova!important;
        letter-spacing: 1px;
        font-weight: 700;
        font-size: 14px;
        color: #3D5BA3;
        content: 'VIEW  ';
        padding-right: 10px;
    }

    .bottom-bar li {
        line-height: 42px !important;
        height: 42px !important;
    }

    .bottom-bar li a {
        font-family: Proxima Nova!important;
        letter-spacing: 1px;
        font-weight: 700;
        font-size: 14px;
        color: #3D5BA3;
    }

    .bottom-bar .btn-bottom-bar {
        width: 42px;
        height: 42px;
        transform: rotate(180deg);
    }
}

@media screen and (min-width:1400px) {
    .bottom-bar {
        left: 412px;
    }
}

.bottom-bar a.active {
    color: #CBD3DD
}

.close-bottom-bar {
    background-color: #fff;
    width: 52px;
    height: 52px;
    line-height: 52px;
    text-align: center;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 1;
    -webkit-transition: background 0.25s cubic-bezier(.16, 0, 0, .24);
    transition: background 0.25s cubic-bezier(.16, 0, 0, .24)
}

.close-bottom-bar .icon {
    fill: #325BAC;
    -webkit-transition: fill 0.25s cubic-bezier(.16, 0, 0, .24);
    transition: fill 0.25s cubic-bezier(.16, 0, 0, .24)
}

.close-bottom-bar:focus {
    outline: none
}

.close-bottom-bar:hover {
    background-color: #3D5BA3
}

.close-bottom-bar:hover .icon {
    fill: #fff
}

.btn-bottom-bar {
    background: url(img/svg/up_arrow-red.svg) no-repeat center center;
    background-size: 14px;
    -webkit-transition: -webkit-transform 0.35s cubic-bezier(.16, 0, 0, .24);
    transition: -webkit-transform 0.35s cubic-bezier(.16, 0, 0, .24);
    transition: transform 0.35s cubic-bezier(.16, 0, 0, .24);
    transition: transform 0.35s cubic-bezier(.16, 0, 0, .24), -webkit-transform 0.35s cubic-bezier(.16, 0, 0, .24);
    height: 40px;
    width: 40px;
    position: absolute;
    right: 0;
    bottom: 0;
    text-align: center;
    line-height: 48px;
    vertical-align: top
}

.btn-bottom-bar img {
    margin-top: -2px
}

.open-bottom .btn-bottom-bar {
    background: url(img/svg/cancel.svg) no-repeat center center;
    background-size: 14px;
    visibility: hidden
}

@media screen and (min-width:360px) {
    .btn-bottom-bar {
        width: 52px;
        height: 52px;
        line-height: 60px
    }
}

@media screen and (min-width:1000px) {
    .btn-bottom-bar {
        position: static;
        display: inline-block;
        vertical-align: top
    }
}

.bottom-bar__nav {
    text-align: center;
    vertical-align: top
}

.bottom-bar__nav li {
    display: inline-block;
    height: 40px;
    line-height: 40px;
    font-size: .75rem;
    margin: 0 -2.5px
}

.bottom-bar__nav li:first-child>a {
    padding-left: 0
}

.bottom-bar__nav a {
    display: block;
    text-decoration: none;
    color: #000275;
    padding-left: .75rem
}

.bottom-bar__nav a span {
    font-weight: 700
}

.bottom-bar__nav a:hover {
    text-decoration: none;
    color: #002855
}

.bottom-bar__nav a.active {
    color: #CBD3DD
}

@media screen and (min-width:360px) {
    .bottom-bar__nav li {
        height: 52px;
        line-height: 52px;
        font-size: 1rem
    }
}

@media screen and (min-width:1000px) {
    .bottom-bar__nav {
        width: auto;
        display: inline-block
    }
}

.bottom-bar-tabs {
    background-color: #fff;
    height: 100%;
    position: fixed;
    top: 100%;
    right: 0;
    -webkit-transition: -webkit-transform 0.35s cubic-bezier(.16, 0, 0, .24);
    transition: -webkit-transform 0.35s cubic-bezier(.16, 0, 0, .24);
    transition: transform 0.35s cubic-bezier(.16, 0, 0, .24);
    transition: transform 0.35s cubic-bezier(.16, 0, 0, .24), -webkit-transform 0.35s cubic-bezier(.16, 0, 0, .24);
    z-index: 44;
    width: 100%;
    display: none
}

.open-bottom .bottom-bar-tabs {
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%);
    bottom: 0;
    display: block
}

@media screen and (min-width:1000px) {
    .bottom-bar-tabs {
        max-width: 75%;
        z-index: 56
    }
}

@media screen and (min-width:1400px) {
    .bottom-bar-tabs {
        max-width: calc(100% - 380px)
    }
}

.carousel-content {
    padding: 2rem 3rem;
    max-height: 100%;
    overflow-y: auto;
    overflow-x: scroll;
    -webkit-overflow-scrolling: touch;
    max-width: 760px;
    margin: 0 auto;
    position: relative
}

@media screen and (min-width:1000px) {
    .carousel-content {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        height: 100%;
        max-height: initial;
        padding-top: 128px;
        padding-bottom: 128px
    }
}

.carousel-controls {
    display: none
}

@media screen and (min-width:1000px) {
    .carousel-controls {
        display: block
    }
}

.carousel-arrow {
    position: absolute;
    top: 50%;
    margin-top: -13px
}

.carousel-arrow:hover {
    opacity: .5
}

.carousel-arrow__prev {
    left: 0
}

.carousel-arrow__next {
    right: 0
}

.dot {
    background-color: #D5DFEE;
    display: block;
    width: 13px;
    height: 13px;
    margin-left: .5rem;
    margin-right: .5rem;
    border-radius: 13px;
    -webkit-transition: all 0.35s cubic-bezier(.16, 0, 0, .24);
    transition: all 0.35s cubic-bezier(.16, 0, 0, .24)
}

.dot:hover {
    opacity: .75
}

.is-active .dot {
    background-color: #FF3939
}

.carousel-pagination {
    display: none;
    text-align: center;
    width: 100%;
    position: absolute;
    top: 0;
    padding: 1rem;
    left: 0;
    z-index: 1
}

.carousel-pagination .page-item {
    display: inline-block;
    text-align: center
}

@media screen and (min-width:1000px) {
    .carousel-pagination {
        display: block
    }
}

.members-list {
    max-width: 760px;
    margin-left: auto;
    margin-right: auto
}

@media screen and (min-width:720px) {
    .members-list {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-flow: wrap;
        flex-flow: wrap;
        -ms-flex-line-pack: center;
        align-content: center
    }
}

.list__item {
    display: block
}

.list__item .name {
    font-size: 1rem;
    text-decoration: underline
}

.list__item .list-avatar {
    width: 46px;
    float: left;
    border: 2px solid #fff
}

.list__item .list-avatar img {
    width: 42px;
    padding: 2px;
    display: block
}

.list__item .list-content {
    width: calc(100% - 46px);
    padding-left: 1rem;
    margin-bottom: 1rem;
    float: left
}

@media screen and (min-width:720px) {
    .list__item {
        float: left;
        padding-left: 1rem;
        padding-right: 1rem;
        width: 50%
    }
}

.election-info .profile {
    padding-bottom: 1rem;
    margin-bottom: 1rem;
    border-bottom: 1px solid #D1DCE7
}

.profile__division {
    text-transform: uppercase;
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: 1px;
    margin-bottom: .875rem
}

.profile-avatar {
    border: 2px solid #efefef;
    width: 52px;
    float: left
}

.profile-avatar>img {
    border: 2px solid #fff;
    display: block
}

.profile-name {
    font-size: 1rem;
    font-weight: 700
}

.election-info .profile-name {
    font-size: 1.15rem
}

.profile-party {
    font-size: .875rem
}

.profile__person {
    margin-bottom: 1rem
}

.profile__details {
    margin-left: 52px;
    padding-left: 1rem
}

.profile--m-popup .btn-view-details {
    margin-top: 1rem
}

@media screen and (min-width:720px) {
    .profile .profile-contact {
        margin-left: 52px;
        padding-left: 1rem
    }
    .election-info .profile {
        border: 0 none;
        margin-bottom: 0;
        padding-bottom: 52px
    }
    .election-info .profile__division {
        display: none
    }
}

@media screen and (min-width:1000px) {
    .election-info .profile {
        padding-bottom: 0
    }
    .profile-name {
        font-size: 1.25rem
    }
}

.election-info {
    background-color: #fff;
    height: 100%;
    min-width: 320px;
    width: 100%;
    overflow-y: hidden;
    border-left: 0 solid #fff;
    border-right: 0 solid #fff;
    bottom: -100%;
    right: -100%;
    position: fixed;
    z-index: 50;
    -webkit-transition: border 0.35s cubic-bezier(.16, 0, 0, .24), -webkit-transform 0.35s cubic-bezier(.16, 0, 0, .24);
    transition: border 0.35s cubic-bezier(.16, 0, 0, .24), -webkit-transform 0.35s cubic-bezier(.16, 0, 0, .24);
    transition: transform 0.35s cubic-bezier(.16, 0, 0, .24), border 0.35s cubic-bezier(.16, 0, 0, .24);
    transition: transform 0.35s cubic-bezier(.16, 0, 0, .24), border 0.35s cubic-bezier(.16, 0, 0, .24), -webkit-transform 0.35s cubic-bezier(.16, 0, 0, .24)
}

@media screen and (min-width:1000px) {
    .election-info {
        top: -250px;
        right: -100%;
        width: 75%;
        max-width: 75%;
        height: 250px;
        overflow-y: initial
    }
}

@media screen and (min-width:1400px) {
    .election-info {
        width: calc(100% - 380px);
        max-width: 100%
    }
}

.open-election-info .election-info {
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%);
    right: 0;
    overflow-y: auto;
    height: 100%
}

@media screen and (min-width:1000px) {
    .open-election-info .election-info {
        -webkit-transform: translate(0, 250px);
        transform: translate(0, 250px);
        border-left: 40px solid #fff;
        border-right: 40px solid #fff;
        height: 250px;
        right: 0;
        overflow-y: initial
    }
}

@media screen and (-ms-high-contrast:active),
(-ms-high-contrast:none) {
    .open-electorate-details .election-info {
        height: 100%
    }
}

.candidate-info__wrap {
    padding: 1rem
}

@media screen and (min-width:720px) {
    .candidate-info__wrap {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row;
        padding-top: 0;
        padding-right: 0
    }
}

@media screen and (min-width:720px) {
    .candidate,
    .election {
        width: 50%;
        padding: 1.5rem 1rem
    }
}

@media screen and (min-width:1000px) {
    h2,
    p,
    .election-results__table,
    .election-margin-swing {
        margin-bottom: 1rem
    }
}

@media screen and (min-width:1000px) {
    .election-margin-swing {
        margin-bottom: 0
    }
}

.electorate-details {
    background-color: #fff;
    padding: 1rem;
    -webkit-transition: opacity 0.5s cubic-bezier(.16, 0, 0, .24);
    transition: opacity 0.5s cubic-bezier(.16, 0, 0, .24)
}

@media screen and (min-width:1000px) {
    .electorate-details {
        overflow-y: auto;
        overflow-x: hidden;
        opacity: 0;
        visibility: hidden;
        height: calc(100% - 235px);
        max-height: calc(100% - 235px);
        position: absolute;
        padding: 2rem;
        width: 100%
    }
}

@media screen and (min-width:720px) {
    .btn-group--bottom {
        display: none
    }
}

.open-electorate-details .electorate-details {
    opacity: 1;
    visibility: visible
}

@media screen and (min-width:1000px) {
    .open-electorate-details .electorate-details {
        background-color: #fafafa;
        opacity: 1;
        visibility: visible;
        height: calc(100vh - 250px);
        max-height: initial
    }
}

@supports (-ms-ime-align:auto) {
    @media screen and (min-width: 1400px) {
        .open-electorate-details .electorate-details {
            top:249px
        }
    }
}

.electorate-details {
    padding-top: 1rem;
    padding-bottom: 1rem
}

.election-group .election-group__title {
    border-top: 2px solid #D1DCE7;
    padding: 1rem 40px 1rem 0;
    margin: 0;
    font-size: .875rem;
    letter-spacing: 1px;
    text-transform: uppercase;
    position: relative;
    cursor: pointer
}

.election-group .election-group__title:after {
    content: "";
    width: 40px;
    height: 40px;
    position: absolute;
    z-index: 1;
    top: 50%;
    right: 0;
    margin-top: -20px;
    background: transparent url(img/svg/plus.svg) no-repeat center center;
    background-size: 12px
}

.election-group .election-group__wrap {
    padding-bottom: 1rem
}

.election-group.is-open .election-group__title:after {
    background-image: url(img/svg/minus.svg)
}

.election-group.upcoming-election .election-group__wrap {
    margin-left: -1rem;
    margin-right: -1rem
}

@media screen and (min-width:720px) {
    .election-group.upcoming-election .election-group__wrap {
        margin-left: 0;
        margin-right: 0
    }
}

@media screen and (min-width:1000px) {
    .election-group .election-group__title {
        font-size: 1.5rem;
        text-transform: none
    }
    .election-group .election-group__title:after {
        display: none
    }
}

.candidates-list {
    padding: 0;
    list-style: none
}

.candidates-list__header {
    display: none
}

.candidates-list li {
    font-size: .875rem;
    padding: 1rem
}

.candidates-list li p {
    margin: 0
}

.candidates-list li:nth-child(odd) {
    background-color: #E2E1EA
}

.candidates-list .candidate-list__row {
    overflow: hidden
}

@media screen and (min-width:720px) {
    .candidates-list {
        margin: 0
    }
    .candidates-list .candidate__cell {
        width: 50%;
        float: left
    }
    .candidates-list .candidate__contact {
        width: 50%;
        float: left
    }
}

@media screen and (min-width:1000px) {
    .candidates-list .candidate__cell {
        width: 30%
    }
    .candidates-list .candidate__contact {
        width: 70%
    }
}

.previous-election__candidate h3,
.previous-election__candidate p {
    font-size: .875rem;
    margin: 0
}

.previous-election__candidate .previous-election__img {
    display: inline-block;
    margin-right: -5px;
    width: 32px;
    vertical-align: middle
}

.previous-election__candidate .previous-election__body {
    display: inline-block;
    width: calc(100% - 32px);
    vertical-align: middle
}

hr {
    margin: 0 0 1rem;
    border-width: 0;
    border-bottom: 2px solid #D1DCE7
}

.candidate-avatar {
    float: left;
    width: 52px;
    overflow: hidden;
    border: 2px solid red;
    padding: 2px
}

.candidate-avatar>img {
    width: 100%;
    display: block
}

.candidate-information {
    background-color: #FAFAFA;
    position: relative;
}

.candidate-information .btn-group {
    display: none
}

@media screen and (min-width:720px) {
    .candidate-information .btn-group {
        display: block;
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        z-index: 1
    }
}

@media screen and (min-width:1025px) {
    .candidate-information {
        height: 250px;
        overflow: hidden;
        padding-bottom: 76px
    }
}

.candidate-name__wrap {
    float: left;
    padding-left: 1rem;
    width: calc(100% - 52px)
}

.candidate-wrap {
    margin-bottom: 1rem;
    padding-bottom: 1rem;
    border-bottom: 2px solid #D1DCE7
}

@media screen and (min-width:720px) {
    .candidate-wrap {
        border-bottom: 0
    }
}

@media screen and (min-width:1000px) {
    .candidate-wrap {
        margin-bottom: 0;
        border-bottom: 0;
        position: relative
    }
}

.candidate-details__wrap,
.mp-address {
    margin-bottom: 1rem
}

@media screen and (min-width:1000px) {
    .candidate-details__wrap,
    .mp-address {
        margin-bottom: 0
    }
}

.candidate__wrap {
    height: 100%
}

.election-wrap {
    position: relative;
    height: 100%
}

@media screen and (min-width:1000px) {
    .election-wrap {
        position: relative;
        padding-bottom: 54px
    }
    .election-wrap .btn-primary {
        position: absolute;
        bottom: 0
    }
}

.h2 {
    font-weight: 700;
    line-height: 1.2
}

.election-info .h2 {
    font-weight: 700;
    font-size: 1.15rem
}

.election-info .contact-details {
    font-weight: 700
}

.election-info .contact-details>span {
    font-weight: 400
}

.results-title {
    margin-bottom: 1rem
}

#election-enrolment>span,
#margin>span,
#swing>span {
    font-weight: 700
}

#swing {
    margin-left: 1rem
}

.win,
.lose {
    height: 26px;
    overflow: hidden;
    float: left
}

.bar-label {
    color: #fff;
    font-size: .875rem;
    padding: 3px .5rem 0
}

.bar-label--percentage {
    float: right
}

.election-results__bar {
    background-color: #afafaf;
    overflow: hidden;
    margin-bottom: 1rem;
    max-width: 340px
}

.leaflet-popup-content {
    width: 281px;
    height: 117px;
    color: #002855;
    font-size: .875rem
}

.leaflet-popup-content p {
    margin: 0
}

.leaflet-popup-content .popup-candidate-name {
    font-size: 1.5rem
}

.leaflet-popup-content .popup-candidate-electorate {
    font-size: .75rem;
    text-transform: uppercase;
    letter-spacing: 1px
}

.leaflet-popup-content .popup-candidate-party {
    font-size: .875rem
}

.leaflet-popup-content-wrapper {
    border-radius: 0
}

.leaflet-bottom.leaflet-left {
    padding-left: 10px;
    padding-bottom: 10px;
    z-index: 1001
}

@media screen and (min-width:64rem) {
    .leaflet-bottom.leaflet-left {
        padding-left: 52px;
        padding-bottom: 1.5rem
    }
}

.leaflet-left .leaflet-control,
.leaflet-right .leaflet-control {
    margin: 0!important
}

.key-legend {
    color: #3D5BA3;
    background: #FFF;
    margin: 0!important;
    padding: .15rem .5rem;
    position: relative;
    border: 2px solid #D2DAE6;
    cursor: pointer
}

.leaflet-control-attribution {
    display: none!important
}

.leaflet-marker-icon {
    font-size: .75rem
}

.leaflet-bottom.leaflet-right {
    padding-right: 10px;
    padding-bottom: 10px;
    width: 70px
}

@media screen and (min-width:1000px) {
    .leaflet-bottom.leaflet-right {
        width: auto;
        padding-right: 1.5rem;
        padding-bottom: 1.5rem
    }
}

.leaflet-right .leaflet-control {
    float: left;
    margin: 0 2px!important
}

@media screen and (min-width:1000px) {
    .leaflet-right .leaflet-control {
        float: none;
        margin: 0 0 8px!important
    }
}

.leaflet-top.leaflet-left {
    padding-left: 32px;
    padding-top: 30px;
}

.zoom-in,
.zoom-out {
    background-color: #fff;
    border: 2px solid #D2DAE6;
    cursor: pointer;
    width: 26px;
    height: 26px;
    text-align: center;
    line-height: 22px;
    padding: 2px;
    clear: initial
}

.map-legend {
    width: 28px;
    overflow: hidden;
    margin: 0!important;
    -webkit-transition: width 0.35s cubic-bezier(.16, 0, 0, .24);
    transition: width 0.35s cubic-bezier(.16, 0, 0, .24)
}

.show-legend .map-legend {
    width: 280px
}

.legend {
    background-color: #fff
}

.legend.legend-mobile {
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    position: fixed;
    z-index: 800
}

.legend.legend-mobile .legend__list {
    max-width: 320px;
    margin-left: auto;
    margin-right: auto;
    padding: 25% 1.5rem 0
}

.legend.legend-desktop {
    display: none
}

@media screen and (min-width:64rem) {
    .legend {
        padding: 10px;
        width: 280px;
    }
    .legend.legend-desktop {
        display: block
    }
    .legend .btn-close {
        display: none
    }
}

@media screen and (min-width:64rem) {
    .key-legend {
        display: none
    }
}

.legend__item {
    margin-bottom: 4px
}

.party-name {
    color: gray;
    display: inline-block;
    font-size: 1rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    vertical-align: middle
}

@media screen and (min-width:64rem) {
    .party-name {
        font-size: .65rem
    }
}

.party-color {
    background-color: #666;
    width: 8px;
    height: 8px;
    display: inline-block;
    margin-right: 10px;
    vertical-align: middle
}

.party-color--xen {
    background-color: rgb(255, 116, 0)
}

.party-color--alp {
    background-color: #b54040
}

.party-color--np {
    background-color: #1e5c28
}

.party-color--lp {
    background-color: #628ece
}

.party-color--grn {
    background-color: #a8c832
}

.party-color--kap {
    background-color: #ffcc00
}

                        
.leaflet-popup {
    margin-bottom: 39px!important
}

.mobile-election-popup {
    background-color: #fff;
    position: fixed;
    bottom: -50%;
    left: 0;
    width: 100%;
    padding: 1rem 52px 1rem 1rem;
    z-index: 48;
    height: 50%;
    -webkit-transition: -webkit-transform 0.35s cubic-bezier(.16, 0, 0, .24);
    transition: -webkit-transform 0.35s cubic-bezier(.16, 0, 0, .24);
    transition: transform 0.35s cubic-bezier(.16, 0, 0, .24);
    transition: transform 0.35s cubic-bezier(.16, 0, 0, .24), -webkit-transform 0.35s cubic-bezier(.16, 0, 0, .24)
}

.show-customPopup .mobile-election-popup {
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%)
}

@media screen and (min-width:360px) {
    .mobile-election-popup {
        bottom: -100%;
        height: calc(100% - 240px)
    }
    .show-customPopup .mobile-election-popup {
        -webkit-transform: translateY(calc(-100% - 240px));
        transform: translateY(calc(-100% - 240px))
    }
}

@media screen and (min-width:1000px) {
    .mobile-election-popup .mobile-election-popup {
        display: none;
        visibility: hidden
    }
}

.custom-popup .candidate-wrap {
    padding-bottom: 0;
    margin-bottom: 0;
    padding-left: 68px;
    border-bottom: 0
}

.mp-electorate-region {
    text-transform: uppercase;
    font-size: .75rem;
    letter-spacing: 1.5px;
    font-weight: 700;
    margin-bottom: .5rem
}

.mp-party {
    margin-bottom: .75rem
}

.mp-name {
    font-size: 1.15rem
}

.btn-default {
    background-color: rgba(59, 91, 166, 0);
    border: 1px solid #315BAD;
    width: 100%;
    max-width: 240px;
    height: 44px;
    font-size: 14px;
    line-height: 42px;
    letter-spacing: 1px;
    color: #3B5BA6;
    font-weight: 700
}

.btn-default:hover {
    color: #fff;
    background-color: #3B5BA6
}

.html2canvas-container {
    width: 24cm!important
}

page {
    background: white;
    display: block;
    margin: 0 auto;
    margin-bottom: .5cm
}

page[size="A4"] {
    width: 21cm;
    height: 29.7cm
}

page[size="A4"][layout="portrait"] {
    width: 29.7cm;
    height: 21cm
}

@media print {
    body,
    page {
        margin: 0;
        -webkit-box-shadow: none;
        box-shadow: none
    }
}

.circle {
    background: #fff;
    width: 56px;
    border: 1px solid #D0DBE7;
    border-radius: 28px;
    height: 56px;
    margin-left: 72px;
    position: relative
}

.circle img {
    position: absolute;
    margin-left: -17px;
    margin-top: 8px;
    height: 36px;
    width: 36px
}

canvas {
    display: none
}

.page-main {
    padding-top: 3rem
}

.page-container {
    background-color: #fff;
    margin-left: auto;
    margin-right: auto
}

.page-header .logo {
    text-align: center
}

.page-footer {
    background-color: #1E2556;
    color: #fff;
    font-size: 12px;
    text-align: center;
    padding: 1rem 1.5rem
}

.page-template-about .page-footer {
	position: fixed;
	width: 100%;
	bottom: 0;
}

.page-template-about .post-article {
 height: calc(100vh - 50px);
}

.article-header {
    background: #1E2556;
    text-align: center;
    padding: 2.5rem 1.5rem
}

.article-header h1 {
    color: #fff;
    font-size: 2rem
}

@media screen and (min-width:720px) {
    .article-header {
        padding: 3.25rem 1.5rem
    }
}

@media screen and (min-width:1000px) {
    .article-header h1 {
        font-size: 3.325em
    }
}

.article-entry {
    padding: 2.5rem 1.5rem 3.5rem;
    max-width: 640px;
    margin-left: auto;
    margin-right: auto;
    color: #1E2556
}

@media screen and (min-width:720px) {
    .article-entry {
        padding-left: 0;
        padding-right: 0
    }
}

.article-entry h1,
.article-entry h2,
.article-entry h3,
.article-entry h4,
.article-entry h5,
.article-entry h6 {
    margin-top: 1.5rem;
    margin-bottom: 1rem;
    line-height: 1.2
}

.article-entry h1 {
    font-size: 2.5rem
}

.article-entry h2 {
    font-size: 2rem
}

.article-entry h3 {
    font-size: 1.5rem
}

.article-entry h4 {
    font-size: 1.25rem
}

.article-entry h5,
.article-entry h6 {
    font-size: .875rem;
    letter-spacing: 1px;
    text-transform: uppercase
}

.article-entry p,
.article-entry img,
.article-entry ul,
.article-entry ol,
.article-entry blockquote {
    margin-bottom: 1rem
}

.article-entry ul {
    list-style: outside disc;
    margin-left: 1.5rem
}

.article-entry ol {
    list-style: outside decimal;
    margin-left: 1.5rem
}

.article-entry a {
    color: #345EAB;
    text-decoration: underline;
    -webkit-text-decoration-skip: edges;
    text-decoration-skip: edges
}

.article-entry a:hover {
    color: #575E94;
    text-decoration: none
}

.article-entry blockquote {
    background-color: #F6F7FA;
    border-left: 3px solid #1E2556;
    margin: 2rem 0;
    padding: 1rem 1.5rem
}

.article-entry blockquote p {
    margin-bottom: 0
}

.article-entry blockquote p+p {
    margin-bottom: 1rem
}

.drawer .contact-details {
    padding: 1.5rem 2.5rem;
    border-top: 1px solid #afafaf;
    margin-top: 1rem
}

.contact-details.mp-email {
    border-bottom: 1px solid #afafaf;
    padding-bottom: 1rem
}

.contact-details.mp-address {
    border-top: 0;
    padding-top: 1em
}

.contact-details p {
    font-size: .75em;
    line-height: 1.5;
    margin-top: 0;
    margin-bottom: 1em;
    color: #1E2556
}

.contact-details h6 {
    color: #1E2556;
    font-size: .875em;
    line-height: 1.5;
    margin-top: 0;
    margin-bottom: 1em;
    text-transform: uppercase
}

.contact-details h5 {
    color: #1E2556;
    font-size: .875em;
    line-height: 1.5;
    margin-top: 0
}

.contact-details a {
    color: #1E2556;
    text-decoration: none;
    -webkit-transition: color 350ms ease;
    transition: color 350ms ease
}

#menuDrawer .contact-details a {
 display: block;
}

.contact-details a:hover {
    color: #345EAB
}

#pdf-template {
    font-family: Proxima Nova!important
}

#lottie {
    background-color: #fff;
    width: 100%;
    height: 100%;
    display: block;
    overflow: hidden;
    transform: translate3d(0, 0, 0);
    text-align: center;
    opacity: 1
}

.list-group {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    padding-left: 0;
    margin-bottom: 0
}

.list-group-item-action {
    width: 100%;
    color: #464a4c;
    text-align: inherit
}

.list-group-item-action .list-group-item-heading {
    color: #292b2c
}

.list-group-item-action:focus,
.list-group-item-action:hover {
    color: #464a4c;
    text-decoration: none;
    background-color: #f7f7f9
}

.list-group-item-action:active {
    color: #292b2c;
    background-color: #eceeef
}

.list-group-item {
    position: relative;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-flow: row wrap;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    padding: .75rem 1.25rem;
    margin-bottom: -1px;
    background-color: #fff;
    border: 1px solid rgba(0, 0, 0, .125)
}

@media screen and (min-width:1024px) {
    .search-wrap {
        position: relative
    }
    .list-group {
        top: 80%;
        width: 100%;
        position: absolute
    }
}

.list-group-item:first-child {
    border-top-right-radius: .25rem;
    border-top-left-radius: .25rem
}

.list-group-item:last-child {
    margin-bottom: 0;
    border-bottom-right-radius: .25rem;
    border-bottom-left-radius: .25rem
}

.list-group-item:focus,
.list-group-item:hover {
    text-decoration: none
}

.list-group-item.disabled,
.list-group-item:disabled {
    color: #636c72;
    cursor: not-allowed;
    background-color: #fff
}

.list-group-item.disabled .list-group-item-heading,
.list-group-item:disabled .list-group-item-heading {
    color: inherit
}

.list-group-item.disabled .list-group-item-text,
.list-group-item:disabled .list-group-item-text {
    color: #636c72
}

.list-group-item.active {
    z-index: 2;
    color: #fff;
    background-color: #0275d8;
    border-color: #0275d8
}

.list-group-item.active .list-group-item-heading,
.list-group-item.active .list-group-item-heading>small,
.list-group-item.active .list-group-item-heading>.small {
    color: inherit
}

.list-group-item.active .list-group-item-text {
    color: #daeeff
}

.list-group-flush .list-group-item {
    border-right: 0;
    border-left: 0;
    border-radius: 0
}

.list-group-flush:first-child .list-group-item:first-child {
    border-top: 0
}

.list-group-flush:last-child .list-group-item:last-child {
    border-bottom: 0
}

.list-group-item-success {
    color: #3c763d;
    background-color: #dff0d8
}

a.list-group-item-success,
button.list-group-item-success {
    color: #3c763d
}

a.list-group-item-success .list-group-item-heading,
button.list-group-item-success .list-group-item-heading {
    color: inherit
}

a.list-group-item-success:focus,
a.list-group-item-success:hover,
button.list-group-item-success:focus,
button.list-group-item-success:hover {
    color: #3c763d;
    background-color: #d0e9c6
}

a.list-group-item-success.active,
button.list-group-item-success.active {
    color: #fff;
    background-color: #3c763d;
    border-color: #3c763d
}

.list-group-item-info {
    color: #31708f;
    background-color: #d9edf7
}

a.list-group-item-info,
button.list-group-item-info {
    color: #31708f
}

a.list-group-item-info .list-group-item-heading,
button.list-group-item-info .list-group-item-heading {
    color: inherit
}

a.list-group-item-info:focus,
a.list-group-item-info:hover,
button.list-group-item-info:focus,
button.list-group-item-info:hover {
    color: #31708f;
    background-color: #c4e3f3
}

a.list-group-item-info.active,
button.list-group-item-info.active {
    color: #fff;
    background-color: #31708f;
    border-color: #31708f
}

.list-group-item-warning {
    color: #8a6d3b;
    background-color: #fcf8e3
}

a.list-group-item-warning,
button.list-group-item-warning {
    color: #8a6d3b
}

a.list-group-item-warning .list-group-item-heading,
button.list-group-item-warning .list-group-item-heading {
    color: inherit
}

a.list-group-item-warning:focus,
a.list-group-item-warning:hover,
button.list-group-item-warning:focus,
button.list-group-item-warning:hover {
    color: #8a6d3b;
    background-color: #faf2cc
}

a.list-group-item-warning.active,
button.list-group-item-warning.active {
    color: #fff;
    background-color: #8a6d3b;
    border-color: #8a6d3b
}

.list-group-item-danger {
    color: #a94442;
    background-color: #f2dede
}

a.list-group-item-danger,
button.list-group-item-danger {
    color: #a94442
}

a.list-group-item-danger .list-group-item-heading,
button.list-group-item-danger .list-group-item-heading {
    color: inherit
}

a.list-group-item-danger:focus,
a.list-group-item-danger:hover,
button.list-group-item-danger:focus,
button.list-group-item-danger:hover {
    color: #a94442;
    background-color: #ebcccc
}

a.list-group-item-danger.active,
button.list-group-item-danger.active {
    color: #fff;
    background-color: #a94442;
    border-color: #a94442
}

@media (min-device-width:769px) and (max-device-width:1024px) {
    html,
    body {
        font-size: 14px
    }
    .statistics-list .statistic-label {
        font-size: 12px
    }
}

@media (max-device-width:420px) {
    .candidate-name__wrap {
        padding-left: 0rem
    }
}

body.open-bottom .bottom-bar {
	 background: #608cd0;
	border-left: 1px solid #fff;

}

body.open-bottom .bottom-bar__nav a {
    color: #ffffff;
	-webkit-transition: all 0.35s cubic-bezier(.16, 0, 0, .24);
    transition: all 0.35s cubic-bezier(.16, 0, 0, .24);

}

.bottom-bar:hover .bottom-bar__nav a {
    color: #fff;
}

body.open-bottom .bottom-bar__nav a {
    color: #fff;
    opacity: 0.5;
}

body.open-bottom .bottom-bar__nav a.active {
    opacity: 1 !important;
}

.bottom-bar:hover {
    background: #608cd0;
	border-left: 1px solid #fff;
}

#election-results-media-body.hideDeets #election-result,
#election-results-media-body.hideDeets #election-enrolment,
#election-results-media-body.hideDeets .election-results__bar,
#election-results-media-body.hideDeets .election-margin-swing {
    display: none;
}