.clearfix:after {
     visibility: hidden;
     display: block;
     font-size: 0;
     content: " ";
     clear: both;
     height: 0;
     }
.clearfix { display: inline-block; }
/* start commented backslash hack \*/
* html .clearfix { height: 1%; }
.clearfix { display: block; }
/* close commented backslash hack */


/* hide "Latest | Popular | Voices" bar */
#content > ul { display:none; }
#header { margin-bottom: 0 !important; }


html {
    background: #303131 url("../desktop/i/general-election/home-skin-frame_v3-repeating-pattern-transparent.png") center 300px repeat-y !important;
}

/* Sitemode class on <body> */
.election2016-page .masthead .publications,
.election2020-page .masthead .publications{
    background: linear-gradient( rgba(0, 0, 0, 0.07), rgba(0, 0, 0, 0.07) ), url("../desktop/i/thejournal/backgroundMain.gif");
}

section.general-election, section h1, section h2 {
    font-family: 'Source Sans Pro', sans-serif;
}
.general-election {
    margin-bottom: 5em;
    margin-right: 0.5em;
    font-size: 16px;
    position:relative;
}

.general-election > a.heading-link {
    background: #303131;
    display: block;
    position:relative;
    padding: 0.4em;
    font-size: 2em;
    margin:0;
    margin-bottom: 0.4em;
}

.general-election > a.heading-link:active,
.general-election > a.heading-link:hover {
    text-decoration: none;
}

.general-election > a.heading-link > h1 {
    margin: 0;
    color: #f2d765;
    text-transform: uppercase;
    white-space: nowrap;
    font-weight: bolder;
    font-size: inherit;
    letter-spacing: 0.05em;
}

#banner-link {
    margin-bottom: 10px;
}

header {
    margin-bottom:1.7em;
}
    header img {
        width: 100%;
    }
    header .election-title {
        background: #303131;
    }
        header .election-title h1 {
            color:white;
            margin:0;
            padding:0.8em;
            text-transform: uppercase;
        }
            header .election-title h1 span {
                color: #C4EEF3;
            }
header.candidate-page {
    margin-bottom:0.7em;
    white-space: nowrap;
}
   header h2 {
       display:inline-block;
       font-weight: bold;
       margin-left: 0.8em;
       padding-bottom: 0.3em;
       margin-top: 0.9em;
       font-family: 'Source Sans Pro', sans-serif;
   }

.constituency-hover-name {
    pointer-events: none;
    position:absolute;
    display: none;
    background: white;
    height:40px;
    width:200px;
    text-transform: uppercase;
    color: #333333;
    letter-spacing: 0.04em;
    line-height:40px;
    top: 0;
    text-align:center;
    font-weight: bold;
    border: 1px solid #eee;
    box-shadow:0 1px 2px #aaa;
}

/* fixed height and fadein to prevent jumpy page load with d3 map */
#map-target {
    height: 688px;
} #map-target svg {
    -webkit-animation: fadein 1s; /* Safari, Chrome and Opera > 12.1 */
       -moz-animation: fadein 1s; /* Firefox < 16 */
        -ms-animation: fadein 1s; /* Internet Explorer */
         -o-animation: fadein 1s; /* Opera < 12.1 */
            animation: fadein 1s;
} keyframes fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
} /* Firefox < 16 */
@-moz-keyframes fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
} /* Safari, Chrome and Opera > 12.1 */
@-webkit-keyframes fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
} /* Internet Explorer */
@-ms-keyframes fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
} /* Opera < 12.1 */
@-o-keyframes fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
}

main.home {
    font-size: 16px;
    position:relative;
    margin-bottom:4em;
}
    .select-container {
        position:relative;
        padding: 2em;
        background: #f9f8f5;
        border: 2px solid rgb(246,245,244);
    }
    .constituency-select {
        width:          100%;
        height:         3em;
        margin:         0;
        color:          #414141;
        display:        table;
        position:       relative;
    }
    .select-container .dd-container p {
        margin: 0 0 0.6em 0;
        font-weight: 600;
    } .dd-container {
        display:        inline-block;
        position:       relative;
        width:          100%;
        margin-top:     1.2em;
        transition: opacity .8s;
    } .dd-container:first-of-type {
        margin-top: 0;
    } .dd-container.inactive {
        opacity: 0.5;
        transition: opacity .8s;
    } .dd-container.inactive select {
        cursor: default;
    }
        .constituency-select label {
            display:        table-cell;
            font-size:      inherit;
            font-weight:    400;
            letter-spacing: 0.02em;
            width:          100%;
            height:         45px;
            border:         2px solid #E1DFDC;
            padding-left:   1em;
            border-radius:  5px;
            vertical-align: middle;
            text-transform: capitalize;
            background:     white;
        }

        .constituency-select label:after {
            content: '';
            width: 20px;
            height: 20px;
            line-height: 20px;
            display: block;
            float: right;
            margin-right: 1em;
            margin-top: 0.55em;
            background-size: 85%;
            background-image: url('../touch/i/general-election/arrow_down_mobile.png');
            background-repeat: no-repeat;
            background-position: center center;
        }
        .constituency-select select {
            /* some css hackery to get around centering select text */
            opacity:        0;
            width:          100%;
            height:         3em;
            font-size:      inherit;
            -webkit-appearance: none;
            -moz-appearance: none;
            appearance: none;
            position: absolute;
            left:0;
            bottom: 0;
            -moz-appearance: none;
            -webkit-appearance: none;
        }

        main.home section#candidates {
            display:none;
        }
        main.home .sort-toggle {
            overflow:       hidden;
            position:       relative;
            white-space:    nowrap;
            vertical-align: top;
            float:          right;
            transition: opacity .8s;
        }

        /* disabled stylings */
        main.home .sort-toggle.inactive {
            opacity: 0.5;
            transition: opacity .8s;
        } main.home .sort-toggle.inactive a {
            cursor: default;
        } main.home .sort-toggle.inactive .slider {
            background: #aaa;
            transition: background .8s;;
        }

        main.home .slide-box {
            width: 270px;
            border: 2px solid #E1DFDC;
            border-radius:5px;
            background:     white;
        }
        main.home .sort-toggle span {
            display: block;
            font-weight: bold;
            margin-bottom: 0.4em;
        }
        main.home .sort-toggle a {
            margin:0;
            padding:11px;
            display:inline-block;
            position:relative;
            width: 113px;
            height:23px;
            line-height: 23px;
            text-align:center;
            letter-spacing: 1px;
            background: transparent;
            color: #414141;
            transition: color .3s;
            text-decoration: none;
        }
        main.home .sort-toggle a.active {
            color:white;
            transition: color .3s;
        }
        main.home .slider {
            background: #13A399;
            margin-top: -1px;
            border-radius:5px;
            height:23px;
            padding: 12px;
            width: 113px;
            position:absolute;
            z-index:0;
            left:0;
            transition: left .3s, background .8s;;
        }
        main.home .slider.right {
            left:137px;
            transition: left .3s;
        }
        main.home .showing:after {
            margin-top: 0.5em;
            margin-bottom: 1em;
            content: '';
            display:block;
            height:2px;
            width:140px;
            background: #E1DFDC;
        }
        .candidate {
            padding-top: 1.4em;
            padding-bottom: 1.4em;
            width: 50%;
            height: 135px;
            float:left;
        }
        .party .candidate {
            border-bottom:none;
        }

            .candidate .short-details {
                display:inline-block;
                vertical-align: middle;
                max-width: 165px;
                width: 100%;
            }
            #party-candidate-list .candidate .short-details {
                vertical-align: top;
                margin-top: 1.5em;
            }
            .candidate.party-list .short-details {
                display:block;
            }
            .party .side-by-side {
                width:50%;
                display:inline-block;
                vertical-align: top;
                margin-bottom: 2em;
            }
            .party .side-by-side .short-details,
            .party .side-by-side .candidate-link,
            .party .side-by-side img {
                text-align: center;
                margin-left:auto;
                margin-right:auto;
                width: auto;
            } .party .side-by-side img {
                width: 85%;
                height: 85%;
            }
                .candidate .name {
                    font-family: 'Source Sans Pro', sans-serif;
                    font-size: 1.4em;
                    font-weight: 600;
                    letter-spacing: 0.03em;
                    color: #414141;
                }
                .candidate .short-details .party {
                    font-family: 'Source Sans Pro', sans-serif;
                    letter-spacing: 0.02em;
                    font-weight: normal;
                    color: #414141;
                    padding-left:0.37em;
                    line-height: 1.0em;
                }
            .candidate-link {
                height: 135px;
                text-decoration:none;
                box-shadow: none;
                transition: opacity .2s ease-in-out;
                white-space: nowrap;
            }
            .candidate-link:hover {
                text-decoration: none;
            }
            .candidate-link:active {
                opacity: 0.5;
                transition: opacity .2s ease-in-out;
            }
            .candidate img {
                width: 120px;
                height: 120px;
                border-radius:50%;
                border: 5px solid #F1F0EF;
                background-color: #FDFCFB;
                margin-right: 0.8em;
                display:inline-block;
            }

            /* sort-by-party/constituency */
            main.home .candidates > [class^='party-']{
                padding: 4em 0 1.5em 0;
                border-bottom: 1px solid #F2F0ED;
            }
            .constituency-title {
                padding-top: 2em;
                margin-top: 2em;
            }
            .candidate-list .constituency-title {
                border-top: 1px solid #F2F0ED;
            }
            main.home [class^='party-'] .party-title,
            .constituency-title {
                width: 100%;
                overflow: hidden;
                white-space: nowrap;
            }
                main.home [class^='party-'] .party-title h3,
                .constituency-title h1 {
                    font-family: 'Source Sans Pro', sans-serif;
                    text-transform: uppercase;
                    font-size: 1.6em;
                    display: inline-block;
                    width: auto;
                    padding-left: 0.5em;
                } main.home [class^='party-'] .party-title h3 {
                    letter-spacing: 0.05em;
                }
                main.home [class^='party-'] .party-title span,
                .constituency-title span {
                    display:inline-block;
                    height:4px;
                    width: 100%;
                    vertical-align: super;
                    overflow:hidden;
                } .constituency-title span {
                    background: #1E6E58;
                }
            main.home [class^="party-"] .candidate .short-details .party {
                display: none;
            }
            main.home [class^="party-"] .candidate {
                border-bottom: none;
            }

/* sidebar widget, variation on homepage constituency dropdown */
.candidate-search-widget {
    font-size: 14px;
    margin-bottom: 1em;
} .candidate-search-widget h1 {
    font-family: 'Source Sans Pro', sans-serif;
    font-size: 1.5em;
    font-weight: bold;
    margin: -0.5em 0 0 0;
} .candidate-search-widget .select-container {
    padding: 2.1em 1.5em 2.1em 1.5em;
} .candidate-search-widget .dd-container,
  .candidate-search-widget .constituency-select {
      width: 100%;
}.candidate-search-widget .constituency-select select{
    height: 3.5em;
}

.election_title {
    border-top:     1px solid #F1F1F1;
    font-color:     #F6F6F6;
    font-family:    sans-serif;
    font-weight:    bold;
    font-size:      16px;
    line-height:    16px;
    margin-top:     6em;
    padding:        20px 10px 0 10px;
    background:     #f1f1f1;
    text-transform: uppercase;
}
    .election_title span {
        border-bottom:  1px solid #EEEEEE;
        width:          100%;
        display:        block;
        padding-bottom: 14px;
        margin-bottom:  9px;
    }

    .election-btn-container,
    .party-btn-container,
    .results-btn-container {
        width: 100%;
        font-size: 15px;
        white-space: nowrap;
        position: relative;
    }
    .election-btn-container,
    .party-btn-container {
        padding: 30px 0 40px 0;
    }
    .results-btn-container {
        padding: 0 0 0 0;
    }
    .election-btn-container {
        border-bottom: 1px solid #E7E7E7;
    }
        .election-btn-container .election-btn,
        .party-btn-container .party-btn {
            background: #1E6E58;
            width:100%;
            padding:11px;
            border-radius: 4px;
            letter-spacing: 0.05em;
            transition: background .1s, opacity .1s;
            display: block;
            text-align: center;
            text-decoration: none;
        }
        .party-btn-container .party-btn {
            color: white;
            padding:15px;
            display: inline-block;
            width: 220px;
            position: absolute;
            right:0;
        }
        .party-btn-container .party-btn:active {
            opacity:0.85;
        }
        .election-btn-container .election-btn {
            background:white;
            color: #129990;
            border: 2px solid #13A399;
        }
        .election-btn-container .election-btn:active {
            background: #eff9fa;
            transition: background .1s;
        }
        .election-btn-container .election-btn:focus {
            outline:none;
        }
    .election-signup {
        margin-top: 40px;
    }
        .election-signup h3 {
            font-family: 'Source Sans Pro', sans-serif;
            font-size: 1.2em;
        }
        .election-signup label {
            width: 100%;
        }
        .election-signup input {
            border: 1px solid #E1DFDC;
            border-radius: 3px;
            min-height: 44px;
            width: 100%;
            padding-left: 1em;
        }
        .election-signup button {
            background: #13A399;
            font-weight: 600;
            color: white;
            width:100%;
            padding:11px;
            border: 2px solid #13A399;
            border-radius: 4px;
            letter-spacing: 0.05em;
            margin: 20px 0 40px 0;
            transition: color .1s, background .1s;
        }
            .election-signup button:active {
                background: #66c5d1;
                transition: background .1s;
            }
            .election-signup button:focus {
                outline:none;
            }
    a.back-to {
        color: grey;
        position: absolute;
        top: 45px;
    }
    .results-btn-container a.back-to {
        position: relative;
        top: inherit;
    }
    a.back-to:before {
        content: '';
        width: 20px;
        height: 20px;
        display: inline-block;
        vertical-align: middle;
        background-size: 30%;
        background-image: url('../touch/i/general-election/arrow_left_mobile.png');
        background-repeat: no-repeat;
        background-position: center 40%;
    }
.loading_election:before,
.loading_election:after,
.loading_election {
    border-radius: 50%;
    width: 2.0em;
    height: 2.0em;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    -webkit-animation: load7 1.8s infinite ease-in-out;
    animation: load7 1.8s infinite ease-in-out;
}
.loading_election {
    display:none;
    font-size: 10px;
    margin: 0 auto;
    position: absolute;
    left:50%;
    margin-top: -8px;
    text-indent: -9999em;
    -webkit-transform: translateZ(0);
    -ms-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-animation-delay: -0.16s;
    animation-delay: -0.16s;
}
.loading_election:before {
    left: -13.5em;
    -webkit-animation-delay: -0.32s;
    animation-delay: -0.32s;
}
.loading_election:after {
    left: 13.5em;
}
.loading_election:before,
.loading_election:after {
    content: '';
    position: absolute;
    top: 0;
}
@-webkit-keyframes load7 {
    0%,
    80%,
    100% {
        box-shadow: 0 2.5em 0 -1.3em rgba(19,163,153,0.3);
    }
    40% {
        box-shadow: 0 2.5em 0 0 rgba(19,163,153,0.3);
    }
}
@keyframes load7 {
    0%,
    80%,
    100% {
        box-shadow: 0 2.5em 0 -1.3em rgba(19,163,153,0.3);
    }
    40% {
        box-shadow: 0 2.5em 0 0 rgba(19,163,153,0.3);
    }
}

.party-image {
    height: 280px;
    width: 100%;
    background-size: cover;
    background-position: center center;
}
.party-image.fine-gael {
    background-position: center 35%;
}
.party-image.labour {
    background-position: center 28%;
}
.party-image.fianna-fáil {
    background-position: center 6%;
}
.party-image.sinn-féin {
    background-position: center 60%;
}
.party-image.social-democrats {
    background-position: center 20%;
}
.party-image.green-party {
    background-position: center 7%;
}
.party-image.renua-ireland {
    background-position: center 100%;
}
.party-image.workers-and-unemployed-action {
    background-position: center 60%;
}
.party-image.aaa-pbp {
    background-position: center 80%;
}
.party-image.ddi-ncm {
    background-position: center 70%;
}
.party-image.workers--party {
    background-position: center 70%;
}
.party-image.irish-democratic-party {
    background-position: center 80%;
}
.party-image.united-people {
    background-position: center 70%;
}
.party-image.communist-party-of-ireland {
    background-position: center 70%;
}
.party-image.independents-4-change {
    background-position: center 80%;
}
.party-image.independent {
    background-position: center 80%;
}

header.home {
    width:100%;
    position:relative;
    white-space: nowrap;
    background: #FDFBF8;
    border-bottom: 2px solid rgb(236,236,236);
    margin-bottom: 3.5em;
}
header.home h1 {
    position: absolute;
    text-transform: uppercase;
    line-height: 1.1em;
    letter-spacing: 0.02em;
    font-size: 2em;
}
    .general-election .top-bar {
        margin-bottom: 0.8em;
        width: 100%;
        height: 45px;
    }
    .general-election .top-bar a:hover {
        text-decoration: none;
    }
    .general-election header .top-bar h1 {
        color: white;
        text-transform: uppercase;
        font-size: 1em;
        padding: 0.8em 0.8em 0.8em 1em;
        letter-spacing: 0.05em;
        display: inline;
        line-height: 45px;
    }
        header .top-bar .election-share {
            float: right;
            line-height: 45px;
            color: white;
            margin-right: 20px;
            cursor: pointer;
            text-transform: uppercase;
            position:relative;
        }
        .election-share-icon {
            background: url(/desktop/i/general-election/sprite.png) no-repeat;
            width: 27px;
            height: 27px;
            margin-right: 2px;
            float: left;
            position: relative;
        }
            .election-share-cta {
                background-position: 0px 0px;
                margin-top: 9px;
            }
            .election-share_facebook .election-share-icon {
                background-position: -15px -1px;
            }
            .election-share_twitter .election-share-icon {
                background-position: -20px -21px;
            }
            .election-share_email .election-share-icon {
                background-position: -19px -44px;
            }
    .top-bar-share-box {
        display: none;
        height: 46px;
        position: absolute;
        right:0;
    }
        .eleciton-share  {
            width: 80px;
            margin-left: 25px;
            float: right;
            font-size: 14px;
            line-height: 25px;
            font-weight: 600;
            text-transform: uppercase;
        }
    header .header-image {
        display:inline-block;
        min-width: 30px;
        height: 260px
    }
    header .header-image img {
        width:260px;
        height:260px;
        opacity: 0;
    }
        header .header-image h2 {
            color:white;
            bottom:0;
            font-weight: normal;
            font-size: 2.0em;
            letter-spacing: 0.03em;
        }
        header .header-image h2 {
            font-size: 2em;
        }
    .party, .candidate-page {
        margin-top: 0em;
    }
    .detail-container .details {
        margin: 0 0 1.4em 0;
    }
    .detail-container .details p {
        font-size: 18px;
        line-height: 1.3em;
    }
    .detail-container .line {
        margin-bottom: 1em;
    }
    header .detail-container {
        display:inline-block;
        vertical-align:top;
        margin: 20px 40px 60px 40px;
        white-space: normal;
        max-width: 310px
    }
    header .detail-container .details h1 {
        font-size:      1.8em;
        font-weight:    bold;
        margin:         0;
    }
    .detail-container .inline {
        padding: 0 0.7em 1em 0;
    }
    .detail-container .inline h3,
    .detail-container .inline p {
        display:inline-block;
        margin:0;
        margin-right:0.5em;
        font-size: 18px;
        width: 150px;
        vertical-align:top;
    }
    .detail-container .inline h3 {
        width: 105px;
        margin-right: 30px;
    }
    .party .details h1 {
        font-weight: bold;
        font-size: 2em;
        margin: 1em 0 1em 0;
    }
    main.candidate-page .detail-container .details.inline.article:before {
        content: "";
        display: inline-block;
        background: url(/desktop/i/website_icon.png) no-repeat;
        background-position: center center;
        vertical-align: bottom;
        width: 20px;
        height: 20px;
    }
        .detail-container .questions > h1 {
            margin-top: 2.7em;
            text-transform: uppercase;
            font-size: 1.2em;
            font-weight: bolder;
        }
        .detail-container .questions h3 {
            font-size: 18px;
        }
        span.line {
            background: #1E6E58;
            display:block;
            vertical-align: middle;
            margin-bottom:1.4em;;
            width: 100%;
            height: 4px;
        }
        .question {
            margin-top: 1.4em;
        }
            .detail-container .questions .qq {
                color: #1E6E58;
                font-weight:bolder;
                font-size:1.2em;
                margin-top:0;
                display:inline-block;
                width:1em;
            }
            .detail-container .questions .details {
                display:inline-block;
                width:90%;
                vertical-align:text-top;
            }
            .detail-container .questions .details h3 {
                margin-top:0;
            }
main.candidate-page .connect {
    border-top: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
    margin-top:2em;
    padding: 1em 0 0.5em 0;
}
main.candidate-page .connect:after {
    content: '';
    width: 100%; /* Ensures there are at least 2 lines of text, so justification works */
    display: inline-block;
}
    main.candidate-page .connect h1 {
        font-weight: bold;
        display:inline-block;
        vertical-align:middle;
        font-size: 1.1em;
    }
    main.candidate-page .connect .social-btn {
        width: 40px;
        height: 40px;
        background-color: #F1F0EF;
        background-size: 40px;
        display:inline-block;
        vertical-align: middle;
        border-radius: 50%;
        margin: 0 0 10px 25px;
    }
    main.candidate-page .connect .social-btn a {
        width: 40px;
        height: 40px;
        display:block;
        background-repeat: no-repeat;
        background-position: center;
        background-size: 40px;
    }
    main.candidate-page .connect .social-btn.web a {
        background-image: url('../touch/i/general-election/link_mobile_80x80.png');
    }
    main.candidate-page .connect .social-btn.twitter a {
        background-image: url('../touch/i/general-election/twitter_mobile_80x80.png');
    }
    main.candidate-page .connect .social-btn.facebook a {
        background-image: url('../touch/i/general-election/facebook_mobile_80x80.png');
    }
    main.candidate-page .connect .social-btn.email a {
        background-image: url('../touch/i/general-election/mail_mobile_80x80.png');
    }


.showing, main.home .showing {
    margin-top: 1.5em !important;
    font-weight: lighter;
    font-style: italic;
    color: #606060;
}

main.party .manifesto {
    margin-top:2.5em;
    margin-bottom:1.0em;
}
    main.party .manifesto h3 {
        padding-bottom: 0.3em;
    }
    main.party .manifesto iframe {
        width: 100%;
        height: 345px;
    }

main.party .candidate-list h1 {
    text-transform: uppercase;
    color: #1E6E58;
    white-space: initial;
}

.river-header {
    background: rgb(240,239,235);
    text-transform: uppercase;
    padding: 1.3em;
    margin-bottom: 1em;
} .content .river-header h2 {
    color: rgb(51, 51, 51);
    font-size: 1.2em;
    margin: 0;
} .content .river-header span {
    font-weight: bold;
}
    .election-constituency-title {
        display: none;
        position: relative;
    }
    .election-constituency-title .river-header {
        height: 26px;
        margin-top: 3.5em !important;
    }
    .election-constituency-title .river-header h2 {
        float: left;
    }
    .election-constituency-title .river-header span.seats {
        float: right;
        font-size: 1.2em;
    }
    .election-constituency-title .river-header span.dl-note {
        text-transform: none;
        font-weight:lighter;
        position: absolute;
        font-style:italic;
        font-size: 0.8em;
        color: #777;
        bottom:0;
        left:1em;
        padding: 0.5em;
    }

.results-graph {
    position: relative;
    padding-top: 140px;
    margin-left: 15px;
    margin-right: 15px;
}
.results-graph .no-seats {
    text-align: center;
}
.results-graph .no-seats p {
    font-size: 1.3em;
    color: #aaa;
    font-style: italic;
}
.results-graph-header {
    margin: 25px 0 -15px 15px;
    text-transform: uppercase;
    font-weight:bolder;
}
.results-graph  dl {
    display: table;
    border-collapse:separate;
    position:absolute;
    bottom:0;
    width: 100%;
    margin:1em 0 1em 0;
    min-height: 240px;
}
.results-graph  dt {
    text-transform: uppercase;
    position: absolute;
    width:100%;
    font-size: 15px;
    bottom: 313px;
    white-space:nowrap;
    color: #414141;
    direction: rtl;
    overflow: hidden;
    z-index:2;
}
.results-graph  dt:after {
    content: '';
    width:100%;
    height:2px;
    vertical-align:middle;
    display:inline-block;
    background: #F9DF68;
    margin-right:10px;
}
.results-graph .seats {
    color: #414141;
    font-weight: bold;
}
.results-graph .data {
    display: table-cell;
    text-align: center;
    vertical-align: bottom;
}
    .results-graph.no-results .data {
        display: none;
    }
.results-graph .data:not(:last-child) {
    padding-right: 3%;
}
.results-graph .bar {
    background: rgb(31,153,145);
    margin-top: 5px;
    font-size: 1.1em;
}
.results-graph .text {
    height: 30px;
    width: 36px;
    color: white;
    margin-top: -15px;
    margin-left: auto;
    margin-right: auto;
    line-height: 24px;
    font-size: 16px;
    text-align: center;
    padding-top:6px;
    display: block;
    border-radius: 50%;
    background: #303131;
}
.results-header img {
    width:100%;
}
.elected {
    border-bottom: 4px solid #129A91;
    text-align: justify;
    -ms-text-justify: distribute-all-lines;
    text-justify: distribute-all-lines;
    margin-top: -15px;
    margin-bottom: 2.5em;
}.elected:after {
    content: '';
    width: 100%;
    display: inline-block;
    font-size: 0;
    line-height: 0
}
.elected .title {
    overflow:hidden;
    text-align:center;
    width:100%;
    margin-top:3.9em;
}
.elected .title h1 {
    text-transform: uppercase;
    white-space: nowrap;
    text-align: center;
    font-weight: bolder;
    display:inline-block;
    position:relative;
    padding: 0 0.4em 0 0.4em;
    margin:0;
    font-size: 2em;
    letter-spacing: 0.05em;
}
.elected .title  h1:before,
.elected .title h1:after {
    content: "";
    background: #129A91;
    position:absolute;
    height: 4px;
    width: 900%;
    margin-top:0.5em;
    vertical-align: middle;
}
.elected .title h1:before{
    margin-right: 0.5em;
    right:100%;
}
.elected .title h1:after {
    left:100%;
    margin-left: 0.5em;
}
.elected-candidates {
    display: flex;
    justify-content: space-evenly;
}
.elected-photos {
    display: flex;
    flex-direction: column;
    -moz-flex-direction: column;
    text-align: center;
    vertical-align: top;
    padding-top:2em;
    padding-bottom:2em;
}
.elected-photos.x-3 {
    width: 33%;
}
.elected-photos.x-4 {
    width: 25%;
}
.elected-photos.x-5 {
    width: 20%;
}
.elected-photos a {
    display: block;
    flex-grow: 1;
    color:#333333;
}
.elected-photos .elected-candidate-photo {
    position: relative;
    width: 100px;
    margin: 0 auto;
}
.elected-photos img {
    border-radius:50%;
    border: 4px solid #F1F0EF;
    height:92px;
}
.elected-photos .elected-name {
    width: 94%;
    margin: 0 auto;
    font-weight: bold;
    line-height:1.2em;
    padding-top: 0.6em;
}
.elected-photos .elected-count {
    font-size: 0.8em;
    color: #555;
}
.elected-photos .elected-votes {
    font-weight: 600;
}
.constituency-details {
    border: 1px solid #F9DF68;
    padding: 2em;
    text-align: center;
    margin-bottom: 2.5em;
}
.constituency-details span {
    font-weight: bold;
    display:inline-block;
    padding-right:1em;
}
.constituency-details p {
    margin-top: 0 !important; /* override mad p+p styling somewhere */
    margin-bottom: 0.3em;
    display: block;
    float: left;
    font-size: 1.12em;
}
.constituency-details .note {
    text-align:left;
    font-style:italic;
    font-size:0.9em;
    color:#666;
    margin-bottom: 1em;
}
.constituency-details .details p:not(:last-child){
    border-right: 2px solid #EBE9E5;
    padding-right: 2em;
    margin-right: 2em;
}
.constituency-details .details p:last-of-type {
    margin: 0;
}
.party-circle {
    position: absolute;
    border-radius: 50%;
    color: white;
    text-align: center;
}
.party-circle p {
    letter-spacing: 0.07em;
    white-space: initial;
}
.candidate .party-circle {
    top: 90px;
    left: 93px;
    font-size: 1.2em;
    width: 45px;
    height: 45px;
    line-height: 45px;
}
.elected-photos .party-circle {
    top: 65px;
    left: 80px;
    font-size: 0.8em;
    width: 30px;
    height: 30px;
    line-height: 30px;
}

.workers-and-unemployed-action .party-circle p {
    font-size:0.7em;
}
.candidate .name {
    font-size: 1.3em;
    white-space: normal;
    line-height: 1em;
}
.short-details .votes {
    margin-top: 0.4em;
    color: #787878;
    white-space: nowrap;
}
.votes .votes-in-count {
    vertical-align: text-top;
    font-weight: bold;
    font-size: 1.1em;
    color: #000;
    margin-bottom: 0.25em;
}
.votes .votes-increment {
    font-style: italic;
}
.short-details .state {
    font-weight: bold;
    border: 2px solid gray;
    border-radius: 3px;
    display:inline-block;
    padding-left: 0.5em;
    padding-right: 0.5em;
    margin-top: 0.4em;
}
.short-details .state-elected {
    color: #0CB177;
    border-color: #0CB177;
    padding-bottom:0;
}
.short-details .state-running {
    color: #12423F;
    border-color: #12423F;
}
.short-details .state-eliminated {
    color: #929292;
    border-color: #929292;
}
.select-container.round-select {
    margin-bottom: 2em;
}
.constituency .short-details {
    position: relative;
    overflow:hidden;
}
.constituency-results .candidate {
    border-bottom: none;
    padding-bottom: 1em;
    padding-top: 1em;
    height: 135px;
    position: relative;
}
.constituency-results .short-details-container {
    display:inline-block;
    vertical-align: top;
    width: 39%;
    max-width: 165px;
    margin-top: 1.2em;
}
.empty-count {
    text-align: center;
    font-style: italic;
    height: 67px;
    position: absolute;
    left: 0;
    right: 0;
    bottom: -3.5em;
}
.ballot-box {
    height: 40px;
    width: 40px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 0.5em;
    background: url('https://static.thejournal.ie/touch/i/general-election/ballot_box.svg') center center no-repeat;
}
.candidates {
    margin-bottom: 2.5em;
}
.constituency-list .constituency-stats {
    display: flex;
    justify-content: space-between;
    padding: 0.6em;
    background: #f9f8f5;
    border: 2px solid rgb(246,245,244);
    margin-bottom: 0.4em;
    font-size: 1.2em;
    font-weight: bold;
    color: #333;
}
.constituency-list .constituency-stats:hover {
    text-decoration: none;
}
.constituency-list .constituency-stats.constituency-stats-finished {
    /*border-color: #0CB17733;*/
    color: #0CB177;
}
.constituency-list .constituency-stats:hover .constituency-name {
    text-decoration: underline;
}
.constituency-list .constituency-status {
    display: flex;
}
.constituency-list .count-label {
    padding-right: 1em;
    font-weight: 300;
    font-size: 0.8em;
}
.constituency-list .seats-progress {
    width: 2.25em;
    padding-right: 0.25em;
    text-align: right;
}
.constituency-list .seats-label {
    position: relative;
    font-weight: 300;
    font-size: 0.8em;
}
.constituency-list .seats-asterisk {
    position: absolute;
    right: -0.5em;
}
.constituency-list-note {
    margin-top: 1em;
    font-style: italic;
    font-size: 0.8em;
}
