/* @section 2.2.4 Box Bundesländer */

/* @section 2.2.4.1 Global */

.boxState a {
    padding: 5px;
    text-align: center;
    font-weight: bold;
    color: #0d65be;
    text-decoration: none
}

.boxState strong {
    white-space: nowrap;
    border-bottom: 1px dotted #0d65be
}

.boxState a:hover, .boxState strong:hover {
    color: #000;
    border-color: #000
}

.boxState a:hover hr {
    background: #000
}

.boxState strong + .cityDot {
    margin-top: 3px
}

.boxState .cityDot {
    display: block;
    font-size: 2em;
    line-height: 8px
}

.boxState, .boxCountry {
    display: inline-block;
    vertical-align: middle
}

.boxState {
    text-align: center;
    width: 60%
}

.boxCountry {
    width: 40%;
    text-align: center;
    color: #888
}

.boxCountry strong {
    display: block;
    font-weight: bold
}

/* @section 2.2.4.2 Bundesländer */

.stateMap {
    position: relative;
    display: inline-block;
    background: url('../img/sprite_states.png')
}

.stateMap > a {
    position: absolute
}

.stateMap hr {
    height: 1px;
    background: #8faf11;
    border: none;
    display: inline-block;
    vertical-align: middle;
    width: 10px;
    margin: 0 2px 0 -2px
}

.stateMap strong + hr {
    margin: 0 -2px 0 2px
}

.stateMap .alignVert {
    white-space: nowrap
}

.alignVert .cityDot {
    display: inline-block;
    margin: 0 5px;
    vertical-align: middle
}

/* Schleswig-Holstein */
.stateSH .stateMap {
    background-position: 0 -196px;
    width: 215px;
    height: 219px
}

.cityFlensburg {
    top: 5px;
    left: 45px
}

.citySchleswig {
    top: 55px;
    left: 70px
}

.cityHeide {
    top: 80px;
    left: 30px
}

.cityKiel {
    top: 85px;
    left: 115px
}

.cityLuebeck {
    top: 135px;
    left: 140px
}

/* Mecklenburg-Vorpommern */
.stateMV .stateMap {
    background-position: 0 -420px;
    width: 278px;
    height: 176px
}

.cityRostock {
    top: 55px;
    left: 95px
}

.citySchwerin {
    top: 85px;
    left: 35px
}

.cityWaren {
    top: 115px;
    left: 115px
}

/* Hamburg */
.stateHH .stateMap {
    background-position: 0 -601px;
    width: 184px;
    height: 198px
}

/* Niedersachsen */
.stateNI .stateMap {
    background-position: 0 -804px;
    width: 217px;
    height: 227px
}

.cityHagen {
    top: 20px;
    left: 75px
}

.cityLueneburg {
    top: 15px;
    left: 135px
}

.cityOldenburg {
    top: 45px;
    left: 30px
}

.cityHannover {
    top: 85px;
    left: 90px
}

.cityHannover .cityDot {
    text-indent: 10px
}

.cityWolfsburg .cityDot {
    text-indent: -10px
}

.cityWolfsburg {
    top: 85px;
    left: 155px
}

.cityOsnabrueck {
    top: 115px;
    left: 0
}

.cityOsnabrueck .cityDot {
    text-indent: 55px
}

.cityHildesheim {
    top: 115px;
    left: 80px
}

.cityHildesheim .cityDot {
    text-indent: 40px
}

.cityBraunschweig {
    top: 115px;
    left: 155px
}

.cityBraunschweig .cityDot {
    text-indent: -60px
}

.cityGoettingen {
    top: 170px;
    left: 115px
}

/* Bremen */
.stateHB .stateMap {
    background-position: 0 -1036px;
    width: 285px;
    height: 155px
}

.cityBremerhaven {
    top: 70px;
    left: 0
}

.cityBremen {
    top: 70px;
    left: 185px
}

/* Brandenburg */
.stateBB .stateMap {
    background-position: 0 -1196px;
    width: 217px;
    height: 227px
}

.cityBrandenburg {
    top: 50px;
    left: 0;
    max-width: 80px
}

.cityBrandenburg strong {
    white-space: normal
}

.cityBrandenburg .cityDot {
    text-indent: 40px
}

.cityPotsdam {
    top: 90px;
    left: 60px
}

.cityFrankfurtOder {
    top: 70px;
    left: 115px
}

.cityFrankfurtOder .cityDot {
    text-indent: 60px
}

.cityCottbus {
    top: 130px;
    left: 155px
}

/* Berlin */
.stateBE .stateMap {
    background-position: 0 -1660px;
    width: 215px;
    height: 203px
}

/* Sachsen-Anhalt */
.stateST .stateMap {
    background-position: 0 -1427px;
    width: 150px;
    height: 227px
}

.cityMagdeburg {
    top: 50px;
    left: 25px
}

.cityWittenberg {
    top: 90px;
    left: 85px
}

.cityHalle {
    top: 120px;
    left: 55px
}

/* Nordrhein-Westfalen */
.stateNRW .stateMap {
    background-position: 0 -1868px;
    width: 251px;
    height: 244px;
    margin-left: 90px
}

.cityMuenster {
    top: 25px;
    left: 100px
}

.cityBielefeld {
    top: 25px;
    left: 165px
}

.cityHammRhein {
    top: 60px;
    left: 125px
}

.cityHammRhein .cityDot {
    text-indent: -60px
}

.cityPaderborn {
    top: 80px;
    left: 195px
}

.cityOberhausen {
    top: 85px;
    left: -20px
}

.cityGelsenkirchen {
    top: 70px;
    left: 35px
}

.cityDortmund {
    top: 85px;
    left: 95px
}

.cityDuisburg {
    top: 100px;
    left: -30px
}

.cityDuisburg hr {
    width: 20px
}

.cityEssen {
    top: 100px;
    left: 55px
}

.cityBochum {
    top: 95px;
    left: 80px
}

.cityBochum hr {
    width: 80px
}

.cityKrefeld {
    top: 115px;
    left: -70px
}

.cityKrefeld hr {
    width: 60px
}

.cityHagenNrw {
    top: 110px;
    left: 95px
}

.cityNeuss {
    top: 125px;
    left: -10px
}

.cityWuppertal {
    top: 125px;
    left: 75px
}

.cityWuppertal hr {
    width: 60px
}

.cityMoenchengladbach {
    top: 140px;
    left: -95px
}

.cityDuesseldorf {
    top: 145px;
    left: 20px
}

.citySolingen {
    top: 140px;
    left: 65px
}

.cityLeverkusen {
    top: 165px;
    left: 55px
}

.cityLeverkusen hr {
    width: 40px
}

.cityKoeln {
    top: 175px;
    left: 25px
}

.cityAachen {
    top: 170px;
    left: -45px
}

.citySiegen {
    top: 185px;
    left: 125px
}

.cityBonn {
    top: 195px;
    left: 60px
}

/* Thüringen */
.stateTH .stateMap {
    background-position: 0 -2119px;
    width: 234px;
    height: 227px
}

.cityErfurt {
    top: 55px;
    left: 75px
}

.cityEisenach {
    top: 80px;
    left: 5px
}

.cityWeimar {
    top: 85px;
    left: 85px
}

.cityJena {
    top: 70px;
    left: 125px
}

.cityGera {
    top: 95px;
    left: 160px
}

/* Hessen */
.stateHE .stateMap {
    background-position: -157px -1429px;
    width: 139px;
    height: 226px
}

.cityKassel {
    top: 5px;
    left: 75px
}

.cityGiessen {
    top: 35px;
    left: 30px
}

.cityMarburg {
    top: 85px;
    left: 15px
}

.cityFulda {
    top: 60px;
    left: 90px
}

.cityFrankfurtMain {
    top: 110px;
    left: 45px
}

.cityWiesbaden {
    top: 125px;
    left: -5px
}

.cityDarmstadt {
    top: 155px;
    left: 20px
}

/* Sachsen */
.stateSN .stateMap {
    background-position: 0 -2351px;
    width: 280px;
    height: 227px
}

.cityLeipzig {
    top: 15px;
    left: 25px
}

.cityZwickau {
    top: 130px;
    left: 25px
}

.cityChemnitz {
    top: 105px;
    left: 65px
}

.cityDresden {
    top: 75px;
    left: 155px
}

/* Rheinland-Pfalz */
.stateRP .stateMap {
    background-position: 0 -2583px;
    width: 159px;
    height: 220px
}

.cityKoblenz {
    top: 35px;
    left: 70px
}

.cityMainz {
    top: 70px;
    left: 115px
}

.cityHamm {
    top: 116px;
    left: 102px
}

.cityTrier {
    top: 90px;
    left: 15px
}

.cityKaiserslautern {
    top: 140px;
    left: 55px
}

/* Bayern */
.stateBY .stateMap {
    background-position: 0 -2808px;
    width: 202px;
    height: 220px
}

.cityNeustadtCoburg {
    top: -5px;
    left: 30px
}

.cityCoburg {
    top: 20px;
    left: 30px
}

.cityBayreuth {
    top: 35px;
    left: 90px
}

.cityWuerzburg {
    top: 40px;
    left: -5px
}

.cityWuerzburg .cityDot {
    text-indent: 40px
}

.cityBamberg {
    top: 40px;
    left: 65px
}

.cityBamberg .cityDot {
    text-indent: -40px
}

.cityErlangen {
    top: 65px;
    left: 60px
}

.cityRegensburg {
    top: 85px;
    left: 115px
}

.cityOberhausenDonau {
    top: 95px;
    left: -60px
}

.cityIngolstadt {
    top: 100px;
    left: 75px
}

.cityAugsburg {
    top: 140px;
    left: 35px
}

.cityMuenchen {
    top: 130px;
    left: 95px
}

.cityMuenchen .cityDot {
    text-indent: -40px
}

.cityRosenheim {
    top: 160px;
    left: 115px
}

/* Baden-Württemberg */
.stateBW .stateMap {
    background-position: 0 -3033px;
    width: 178px;
    height: 215px
}

.cityMannheim {
    top: 10px;
    left: 60px
}

.cityHeidelberg {
    top: 30px;
    left: 70px
}

.cityKarlsruhe {
    top: 55px;
    left: -15px
}

.cityLudwigsburg {
    top: 50px;
    left: 75px
}

.cityLudwigsburg .cityDot {
    text-indent: -40px
}

.cityPforzheim {
    top: 70px;
    left: -5px
}

.cityStuttgart {
    top: 75px;
    left: 90px
}

.cityTuebingen {
    top: 90px;
    left: 15px
}

.cityReutlingen {
    top: 105px;
    left: 60px
}

.cityBadenBaden {
    top: 105px;
    left: -60px
}

.cityUlm {
    top: 100px;
    left: 125px
}

.cityFreiburg {
    top: 140px;
    left: 5px
}

.cityKonstanz {
    top: 150px;
    left: 75px
}

.cityKonstanz .cityDot {
    text-indent: -40px
}

/* Saarland */
.stateSL .stateMap {
    background-position: 0 -3253px;
    width: 248px;
    height: 212px
}

.cityHomburg {
    top: 80px;
    left: 195px
}

.citySaarlouis {
    top: 100px;
    left: 50px
}

.citySaarbruecken {
    top: 120px;
    left: 110px
}

/* @section 2.2.4.3 Karte */

.countryMap {
    background: url('../img/sprite_states.png');
    display: block;
    height: 136px;
    margin: 5px auto;
    overflow: hidden;
    text-align: left;
    width: 102px
}

.countryMapInner {
    background: url('../img/sprite_states.png')
}

.countryInfo {
    display: inline-block;
    font: 11px/12px arial;
    max-width: 110px;
    text-align: left
}

.icoCountryInfo {
    background: #8faf11;
    background: -webkit-linear-gradient(top, #a0bb34 50%, #8faf11 50%);
    background: linear-gradient(top, #a0bb34 50%, #8faf11 50%);
    border-radius: 2px;
    display: block;
    float: left;
    height: 10px;
    margin: 0 5px 10px 0;
    width: 10px
}

/* Bundesländer */

.stateSH .countryMapInner {
    background-position: -107px -1px;
    width: 32px;
    height: 30px;
    margin: 1px 0 0 32px
}

.stateMV .countryMapInner {
    background-position: -145px 0;
    width: 43px;
    height: 24px;
    margin: 11px 0 0 53px
}

.stateHH .countryMapInner {
    background-position: -216px -100px;
    width: 8px;
    height: 7px;
    margin: 22px 0 0 43px
}

.stateNI .countryMapInner {
    background-position: -193px 0;
    width: 50px;
    height: 46px;
    margin: 21px 0 0 11px
}

.stateHB .countryMapInner {
    background-position: -218px -112px;
    width: 7px;
    height: 11px;
    margin: 25px 0 0 29px
}

.stateBB .countryMapInner {
    background-position: -105px -46px;
    width: 41px;
    height: 39px;
    margin: 26px 0 0 59px
}

.stateST .countryMapInner {
    background-position: -152px -46px;
    width: 30px;
    height: 38px;
    margin: 34px 0 0 50px
}

.stateBE .countryMapInner {
    background-position: -218px -89px;
    width: 8px;
    height: 6px;
    margin: 39px 0 0 76px
}

.stateNRW .countryMapInner {
    background-position: -187px -48px;
    width: 40px;
    height: 39px;
    margin-top: 43px
}

.stateTH .countryMapInner {
    background-position: -106px -90px;
    width: 31px;
    height: 28px;
    margin: 59px 0 0 43px
}

.stateHE .countryMapInner {
    background-position: -143px -89px;
    width: 28px;
    height: 41px;
    margin: 59px 0 0 19px
}

.stateSN .countryMapInner {
    background-position: -174px -89px;
    width: 39px;
    height: 28px;
    margin: 58px 0 0 64px
}

.stateRP .countryMapInner {
    background-position: -107px -134px;
    width: 27px;
    height: 34px;
    margin: 72px 0 0 1px
}

.stateBY .countryMapInner {
    background-position: -137px -133px;
    width: 59px;
    height: 58px;
    margin: 78px 0 0 32px
}

.stateBW .countryMapInner {
    background-position: -202px -134px;
    width: 35px;
    height: 40px;
    margin: 91px 0 0 14px
}

.stateSL .countryMapInner {
    background-position: -107px -173px;
    width: 14px;
    height: 10px;
    margin: 92px 0 0 2px
}

/* Beitragsübersicht auf SEO-Seiten */

.boxSEO .listTableOfContent li {
    border-top: 1px dotted #ccc;
    list-style: none;
    margin-left: 5px;
    padding: 5px 5px 0 25px;
    position: relative
}

.listTableOfContent {
    counter-reset: li
}

.listTableOfContent a {
    text-decoration: none
}

.listTableOfContent li:first-child {
    border: none
}

.listTableOfContent li:before {
    content: counter(li) '.';
    counter-increment: li;
    position: absolute;
    margin: 5px 0;
    background: #e9f0f8;
    width: 18px;
    height: 18px;
    left: 0;
    top: 0;
    text-align: center
}

/* @section 4.2 SEO */

.boxSEO + .boxSEO {
    margin-top: 10px
}

.boxSEO .tableCompareSEO {
    margin: 0 -11px 0 -11px
}

.tableCompare.tableCompareSEO .tableBody tr:last-child td {
    border-bottom: 1px solid #d6d6d6
}

.tableCompare.tableCompareSEO .tableBody td.itemFifth {
    width: 250px;
}

.paginationSeoContent .itemSecond {
    text-align: center
}

.paginationSeoContent .itemLast {
    text-align: right
}

div.seoNews {
    margin: 0
}

.seoNewsBox {
    padding: 10px
}

.seoNewsBox a {
    text-decoration: underline
}

.seoNewsBox .seoBoxHeadline {
    font-weight: bold;
    color: #2A4D8F
}

.seoNewsBox .seoBoxContent {
    height: 50px;
    overflow: hidden;
    margin-bottom: 10px
}

.seoNewsBox img {
    width: 75px;
    height: 75px;
    display: block
}

.seoNewsBox dt {
    display: inline-block;
    width: 33%;
    vertical-align: top
}

.seoNewsBox dd {
    display: inline-block;
    line-height: 1.62;
    width: 65%;
}

.seoLinkBox ul {
    width: 100%
}

.seoLinkBox li {
    width: 33%;
    float: left;
    list-style-type: none;
}

.seoLinkBox a {
    text-decoration: underline;
}

.seoAccordion p {
    margin-bottom: 10px
}

.seoAccordion .boxImg {
    float: left;
    margin: 0 15px 10px 0
}

.seoAccordion img {
    display: block;
    height: 120px
}

.seoTableBox {
    padding: 0
}

.seoTableBox table {
    width: 100%
}

.seoTableBox th,
.seoTableBox td {
    padding: 5px 2%;
    text-align: left
}

.seoTableBox thead tr {
    border-bottom: 1px solid #c3c3c3;
    background: -moz-linear-gradient(top, #fff, #f5f5f5) repeat scroll 0 0 rgba(0, 0, 0, 0)
}

.seoTableBox tbody tr {
    border-bottom: 1px dotted #c3c3c3
}

.seoTableBox .odd {
    background-color: #f8fbff
}

.seoTableBox .last {
    border-bottom: 0
}

@media (max-width: 650px) {
    .seoNews .size1of2 {
        width: 100%;
    }
}

@media (max-width: 400px) {
    .seoLinkBox li {
        width: 100%;
    }

    .seoLinkBox a {
        hyphens: auto;
        word-break: break-word;
    }
}
