/* @section 1. Global Styles */

html {
    min-height: 100%
}

body {
    font: 0.75em/1.5em arial;
    color: #444;
}

.tac {
    text-align: center;
}

.layoutModal {
    background: #fff
}

.main {
    background: #fff;
    min-height: 520px;
    padding: 0 0 20px;
}

.brandingHeader + .wrapper .main {
    padding-top: 1em;
}

body.whitelabel .main {
    max-width: 1200px;
}

.addition {
    color: #767676;
}

.fnMore:not(:checked) + .fnHasMore {
    position: absolute;
    opacity: 0;
    display: none;
}

.titleFirstLevel,
.titleSecondLevel,
.titleThirdLevel,
.titleFourthLevel,
.titleFifthLevel,
.titleSixthLevel {
    margin: 10px 0px 10px 0px ;
}

.layerContent p {
    margin-bottom: 5px;
}

.privacy_wrapper {
    max-width: 82.5em;
    min-width: 25em;
}
.privacy_wrapper {
    margin: 0 auto;
}

/* Branding Anpassung */

.brandingHeader.noNavigation + .main {
    padding-top: 10px;
    border-radius: 4px 4px 0 0
}

/* @section 2. Elements */

/* @section 2.1 Lists */

/* @section 2.1.1 Collocate Lists */

.listCollocate {
    padding-left: 20%
}

.listCollocate > dt, .listCollocateSmall > dt {
    clear: both;
    float: left;
    width: 10%;
    margin-left: -10%
}

.listCollocate > dd, .listCollocateSmall > dd {
    line-height: 1.62;
    float: left;
    width: 90%;
}

.listCollocateSmall {
    padding-left: 20px;
}

.listCollocateSmall > dt {
    line-height: 1.2;
    margin-left: -20px;
    width: 15px;
}

/* @section 2.2 Boxes */

.titleDefault + .boxDefault,
.titleDefault + .boxAlternative {
    border-top: 0;
    margin-top: 0;
}

/* @section 2.2.2 Set Datastep */

.setDataStep, .setDataStepEnd {
    border: 1px solid #d6d6d6
}

.setDataStepEnd {
    border-top: 1px dotted #d6d6d6
}

.titleDefault + .setDataStep {
    border-top: 0;
    border-bottom: 0
}

.setDataStep + .titleDefault {
    margin: 0
}

.titleNews {
    font-size: 18px;
    line-height: 1.62;
}

.setDataStepEnd {
    color: #767676
}

.setDataStepEnd .agbCheckbox,
.setDataStepEnd .boxNote.warning {
    display: none;
}
.setDataStepEnd .agbCheckbox:checked + .boxNote.warning {
    display: block;
}

.sslBox {
    margin: 0 !important;
    padding: 5px 10px;
    width: 100%;
    text-align: right;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
	display: flex;
	justify-content: space-between;
}

.sslBox .textSSL {
    font: 10px/18px arial
}

.sslBox .requiredInfo {
	white-space: nowrap;
}

.sslBox .requiredInfo i {
	color: #ff5300;
}

.setDataStep .listFormDefault .label .icoInfo {
	line-height: 0.875rem;
}

.contractFormdatastep2 .dataStep form .required::placeholder,
.contractFormdatastep3 .dataStep form .required::placeholder {
    visibility: hidden;
}

.contractFormdatastep2 .dataStep form .requiredLabel::after,
.contractFormdatastep3 .dataStep form .requiredLabel::after {
    content: " * ";
    color: #ff5300;
}

@media screen and (min-width: 960px) {
	.setDataStep .listFormDefault .label {
		display: inline-flex;
		gap: 4px;
		justify-content: flex-end;
	}

	.contractFormdatastep2 .dataStep form .requiredLabel::after,
	.contractFormdatastep3 .dataStep form .requiredLabel::after {
		order: 1;
	}

	.setDataStep .listFormDefault .label .icoInfo {
		order: 2;
	}
}

.setDataStepEnd .buttonBack {
    text-decoration: none;
    display: inline-block;
    margin-top: 10px
}

.setDataStepEnd .buttonBack {
    text-decoration: none;
    display: inline-block;
    margin-top: 10px
}

.setDataStepEnd .buttonForward {
    float: right;
}

.setDataStepEnd label a {
    color: #767676
}

.setDataStepEnd label a:hover {
    color: #50930e
}

/* @section 2.2.3 Box Plain */

.boxPlain {
    margin: 0 10px;
    font: 1em/1.75em arial
}

.boxPlain > h1, .boxPlain > h2, .boxPlain > h3, .boxPlain > h4, .boxPlain > h5, .boxPlain > h6 {
    margin: 20px 0 10px;
    color: #333
}

.boxPlain > div .boxPlain > p {
    margin: 10px 0
}

.cashbackWarning {
    color: #000000;
}

/* Listen */

.boxPlain ul, .boxPlain ol, .boxPlain dl {
    list-style: initial;
    margin: 10px 20px
}

.boxPlain li {
    margin-bottom: 5px
}

.boxPlain.cashBackTerms li {
    list-style-type: decimal;
}

.boxPlain.cashBackTerms ol.alpha li {
    list-style-type: lower-alpha;
}

.boxPlain li:last-child {
    margin-bottom: 0
}

.notes ul {
    list-style: none
}

/* Punkte */

.boxPlain .points h3 {
    margin: 20px 0 10px
}

/* @section 2.3 Forms */

/* @section 2.3.1 Default Listen */

/* Standard-Liste innerhalb Formularen -> eventuelle Übernahme in das PVG-Kit */

.listFormDefault > li {
    background: #ecf5ff;
    background: -webkit-linear-gradient(left, #ecf5ff 50%, #fff 50%);
    background: linear-gradient(to right, #ecf5ff 50%, #fff 50%);
    border-top: 1px dotted #d6d6d6;
    padding: 8px 20px
}

.listFormDefault > li:first-child {
    border: 0
}

.listFormDefault .label {
    display: inline-block;
    font-weight: bold;
    text-align: right;
    vertical-align: top;
    margin-top: 2px;
    margin-right: 4%;
    width: 48%
}

.listFormDefault label input[type="checkbox"], .listFormDefault label input[type="radio"] {
    vertical-align: middle;
    margin-right: 5px
}

.listFormDefault .labelOnly {
    font: 11px/18px arial;
    display: block
}

/* Form Felder innerhalb listFormDefault */

.listFormDefault input[type=text],
.listFormDefault select {
    width: 20%
}

.listFormDefault .label ~ label + label > input[type=radio],
.listFormDefault .label ~ span label + label > input[type=radio],
.listFormDefault .label ~ label + label > input[type=checkbox],
.listFormDefault .label ~ span label + label > input[type=checkbox] {
    margin-left: 10px
}

/* form - Datum-Textfeld */
.formDefault input[type="date"] {
    height: 24px;
    border: 1px solid #d6d6d6;
    padding: 2px;
    font: 1em arial;
    width: 100%;
    background: #fff;
}

/* Hinweis Effekt */

.listFormDefault > .hint {
    background: #fffdcc
}

/* @section 2.4.3

/* @section 2.5 jQuery UI */

/* @section 2.5.1 Slider */
.ui-slider {
	background: #a8a8a8;
    cursor: pointer;
	display: inline-block;
    height: 4px;
	padding: 0;
    position: relative;
    text-align: left;
	width: 308px;
	z-index: 9;
}

.ui-slider .ui-slider-handle {
    position: absolute;
    z-index: 2;
    width: 14px;
    height: 14px;
    cursor: pointer;
    background: #087e9f;
    top: -5px;
    margin-left: -3px;
    border-radius: 50%;
}

.sliderDesc {
    display: inline-block;
    margin-top: 5px;
    width: 320px;
}

.sliderDesc li {
	display: flex;
	float: left;
    justify-content: center;
	position: relative;
    text-align: center;
	width: 75px;
}

.sliderDesc .first {
    justify-content: left;
	width: 47px;
}

.sliderDesc .last {
    justify-content: right;
	width: 47px;
}

.sliderDesc li:before {
    background: #a8a8a8;
    content: " ";
    display: block;
    height: 8px;
    position: absolute;
    top: -16px;
    width: 3px;
    z-index: 0;
}

.sliderDesc .last:before {
	transform: translateX(-11px);
}

.whitelabel .ui-slider {
	width: 308px;
}

.whitelabel  .showCriteriaContainer {
    justify-content: flex-end;
}

.whitelabel .wrapperSpeedSliderContainer {
    justify-content: flex-end;
    padding-top: 0;
}

@media screen and (max-width: 800px) {
	.sliderDesc {
		display: none;
	}

    .whitelabel  .showCriteria {
        margin-top: 0;
    }

    .wrapperSpeedSlider {
        display: none;
    }

    .selectSpeedMobileContainer {
        display: block;
    }

    .selectSpeedMobileContainer .slider {
        display: none;
    }

    .selectSpeedMobileContainer .selectSpeed {
        display: inline-block!important;
    }

}

/* @section 2.6 Icons */

.icoSpeed, .icoDown, .icoUp {
    background: url('../img/dsl_sprite_icon.png') no-repeat;
    display: inline-block;
    vertical-align: middle;
    height: 16px;
    width: 16px
}

.speedsContainer {
    display: flex;
    align-items: center;
    width: max-content;
}

.icoPlus, .icoMinus {
    text-indent: -999em;
    direction: ltr;
}

.icoSpeed {
    background-position: -7px -8px
}

.icoDown {
    background: url('../img/ico_down.png');
    display: inline-block;
    background-repeat: no-repeat;
    background-size: 13px 13px;
}

.icoUp {
    background: url('../img/ico_up.png');
    display: inline-block;
    background-repeat: no-repeat;
    background-size: 13px 13px;
}

.iconArrowRight {
    font-size: 12px;
    line-height: 14px;
}

.resultsIco {
    background-repeat: no-repeat;
    float: left;
    height: 25px;
	width: 25px;
}

.icoResDsl, .icoResyoungtariff, .icoResGutschein {
    background-image: url('../img/icons/tacho_aktiv.png');
}

.icoResphoneflat {
    background-image: url('../img/icons/phone_aktiv.png');
}

.icoResentertain {
    background-image: url('../img/icons/tv_aktiv.png');
}

.icoResAvailability {
    background-image: url('../img/icons/map_aktiv.png');
}

.disabledTariff .icoResDsl,
.disabledTariff .icoResyoungtariff,
.disabledTariff .icoResGutschein {
    background-image: url('../img/icons/tacho_inaktiv.png');
}

.disabledTariff .icoResphoneflat {
    background-image: url('../img/icons/phone_inaktiv.png');
}

.disabledTariff .icoResentertain {
    background-image: url('../img/icons/tv_inaktiv.png');
}

.disabledTariff .icoResAvailability {
    background-image: url('../img/icons/map_inaktiv.png');
}

.icoFlagGermany {
    position: relative;
    margin: 0 2px;
    width: 12px;
    height: 3px;
    background: #f90700
}

.icoFlagGermany:before, .icoFlagGermany:after {
    content: '';
    position: absolute;
    left: 0;
    width: 12px;
    height: 3px
}

.icoFlagGermany:before {
    background: #080808;
    top: -3px;
}

.icoFlagGermany:after {
    background: #f4c149;
    top: 3px
}

.icoEnlarge {
    width: 20px;
    height: 20px;
    border-radius: 4px;
    border: 1px solid #bccee2;
    margin: 2px 10px 5px;
    background: #e9f0f8 url('../img/dsl_sprite_icon.png') -5px -397px
}

.icoArrowLeft, .icoArrowRight, .icoArrowUp, .icoArrowDown {
    position: relative;
    margin: 0 5px;
    width: 16px;
    height: 16px;
    -moz-border-radius: 2px;
    -webkit-border-radius: 2px;
    border-radius: 2px;
    -webkit-box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.4);
    -moz-box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.4);
    box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.4);
    background: #0e6cc1;
    background: -moz-linear-gradient(top, rgba(18, 155, 212, 1) 0%, rgba(9, 99, 193, 1) 100%);
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, rgba(18, 155, 212, 1)), color-stop(100%, rgba(9, 99, 193, 1)));
    background: -webkit-linear-gradient(top, rgba(18, 155, 212, 1) 0%, rgba(9, 99, 193, 1) 100%);
    background: -o-linear-gradient(top, rgba(18, 155, 212, 1) 0%, rgba(9, 99, 193, 1) 100%);
    background: -ms-linear-gradient(top, rgba(18, 155, 212, 1) 0%, rgba(9, 99, 193, 1) 100%);
    background: linear-gradient(to bottom, rgba(18, 155, 212, 1) 0%, rgba(9, 99, 193, 1) 100%);
}

.icoArrowLeft:after, .icoArrowRight:after, .icoArrowUp:after, .icoArrowDown:after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    border-width: 5px;
    border-style: solid
}

.icoArrowLeft:after {
    margin: -5px -8px;
    border-color: transparent #fff transparent transparent
}

.icoArrowRight:after {
    margin: -5px -2px;
    border-color: transparent transparent transparent #fff
}

.icoArrowUp:after {
    margin: -8px -5px;
    border-color: transparent transparent #fff transparent
}

.icoArrowDown:after {
    margin: -1px -5px;
    border-color: #fff transparent transparent transparent
}

.icoAccessType {
    align-items: center;
	border: 0;
	border-radius: 4px;
	color: #2A4D8F;
	display: flex;
	font-weight: 600;
	justify-content: center;
	line-height: 1;
	min-width: 40px;
    width: fit-content;
    font-size: 12px;
    border: 1px solid #2A4D8F;
    padding: 0 8px;
}



.icoAccessGreyType,
.icoAccessGreyDSL,
.icoAccessGreyLTE,
.icoAccessGreyUMTS,
.icoAccessGreySatellit,
.icoAccessGreyKabel {color: #767676;}


/* @section 2.7 Ratings */

.ratingStarsWrapper, .ratingStars {
    display: inline-block;
    background: url('../img/dsl_sprite.png') -401px -20px;
    width: 87px;
    height: 15px;
    font-size: 0
}

.ratingStars {
    background-position: -401px 0
}

.rating-1 .ratingStars {
    width: 15px
}

.rating-2 .ratingStars {
    width: 33px
}

.rating-3 .ratingStars {
    width: 51px
}

.rating-4 .ratingStars {
    width: 69px
}

.rating-5 .ratingStars {
    width: 87px
}

/* @section 2.8 Buttons */

.buttonPlus span span, .buttonMinus span span, .buttonCallback span span, .buttonClock span span {
    background: none
}

/* Button Compare */

.buttonCompare {
    font: bold 1.1em arial;
    height: 41px;
    max-width: 300px
}

.buttonCompare span {
    color: #fff;
    padding: 0 0 0 30px;
    background: url('../img/dsl_sprite.png')
}

.buttonCompare span span {
    background: url('../img/pvg_sprite_3.6.2.png') right -872px;
    height: 25px;
    line-height: 25px;
    padding: 1px 15px 5px 0;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.25)
}

.buttonCompare:hover span span {
    background-position: right -1136px
}

.buttonCompareTop span {
    background-position: 0 -270px
}

.buttonCompareTop span span {
    margin-bottom: 10px
}

.buttonCompareTop:hover span {
    background-position: 0 -362px
}

.buttonCompareBottom span {
    background-position: 0 -316px
}

.buttonCompareBottom span span {
    margin-top: 10px
}

.buttonCompareBottom:hover span {
    background-position: 0 -408px
}

.buttonSpeedtest {
    text-align: center
}

/* showMore und showLess in Buttons*/

.buttonPlus .less, .buttonMinus .more {
    display: none
}

/* @section 2.9 Tables */

/* Vergleichstabelle - Global */
.tableCompare {
    margin-top: 15px;
	border-width: 0;
	border-collapse: separate;
	border-spacing: 0 12px;
}

.tableCosts, .tableCompare {
    font-size: inherit;
}

.boxAlternative.boxSEO .tableCompare {
    font-size: 13px;
}

body.whitelabel .tableCompare {
    width: 100%;
}

.tableCompare td {
    vertical-align: top;
    padding: 10px
}

.tableCompare .tableCompareRow th, .tableCompare .tableCompareRow td {
    text-align: left;
    padding: 10px;
}

.tableCompare tfoot .paginationDefault {
    background: #f3f3f3;
    background: linear-gradient(top, #fff, #f6f6f6);
    background: -moz-linear-gradient(top, #fff, #f6f6f6);
    background: -ms-linear-gradient(top, #fff, #f6f6f6);
    background: -o-linear-gradient(top, #fff, #f6f6f6);
    background: -webkit-linear-gradient(top, #fff, #f6f6f6)
}

/* Vergleichstabelle - Head */

.tableCompare .tableHead th {
    color: #444444;
    padding: 5px 10px;
    text-align: left;
    font-weight: normal;
}

/* Vergleichstabelle - Body */

.tableCompare .odd > td {
    background: #f8fbff;
}

.tableCompare .odd:hover > td {
    background: #ebf4ff
}

.tableCompare .even:hover > td {
    background: #fafafa
}

.tableCompare .topOffer > td {
    background: #fffdcc
}

.tableCompare .topOffer:hover > td {
    background: #f9f7bd
}

.tableCompare .itemFourth {
    width: 10%
}

.tableCompare .itemSixth {
	position: relative;
    width: 16%;
}

.tableCompare .mobileTooltipsRow {
	display: none;
}

.tableCompare .tableSpacer {
	display: none;
	height: 12px;
}

.tableCompare .tableSpacer > td {
    height: 12px;
	padding: 0;
}

.tableCompare {
	height: fit-content;
    width: 100%;
}

.tableCompare .tableBody tr:not(.tableSpacer) {
    height: max-content;
}

.tableCompare thead > tr.tableHead > th {
	border-top: 1px solid #d6d6d6;
	border-bottom: 1px solid #d6d6d6;
}

.tableCompare .tableBody tr.even,
.tableCompare .tableBody tr.odd {
	border-top: 1px solid #d6d6d6;
	border-bottom: 1px solid #d6d6d6;
}

.tableCompare .tableBody tr:last-child td {
    border-bottom-style: solid
}

.tableCompare + .pagination {
    border-top: 0
}

.tableCompare .tableBody .checkedTariff td {
    background: #f2fae5
}

.tableCompare .tableBody .checkedTariff .itemFirst {
    background: #ddeec1
}

.tableCompare .tableBody .listAdvantages .tooltip p {
    border-bottom: 1px solid #D6D6D6;
    padding-bottom: 5px;
    margin-bottom: 5px
}

.tableCompare .tableBody .listAdvantages .tooltip p:last-child {
    border-bottom: 0;
    padding: 0;
    margin: 0
}

.tableCompare .tableBody .listAdvantages li {
    float: left;
    margin: 4px 6px 0px 0px;
}

/* Nicht buchbare Tariffe - disables */
.tableCompare .disabledTariff:hover > td {
    background-color: transparent
}

.tableCompare .disabledTariff.odd:hover > td {
    background: #f8fbff
}

.tableCompare .disabledTariff > td,
.tableCompare .disabledTariff a {
    color: #808080
}

.tableCompare .disabledTariff .itemSixth {
    text-align: left
}

.tableCompare .disabledTariff .icoSpeed {
    background-position: -7px -308px
}

.tableCompare .disabledTariff .icoTick {
    background: url('../img/dsl_sprite_icon.png') -7px -338px
}

.tableCompare .disabledTariff .costsAverage {
    font: normal 1.7em arial
}

.tableCompare.tableCompareLanding + .paginationDefault {
    border-top: 0
}

.tableCompare .downloadSpeedMobile {
	display: none;
}

.tableCompare .rowContainer table {
	width: 100%;
	height: fit-content;
}

.tableCompare .rowContainer {
	padding: 0;
}

.tableCompare .mobileTooltipsRow {
	display: none;
}

/* Elemente innerhalb der Tabelle */

.rowProviderAvailability td {
    text-align: center
}

.linkAvailability {
    color: #767676;
    font: bold 11px arial;
    text-align: center;
    cursor: pointer;
    display: inline-block;
    width: 80px;
    margin-top: 10px
}

.linkAvailability:hover {
    color: #444;
    text-decoration: underline
}

/* Tabelle Tarifvergleich im Layer */
.tableTariffCompare {
    width: 100%;
    border: 1px solid #d6d6d6;
    border-width: 1px 1px 0 0;
    margin: 10px 0 30px
}

.tableTariffCompare td {
    border-right: 1px solid #d6d6d6;
    width: 24%
}

.tableTariffCompare td img {
    max-width: 180px;
    display: block;
    margin: 0 auto;
}

.tableTariffCompare .itemFirst {
    font-weight: 700
}

.tableTariffCompare .buttonEdit {
    width: 20px;
    height: 18px;
    background: url('../img/dsl_sprite_icon.png') -6px -96px
}

.tableTariffCompare .priceInfo {
    position: inherit
}

.tableTariffCompare .priceInfo .tooltip {
    position: fixed;
    top: 5%;
    left: 50%;
    margin-left: -225px;
    width: 450px
}

/* Kleingedrucktes unterhalb der Tabelle */

.boxSmallPrint {
    color: #767676;
    font-size: 12px;
    margin: 20px;
}

.textSmallPrint {
    color: #767676;
    font: 10px/18px arial
}

.boxSEOSmall {
    color: #5e5e5e;
    font: 0.875em/1.5em arial;
    margin: 10px
}

.boxSEOSmall.seoFontSize {
    font-size: 14px;
    line-height: 1.62;
}

.boxSEOSmall h1 {
    font-size: 1.25em
}

.boxSEOSmall p + p {
    margin-top: 10px
}

.boxSEOSmall img {
    max-width: 100%;
    height: auto
}

/* Angebotsboxen */

.boxSeoOffer {
    margin: 0.5em 0;
    padding: 0.5em
}

.boxOffer {
    position: relative;
    min-height: 10.5em;
    background: #fff;
    background: -webkit-radial-gradient(ellipse farthest-corner, #fff 0%, #d6e8fe 100%);
    background: radial-gradient(ellipse at center, #fff 0%,#d6e8fe 100%);
}

.boxOfferText {
    padding: 1em 1em 2.5em;
}

.boxOfferImage {
    background: #d6d6d6;
    float: right;
    margin-left: 0.5em;
}

.boxOfferImage img {
    display: block
}

.boxSEO .boxOffer .titleSecondLevel {
    font: 700 1.5em 'Archivo Narrow', Arial, sans-serif;
}

.linkOffer {
    position: absolute;
    left: 0;
    bottom: 0;
    margin: 1.5em 1.5em 1.5em 1em;
}

/* @section 2.10 Tabs */
.tabMenue {
    flex-wrap: wrap;
    font-size: 15px;
    margin-top: -5px;
    white-space: nowrap;
}

.tabMenue li {
    display: inline-block;
}

.tabMenue li a {
    background: #e0efff;
    background: -moz-linear-gradient(top, #fff, #e0efff);
    background: -ms-linear-gradient(top, #fff, #e0efff);
    background: -o-linear-gradient(top, #fff, #e0efff);
    background: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#e0efff));
    background: -webkit-linear-gradient(top, #fff, #e0efff);
    background: linear-gradient(top, #fff, #e0efff);
    border: 1px solid #bccee2;
    border-bottom-color: #e2e2e2;
    border-left-width: 0;
    -moz-box-shadow: inset -1px 0 0 #fff, inset 1px 0 0 #fff;
    -webkit-box-shadow: inset -1px 0 0 #fff, inset 1px 0 0 #fff;
    box-shadow: inset -1px 0 0 #fff, inset 1px 0 0 #fff;
    color: #2a4d8f;
    display: inline-block;
    font-weight: bold;
    padding: 3px 8px;
    text-decoration: none;
    vertical-align: bottom;
}

.tabMenue li:first-child a {
    border-left-width: 1px
}

.tabMenue a:hover {
    background: #e8e8e8;
}

.tabMenue .active {
    background: #fff;
    border: 1px solid #e2e2e2;
    border-bottom: 1px solid #fff;
    color: #2a4d8f;
    margin-left: -1px;
    margin-top: 0;
    padding: 5px 8px;
}

.tabMenue li:first-child .active {
    margin-left: 0
}

.tabMenue .active:hover {
    background: none;
    cursor: default
}

.tabBox {
    border: 1px solid #e2e2e2;
    margin-top: -1px
}

.tabSeo > div {
    padding: 15px
}

.tabSeo p {
    font-size: 16px;
    line-height: 1.62;
}

.tabSeo .logoProvider {
    float: right;
    margin: 0 0 20px 20px
}

/* @section 2.10 New Tabs CSS Only */
.tabs .tab {
    float: left;
    display: none;
}
.tabs > input { display: none; }
.tabs > label { display: inline-block; }

.tabs #tab1:checked ~ .tab#tabcontent1,
.tabs #tab2:checked ~ .tab#tabcontent2 {
    display: block;
}



.tabs label.tabMenue {
    border-radius: 8px 8px 0 0;
    margin-left: -1px;
    color: #444;
    border: 1px solid #e2e2e2;
    border-bottom: 1px solid #fff;
    background: #e0efff;
    background: -moz-linear-gradient(top, #fff, #e0efff);
    background: -ms-linear-gradient(top, #fff, #e0efff);
    background: -o-linear-gradient(top, #fff, #e0efff);
    background: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#e0efff));
    background: -webkit-linear-gradient(top, #fff, #e0efff);
    background: linear-gradient(top, #fff, #e0efff);
    -moz-box-shadow: inset -1px 0 0 #fff, inset 1px 0 0 #fff;
    -webkit-box-shadow: inset -1px 0 0 #fff, inset 1px 0 0 #fff;
    box-shadow: inset -1px 0 0 #fff, inset 1px 0 0 #fff;
    vertical-align: bottom;
    color: #2a4d8f;
    font-weight: bold;
    text-decoration: none;
    border: 1px solid #bccee2;
    border-bottom-color: #e2e2e2;
    border-left-width: 0;
    background: #e0efff;
    background: -moz-linear-gradient(top, #fff, #e0efff);
    background: -ms-linear-gradient(top, #fff, #e0efff);
    background: -o-linear-gradient(top, #fff, #e0efff);
    background: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#e0efff));
    background: -webkit-linear-gradient(top, #fff, #e0efff);
    background: linear-gradient(top, #fff, #e0efff);
    -moz-box-shadow: inset -1px 0 0 #fff, inset 1px 0 0 #fff;
    -webkit-box-shadow: inset -1px 0 0 #fff, inset 1px 0 0 #fff;
    box-shadow: inset -1px 0 0 #fff, inset 1px 0 0 #fff;
    vertical-align: bottom;
    color: #2a4d8f;
    font-weight: bold;
    text-decoration: none;
    border: 1px solid #bccee2;
    border-bottom-color: #e2e2e2;
    border-left-width: 0;
    margin-top: 6px;
    padding: 3px 8px 7px;
}

.tabs input:checked + label.tabMenue {
    font-weight: bold;
    background: #fff;
    margin-left: -1px;
    margin-top: 0;
    color: #444;
    border: 1px solid #e2e2e2;
    border-bottom: 1px solid #fff;
    padding: 7px 8px;
}

 .boxFormTeaser {
    font-size: 14px;
}

.tabs.boxFormTeaser input:first-child + label.tabMenue {
    margin-left: 20px;
}

.tabs.boxFormTeaser .tab.tabBox {
    overflow: visible;
    padding: 0;
}

.tabs.boxFormTeaser .tab.tabBox form.boxFormTeaser {
    top: 0;
    left: 0;
}

/* @section 2.11 Accordion */

.accordion {
    border: 1px solid #d6d6d6
}

.accordionTitle, .accordionTitle:hover {
    text-decoration: none;
    color: #444
}

.accordionTitle, .accordionContent {
    border-bottom: 1px solid #d6d6d6
}

.accordionTitle {
    background: #f3f3f3;
    background: -moz-linear-gradient(top, #fff, #f6f6f6);
    background: -ms-linear-gradient(top, #fff, #f6f6f6);
    background: -o-linear-gradient(top, #fff, #f6f6f6);
    background: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#f6f6f6));
    background: -webkit-linear-gradient(top, #fff, #f6f6f6);
    background: linear-gradient(top, #fff, #f6f6f6);
    display: block;
    padding: 0 5px;
    line-height: 30px
}

/* @section 2.11.1 Fix für Accordion mit legend Tags und deaktivierten Javascript */

legend.accordionTitle {
    width: 100%;
    padding-left: 0;
    padding-right: 0;
    text-indent: 10px
}

/* @section 2.11.2 Wenn Javascript aktiv mit Icons */

.js .accordionTitle {
    background: url('../img/pvg_sprite_icon_3.6.2.png') -5px -1140px no-repeat #f3f3f3;
    background: url('../img/pvg_sprite_icon_3.6.2.png') -5px -1140px no-repeat, -moz-linear-gradient(top, #fff, #f6f6f6);
    background: url('../img/pvg_sprite_icon_3.6.2.png') -5px -1140px no-repeat, -ms-linear-gradient(top, #fff, #f6f6f6);
    background: url('../img/pvg_sprite_icon_3.6.2.png') -5px -1140px no-repeat, -o-linear-gradient(top, #fff, #f6f6f6);
    background: url('../img/pvg_sprite_icon_3.6.2.png') -5px -1140px no-repeat, -webkit-gradient(linear, left top, left bottom, from(#fff), to(#f6f6f6));
    background: url('../img/pvg_sprite_icon_3.6.2.png') -5px -1140px no-repeat, -webkit-linear-gradient(top, #fff, #f6f6f6);
    background: url('../img/pvg_sprite_icon_3.6.2.png') -5px -1140px no-repeat, linear-gradient(top, #fff, #f6f6f6);
    padding-left: 25px
}

.js .accordionTitleOpened {
    background: url('../img/pvg_sprite_icon_3.6.2.png') -5px -1170px no-repeat #f5f5f5
}

.accordionContent {
    border-bottom: 1px solid #d6d6d6;
    padding: 10px
}

.accordionContentLast {
    border-top: 1px solid #d6d6d6
}

.accordionTitleLast, .accordionContentLast {
    border-bottom: 0
}

/* @section 2.14 Notes - kann evtl. ins KIT übernommen werden */

.boxNote.tooltip {
    top: -2px;
    left: 25px
}

/* @section 2.16 Ads */

.gAdsContainer .ad {
    padding: 10px 0 10px 2px
}

.gAdsContainer .notice {
    padding: 0 2px
}

.gAdsContainer .ad .head {
    font-size: 1.25em;
    letter-spacing: 0
}

.gAdsContainer .ad .text, .gAdsContainer .ad .url {
    font-size: 0.875em
}

/* @section 2.16 Titles */
.titleDefaultSub {
    font: normal 0.875em arial
}

.titleIndividual {
    font-weight: normal
}

.tariffCount {
    font-size: 0.75em;
    display: inline-block;
    text-indent: 5px
}

/* @section 2.18 Misc */

/* StepBox Anpassungen (Kaskade künstlich erhöht) */

div.steps {
    margin-left: -12px;
    position: relative
}

.stepBox {
    padding: 20px 130px 35px
}

/* Ecken */
.cornerStep {
    background: url('../img/pvg_sprite_3.6.2.png') -34px 0;
    position: absolute;
    left: 0;
    bottom: -7px;
    height: 7px;
    width: 7px
}

.progressBarStepsAlternative {
    border-top: 2px solid #fff;
    background: #D5E8FE
}

.steps + .progressBar {
    margin-top: 5px
}

/* Querlinie (für <hr> Tag) */

.rowLight {
    height: 0;
    border: 0;
    border-top: 1px dotted #d6d6d6
}

.rowLight:first-child {
    border-top: 0
}

/* Seal */
.boxSeal {
    margin-bottom: 15px;
}

.seal {
    background: url('../img/seal.svg') no-repeat 0 0 / 100% auto;
    height: 115px;
    margin: 0 auto;
    width: 120px;
}

.descSeal {
    text-align: center;
    color: #767676;
    margin: 0 0 10px
}

/* Produktbild */

.imageProduct, .devicePic {
    -webkit-box-shadow: 0 0 5px #eee;
    -moz-box-shadow: 0 0 5px #eee;
    box-shadow: 0 0 5px #eee;
    border: 1px solid #eee
}

/* @section 2.19 HotlineDefault */
.hotlineBoxSidebar{
    float:left;
}

.hotlineBoxDefault div{
    margin-bottom:0.8rem;
}

.hotlineBoxDefault div:last-child{
    margin-bottom:0;
}

.hotlineNumberBlock strong{
    font: bold 1.45rem/1.25em 'Archivo Narrow', arial;
    color: #2a4d8f;
}

.hotlineNumberBlock .icoHotline{
    background:url('../img/pvg_sprite_icon_3.6.2.png') no-repeat -7px -421px;
    width:9.5em;
    height:1em;
    display: inline-block;
    margin-bottom: 0;
}

.hotlineNumberBlock .icoHotline span{
    margin-left: 0.4em;
}

 /* hotlineBoxInfoLayer */
.hotlineBoxInfoLayer .hotlineNumberBlock .icoHotline span{
    margin-left: 0.8em;
}

.hotlineBoxInfoLayer .hotlineNumberBlock strong{
    font: bold 2.2rem/1.0em 'Archivo Narrow', arial;
}

.hotlineBoxInfoLayer .icoHotline{
    background:url('../img/dsl_sprite_icon.png') no-repeat -4px -417px;
}

.hotlineBoxInfoLayer .hotlineNumberBlock p, .hotlineBoxInfoLayer .hotlineTimeBlock p {
    margin-bottom: 0;
}

.hotlineBoxInfoLayer .hotlineNumberBlock, .hotlineBoxInfoLayer div:last-child {
    margin-bottom: 0.8rem;
}

.hotlineBoxInfoLayer .hotlineTimeBlock {
    /*padding-left:28px;*/
    margin: 0 0 1.2em 2em;
    font-size: 1.2em;
    color: #767676;
}


/* @section 3.1 Menu */

.listMenu {
    margin: 10px
}

.linkMenuFakeHeadline {
    color: #8faf11;
    font-size: 1.0625em;
    font-weight: bold;
    text-transform: uppercase;
    text-decoration: none
}

/* @section 4. Section */

/* @section 4.1 Index */

/* Kein Error Label bei Validierung */

.teaserCompareSubstitute {
    position: absolute;
    top: 5px;
    left: 0;
    width: 241px;
    height: 290px
}

/* Textformatierung */
.boxSEO {
    margin-bottom: 10px
}

.boxSEO p {
    font-size: 16px;
    line-height: 1.62;
    margin: 10px 0;
}

.boxSEO ul,
.boxSEO ol {
    font-size: 16px;
    line-height: 1.62;
}

.boxSEO > ul li,
.boxSEO > ul li > ul li {
    list-style-type: disc;
    margin: 5px 0 5px 15px;
}
.boxSEO > ol li,
.boxSEO > ol li > ol li {
    list-style-type: decimal;
    margin: 5px 0 5px 15px;
}

.boxSEO h2,
.boxSEO h3,
.boxSEO h4,
.boxSEO h5,
.boxSEO .titleSecondLevel,
.boxSEO .titleThirdLevel {
    font-size: 18px;
    line-height: 1.62;
    margin: 1em 0 0.5em;
}

.boxSEO .titleSecondLevel, .boxSEO .titleThirdLevel {
    font-weight: bold
}

.boxSEOSmall h2, .boxSEOSmall h3, .boxSEOSmall h4, .boxSEOSmall h5 {
    font-size: 1.125em;
    margin: 1em 0 0.5em
}

.boxSEOSmall.seoFontSize h2,
.boxSEOSmall.seoFontSize h3,
.boxSEOSmall.seoFontSize h4,
.boxSEOSmall.seoFontSize h5 {
    font-size: 16px;
    line-height: 1.62;
}

.boxSEO .titleDefault {
    margin: 1em 0 0
}

.boxSEO .alignleft {
    float: left;
    margin: 0 10px 10px 0
}

.boxSEO .alignright {
    float: right;
    margin: 0 0 10px 10px
}

.boxSEO .aligncenter {
    display: block;
    margin: 10px auto
}

.boxSEO .alignnone {
    display: block;
    margin: 10px 0
}

.boxSEO .wp-caption-text {
    font: italic 0.875em arial;
    color: #767676;
    margin: 2px 5px
}

.boxSEO p:first-child, .boxSEO h2:first-child, .boxSEO h3:first-child, .boxSEO h4:first-child, .boxSEO h5:first-child {
    margin-top: 0
}

.boxAlternative.boxSEO {
    font-size: 16px;
}

.boxAlternative.boxSEO:not(.tableCompare) {
    line-height: 1.62;
}

.listSeoMenu li {
    background: url('../img/pvg_sprite_3.6.2.png') -12px -1959px;
    margin: 0;
    padding-left: 10px
}

.seoLinkBox {
    font-size: 16px;
    line-height: 1.62;
}

.providerInfo {
    float: right;
    margin: 10px 0 10px 10px
}

.providerLogo img {
    margin: 0;
    max-width: 100%
}

.providerInfo .addressInfo {
    background: #f6f6f6;
    border: 1px solid #d6d6d6;
    font: 16px/1.62 arial;
    padding: 10px 15px;
}

.providerInfo .addressInfo a {
    display: block;
    margin-top: 5px
}

/* @section 4.3.1 Global */

.steps + .titleDefault {
    margin-top: 20px
}

.boxCompare .titleDefault h1 {
    display: inline;
    font-size: 1em
}

.hintZipcode {
    margin-left: 20px;
    font: 400 0.75em Arial
}

.closeZipcode {
    position: absolute;
    top: 0.25em;
    right: 0.5em;
    font: 0.9em arial;
    color: #767676
}

/* @section 4.3.1.1 Hinweistext, wenn Vorwahlbox leer ist */
.boxZipcodeHint {
    position: absolute;
    left: 320px;
    top: -40px;
    padding: 20px;
    width: 255px;
    background: #f8fbff;
    border: 1px solid #bccee2;
    color: #2a4d8f;
    z-index: 2001;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    -webkit-box-shadow: 0 0 4px 4px rgba(0, 0, 0, 0.1);
    -moz-box-shadow: 0 0 4px 4px rgba(0, 0, 0, 0.1);
    box-shadow: 0 0 4px 4px rgba(0, 0, 0, 0.1);
}

.boxZipcodeHint:before, .boxZipcodeHint:after {
    content: '';
    position: absolute;
    top: 44px;
    border-width: 12px;
    border-style: solid;
}

.boxZipcodeHint:before {
    left: -25px;
    border-color: transparent #bccee2 transparent transparent;
}

.boxZipcodeHint:after {
    left: -24px;
    border-color: transparent #f8fbff transparent transparent;
}

.zipCodeText {
    display: inline-block;
    width: 200px;
    margin-left: 10px;
    vertical-align: middle;
}

.ui-slider .ui-slider-handle {
    z-index: 0
}

.icoWarningAlternative {
    width: 35px;
    height: 35px;
    background-position: 0 -2143px
}

.placeholderCompare {
    position: relative
}

.formCompare input, .formCompare select, .formCompare label {
    vertical-align: middle
}

.formCompare label {
    font-size: 11px
}

.formCompare button {
    float: right;
    margin: 20px 0 10px
}

.boxCompareFilter {
    border-top: 0;
    margin: 0;
    display: flex;
    flex-direction: row;
    align-items: center;
}

.listCompareFilter li {
    margin-top: 10px
}

.listCompareFilter li:first-child {
    margin-top: 0;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 3px;
}

.listCompareFilter li > label:not(.error), .listCompareFilter li:first-child label:not(.error) {
    align-items: center;
    display: inline-flex;
    font-weight: bold;
    justify-content: flex-end;
    vertical-align: middle;
    width: 25%;
}

.listCompareFilter li > label:not(.error) {
    margin-left: 0;
}

.listCompareFilter li > label.error {
    margin-left: 0;
    vertical-align: top;
}

.listCompareFilter input[type=text], .listCompareFilter select {
    width: 55%;
    margin-left: 2%;
    vertical-align: middle;
}

.listCompareFilterRight {
    text-align: right;
    display: flex;
    flex-direction: row;
    align-items: center;
}

.listCompareFilterRight .seals {
    display: block;
    float: left;
    height: 55px;
    width: 115px;
}

.boxSidebarRight .ekomi-widget-sf1243865d5bedf48ce19 {
    margin-left: 12px;
}

/* Erstes Element */
.listCompareFilter .primaryWrapper {
    display: inline-block;
    width: 31%
}

.listCompareFilter .primaryWrapper ~ input[type=text] {
    font-size: 1.25em;
    height: 34px;
    padding: 5px
}

/* Availability (Adresse wird im Formular statt PLZ und Vorwahl angezeigt) */
.availabilityWrapper {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    padding: 0 26px;
    width: 55%;
}

.availabilityWrapper span {
    font: 11px/14px arial;
    display: inline-block;
    width: auto;
    color: #2a4d8f;
    font-weight: bold
}

.availabilityWrapper a {
    font: normal 10px arial;
    text-decoration: underline;
    color: #767676;
    margin-top: 0;
    display: block;
    text-align: center;
    width: 45px;
}

.availabilityWrapper a:hover {
    color: #666
}

.availabilityWrapper .highlightFeature {
    align-items: center;
    display: flex;
    flex-direction: row;
    gap: 4px;
    justify-content: space-between;
    width: 100%;
}

.available {
    color: green
}

/* Kaskade künstlich erhöht */
.listCompareFilter li .availabilityWrapper label {
    width: 32%
}

/* Tooltip Overlay Bugfix */
.listCompareFilter {
    position: relative;
    z-index: 1;
}

.mobile:not(.whitelabel) .listCompareFilter {
    min-height: 158px;
}

.wrapperSpeedSlider > div {
    text-align: left;
}

.wrapperSpeedSlider label {
    font-weight: bold
}

.wrapperSpeedSlider .tooltip {
    left: 0;
    top: 25px
}

.wrapperFeature {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
}

.wrapperFeature .icoInfo {
    margin-right: 0
}

.wrapperFeature .buttonLight {
    margin: -4px 10px 0;
    min-width: 140px;
    text-align: left
}

.wrapperFeature .buttonLight.active span {
    background-position: -8px -156px
}

.icoInfo {
    color: #767676;
	background: none;
}

.icoInfo::before {
    content: "ⓘ";
    font-size: 18px;
	font-weight: normal;
    display: flex;
    justify-content: center;
    align-items: center;
}

.tableCompare .icoInfo {
    color: inherit;
}

.speed{
    padding-left: 6px;
    line-height: 1;
}

/* Verfügbarkeitsprüfung anpassung */
.isAvailability .wrapperFeature {
    float: left;
    margin: 13px 20px 0 0;
    text-align: left
}

.highlightFeature {
    padding: 2px 0;
    display: inline-block;
    border: 1px solid transparent;
    -moz-transition: all 0.4s;
    -ms-transition: all 0.4s;
    -o-transition: all 0.4s;
    -webkit-transition: all 0.4s;
    transition: all 0.4s
}

.highlightFeature:hover {
    -moz-box-shadow: inset 0 0 0 1px #fff;
    -webkit-box-shadow: inset 0 0 0 1px #fff;
    box-shadow: inset 0 0 0 1px #fff;
    border-color: #ddd;
    background: #f5f5f5
}

.wrapperFeatureContainer,
.wrapperSpeedSliderContainer {
    float: left;
    width: 50%;
}

.checkFeature input {
    margin-right: 2px
}

.checkFeature label {
    cursor: pointer
}

.checkFeature .tooltip {
    left: 30px;
    top: -20px
}

/* Kriterien */

.showCriteria {
    margin-top: 1.5em;
}

.wrapperSpeedSliderContainer .showCriteria {
    background: #087e9f;
    color: #fff;
    text-shadow: none;
    border: none;
    margin-bottom: 4px;
}

.wrapperSpeedSliderContainer .showCriteria:before {
    background: transparent;
    font-size: 25px;
    font-weight: bold;
    position: absolute;
    width: auto;
    height: auto;
}

.wrapperSpeedSliderContainer .buttonPlus > span,
.wrapperSpeedSliderContainer .buttonMinus > span {
    padding-left: 20px;
}

.wrapperSpeedSliderContainer .buttonMinus:before {
    content: '-';
    top: 3px;
    left: 13px;
}

.wrapperSpeedSliderContainer .buttonPlus:before {
    content: '+';
    top: 6px;
}

.showCriteriaContainer {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-end;
    max-width: 310px;
}

.showCriteriaContainer .seals .seal-widget {
    transform: scale(.45);
}

/* Verfügbarkeitsprüfung anpassung */
.isAvailability .showCriteria {
    margin-right: 10px;
    margin-top: 25px
}

.boxCompareCriteria {
    border-top: 0;
    margin-top: 0;
    padding: 10px;
    position: relative
}

.boxCompareCriteria label {
    font-size: 12px
}

.cornerCompareCriteria {
    background: url('../img/dsl_sprite.png') -453px -40px;
    position: absolute;
    right: 80px;
    top: -1px;
    width: 23px;
    height: 12px
}

.wrapperCompareCriteria > li {
    display: inline-block;
    padding-right: 0.35em;
    padding-bottom: 0.4em;
}

.wrapperCompareCriteria > li:last-child {
    padding-right: 0;
}

.wrapperCompareCriteria select {
    width: auto;
}
.wrapperCompareCriteria input[type="text"] {
    width: 4em;
}
.wrapperCompareCriteria .disabled {
    color: #767676;
}

.selectSpeedMobileContainer {
	display: none;
}

@media (max-width: 959px) {
    .wrapperSpeedSlider {
        display: none;
    }

	.selectSpeedMobileContainer {
		display: block;
	}

	.selectSpeedMobileContainer .slider {
		display: none;
	}

	.selectSpeedMobileContainer .selectSpeed {
		display: inline-block!important;
	}

    .wrapperFeatureContainer, .wrapperFeature {
        flex-direction: row;
        flex-wrap: wrap;
    }

    .boxCompareFilter, .listCompareFilterRight {
        flex-direction: column;
        gap: 10px;
    }

    .listCompareFilterRight,
    .listCompareFilterRight .wrapperFeatureContainer,
    .listCompareFilterRight .wrapperSpeedSliderContainer,
    .listCompareFilter {
        width: 100%;
    }

    .availabilityWrapper {
        width: 55%;
    }

    .availabilityWrapper a {
        padding: 0;
    }

    .listCompareFilter li:first-child {
        gap: 3px;
    }

    .listCompareFilterRight .showCriteriaContainer .seals {
        position: relative;
        right: 0;
        top: 0;
        bottom: 0;
        left: 0;
        height: 55px;
    }

    .showCriteriaContainer {
        padding-top: 10px;
        max-width: none;
    }
}

@media (max-width: 400px) {
    .availabilityWrapper {
        padding: 0;
    }

    .availabilityWrapper .highlightFeature {
        flex-direction: row;
    }

    .listCompareFilter li:first-child {
        gap: 8px;
    }
}

/* Loader Bar */

.formCompare .loaderBarWrapper {
    margin-top: 10px
}

.textLoaderBar {
    text-align: center;
    font-weight: bold
}

/* Loader-Fixes */
.loader {
    margin-left: -7.25em
}

.dataStep .loader {
    position: fixed;
    right: auto
}

.compareTable .loaderOverlay {
    z-index: 10;
    margin-left: -5px;
    margin-right: -5px;
    padding: 0 5px
}

.compareTable .loader {
    z-index: 99;
}

/* Anpassung fuer redirectPage notwendig */
.redirectPage .redirectLoader {
    background: #fff;
    border: 1px solid #bccee2;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
    color: #0d65be;
    min-width: 128px;
    padding: 10px;
    text-align: center
}

.redirectBox {
    margin: 100px 0;
    text-align: center
}

.redirectBox h1 {
    font: 28px/40px arial;
    margin: 10px 0 30px
}

/* Errors */

.errorRedirect {
    padding: 35px;
    font-size: 1.1em;
    background-color: #fff;
}

.errorRedirect .hint {
    font-size: 1.3em;
}

/* Text der Loader Bar */
.textLoaderBar .textAdress,
.textLoaderBar .buttonEdit,
.textLoaderBar .buttonDelete {
    -moz-box-shadow: inset 0 0 0 1px #fff;
    -webkit-box-shadow: inset 0 0 0 1px #fff;
    box-shadow: inset 0 0 0 1px #fff;
    border: 1px solid #ddd;
    background: #f5f5f5;
    display: inline-block
}

.textLoaderBar .textAdress {
    margin-left: 5px;
    padding: 0 8px;
    line-height: 25px
}

/* Buttons in der Loader Bar */

.textLoaderBar .buttonEdit,
.textLoaderBar .buttonDelete {
    text-indent: -999em;
    direction: ltr;
    vertical-align: top;
    margin-left: 4px;
    height: 25px;
    width: 25px
}

.textLoaderBar .buttonEdit:hover,
.textLoaderBar .buttonDelete:hover {
    background-color: #fff
}

.textLoaderBar .buttonEdit {
    background: url('../img/dsl_sprite_icon.png') -2px -243px
}

.textLoaderBar .buttonDelete {
    background: url('../img/dsl_sprite_icon.png') -3px -273px
}

/* @section 4.3.2 Vergleichstabelle */

.compareTable {
    position: relative;
}

.compareTable .loader {
    top: 5em;
}

/* Breite fuer die Spalten beim Tarifvergleich: Effektivkosten, Merkmale */
.boxNote .tableTariffCompare .itemFirst {
    display: table-cell
}

.tableCompare .itemFirst {
    display: none;
    max-width: 17px
}

.tableCompare .itemSecond {
    width: 14.7%
}

.tableCompare .itemThird {
    width: 18%;
}

.tableCompare .itemFourth {
    width: 17%
}

.tableCompare .itemSixth {
	height: 100%;
    width: 12%;
    border-right: none;
}

/*box Compare Details Bar*/
.vam {
    vertical-align: middle;
    display: inline-block;
}

.compareDetailsBar {
    background: #fafafa !important;
    border: 1px #ccc solid;
    width: 100%;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    margin-right: 5px;
    height: 40px;
}

.compareDetailsBar.full {
    height: 65px;
}

.compareDetailsBar.stickit {
    top: 130px;
    border-top: none;
}

.compareDetailsBar.stickit.with-address-bar {
    top: 206px;
    border-top: none;
}

.compareDetailsBar.stickit.with-expanded-filter {
    top: 300px;
}

.compareDetailsBar.stickit.with-expanded-filter.with-address-bar {
    top: 382px;
}

.compareDetailsBar.stickit-end {
    position: static;
}

.compareDetailsBar ul {
    float: right;
    height: inherit;
}

.compareDetailsBar ul li {
    padding: 1em;
    border-left: 1px #ccc solid;
    background-color: #fff;
    position: relative;
    float: left;
    height: inherit;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    max-width: 120px;
}

.compareDetailsBar ul li .compareTarifImage {
    height: 3.25em;
}

.compareDetailsBar ul li .compareTarifImage .name {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    text-align: center;
    background-color: #f1f1f1;
    font-size: .85em;
    overflow: hidden;
    -ms-text-overflow: ellipsis;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.compareDetailsBar ul li .compareTarifImage img {
    max-width: 100%;
    max-height: 30px;
}

.compareDetailsBar ul li .compareTarifDesc {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    top: 0;
    padding: .5em;
    padding-right: 1.75em;
    background-color: #fff;
    -webkit-transition: all .15s;
    -moz-transition: all .15s;
    -ms-transition: all .15s;
    -o-transition: all .15s;
    transition: all .15s;
    display: none;
}

.compareDetailsBar ul li:hover .compareTarifDesc {
    display: block;
}

.compareDetailsBar ul li .compareTarifDesc .descManageBox {
    height: inherit;
    position: absolute;
    right: 0;
    top: 0;
}

.compareDetailsBar .descManageBox button {
    cursor: pointer;
    display: block;
    color: #707070;
    background-color: rgba(210, 210, 210, 0.25);
    text-align: center;
    font-weight: bold;
    width: 1.5em;
    height: 32px;
}

.compareDetailsBar .descManageBox button:hover {
    background-color: #ccc;
}

.compareDetailsBar ul li .compareTarifDesc .price {
    font-size: 1.5em;
    font-weight: bold;
    display: block;
    line-height: 1;
}

.compareDetailsBar ul li .compareTarifDesc .costsSavings {
    font-size: .85em;
    font-weight: bold;
    color: #50930e;
    line-height: 1;
}

.compareDetailsBar ul li .compareTarifDesc .period {
    font-size: .85em;
}

.toogleCompareButtonBox {
    float: left;
    width: 270px;
}

.compareDetailsBar .buttonMinus,
.compareDetailsBar .buttonPlus {
    display: inline-block;
    vertical-align: middle;
    height: 34px;
    width: 38px;
    text-align: center;
    margin: 2px 10px 2px 2px;
    background-color: #f4f7df;
    -webkit-transition: all .15s;
    -moz-transition: all .15s;
    -ms-transition: all .15s;
    -o-transition: all .15s;
    transition: all .15s;
}

.compareDetailsBar .buttonMinus::before,
.compareDetailsBar .buttonPlus::before {
    left: 0;
    right: 0;
}

.compareDetailsBar.full .buttonPlus,
.compareDetailsBar.full .buttonMinus {
    height: 65px;
}

.compareDetailsBar .buttonMinus {
    background-color: #eee;
}

.compareDetailsBar .buttonMinus:hover {
    background-color: #ddd;
}

.compareDetailsBar .buttonPlus:hover {
    background-color: #dae792;
}

.compareDetailsBar .compareManageBox {
    float: right;
    padding: .5em 1em;
    border-left: 1px #ccc solid;
    text-align: center;
    display: none;
}

.compareDetailsBar .compareManageBox button {
    display: block;
    width: 100%;
    margin-bottom: .25em;
}

.compareDetailsBar .compareManageBox button:disabled {
    opacity: .25;
}

.compareDetailsBar .compareManageBox .removeAll {
    padding: .3em !important;
    display: inline-block;
    color: #767676;
    font-size: 11px;
    text-decoration: underline;
    background-color: transparent;
}

.compareDetailsBar .compareManageBox .removeAll:hover {
    color: #444;
}

.compareDetailsBar .compareManageBox .removeAll::after {
    display: none;
}

.compareDetailsBar .desc {
    display: inline-block;
    width: 200px;
    vertical-align: middle;
}

.compareDetailsBar .more {
    font-weight: 400;
    color: #444;
}

.compareDetailsBar .less {
    display: none;
}

.compareBox {
    padding: 5px;
    max-width: 520px
}

.compareBoxTop {
    margin-top: 5px;
    height: 28px;
    background: #edf6ff;
    display: inline-block;
    border: 1px solid #d6d6d6;
    border-bottom: none
}

.compareBoxTop.stickit {
    top: 124px
}

.placeHolderCompareBox {
    min-height: 42px
}

.tableCompare .tableHead .itemFirst {
    border-top: 1px solid #edf6ff;
    border-width: 1px 0 0 1px
}

.compareBox .buttonLight {
    margin-right: 3px;
    padding: 5px 7px;
    line-height: 10px;
    height: 16px;
    width: 16px
}

/* Bug 185831 */
.titleSelectedTariff {
    background: #dbefbe;
    background: -moz-linear-gradient(top, #f1f9e4, #dbefbe);
    background: -ms-linear-gradient(top, #f1f9e4, #dbefbe);
    background: -o-linear-gradient(top, #f1f9e4, #dbefbe);
    background: -webkit-gradient(linear, left top, left bottom, from(#f1f9e4), to(#dbefbe));
    background: -webkit-linear-gradient(top, #f1f9e4, #dbefbe);
    background: linear-gradient(top, #f1f9e4, #dbefbe);
    border: 1px solid #c4cfb1;
    color: #444
}

.boxSelectedPrice .price {
    color: #007f0e
}

/* @section 4.3.2.1 Global */

.tableCompare thead .tableCompareRow th {
    border-bottom: none;
    padding: 10px 2px 0
}

.tableCompare tfoot .tableCompareRow td {
    border-top: none;
    padding: 0 2px 10px
}

/* In Kombination mit einer Google Anzeige */

.hasGoogleAds, .hasGoogleAds > td[colspan] {
    border: 1px solid #d6d6d6;
    padding: 0 10px;
}

.hasGoogleAds #btfAds,
.hasGoogleAds #atfAds {
    height: 0;
}

.hasGoogleAds #btfAds[style*="height"],
.hasGoogleAds #atfAds[style*="height"] {
    padding: 10px 0;
}

.hasGoogleAds > td {
    border: 0;
}

/* @section 4.3.2.2 Head */

/*.tableCompare .tableCompareRow .desc {font-weight:normal; margin:0 5px}*/
.tableCompare .tableCompareRow .error {
    color: #c00;
    background: none
}

.tableCompare .tableCompareRow, .tableCompare .tableHead .itemFirst, .tableCompare td.itemFirst, .tableCompareLanding tr:hover .itemFirst {
    background: #fafcff;
}

.tableCompare > tr > td:last-child {
    border-right: 1px solid #d6d6d6
}

/* @section 4.3.2.3 Zellen */

.tableCompare .itemFirst {
    width: 20px
}

.tableCompare .itemFirst {
    vertical-align: middle
}

.tableCompare .itemSecond {
    vertical-align: top;
}

.tableCompare .itemFirst input, .tableCompare .itemSixth input {
    display: block;
    margin: 0 auto
}

.tableCompare .itemSixth .tariffButtonColumn {
	align-items: flex-end;
	display: flex;
	height: 100%;
	justify-content: center;
	flex-direction: column;
	position: relative;
}

.tableCompare .itemSixth .tariffButtonContainer {
	align-items: center;
	display: flex;
	justify-content: center;
	flex-direction: column;
}

.tableCompare .itemSixth .tariffButtonContainer.withTwoLabels {
	padding-top: 30px;
}

.tableCompare .itemSixth .rightLabelContainer {
	position: absolute;
	right: 0;
	text-align: center;
	top: 0;
	width: max-content;
	z-index: 999;
}

.tableCompare .itemSixth .savingsLabel {
	background-color: #767676;
	color: #FFF;
	font-size: 14px;
	line-height: 1;
	max-width: 230px;
	padding: 4px;
}

.indication {
    color: #444444;
    font-size: 0.875em;
	text-align: right;
	margin: 4px 10px 0 0;
}

@media screen and (max-width: 800px) {
	.tableCompare .itemSixth .rightLabelContainer {
		max-width: 95px;
	}

	.tableCompare .itemSixth .savingsLabel {
		font-size: 11px;
	}
}

/* @section 4.3.2.4 Body */

/* Zelle "Kosten" */

.tableCompare .costsAverage {
    vertical-align: middle;
    font: bold 2em arial;
}

.tableCompare .comparePrice {
    display: block;
    margin: -5px 0 0 15px;
    font-size: 0.875em;
    text-decoration: underline;
    color: #767676
}

.tableCompare .itemSecond, .tableCompare .costsAverage {
    white-space: nowrap
}

.tableCompare .linkPriceDetails {
    display: block;
    margin: 1px 21px 15px;
    font-size: 0.875em;
    color: #767676;
}

.tableCompare .linkPriceDetails .ico {
    margin-top: -12px;
    margin-left: 4px;
}

.ribbonTipp {
    background: #003043;
    color: #fff;
    font-size: 18px;
    height: 32px;
    line-height: 32px;
    max-width: 260px;
    padding: 0 10px;
    position: absolute;
    top: -10px;
    left: -15px;
    z-index: 1;
}

.ribbonTipp > span {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ribbonTipp:after {
    position: absolute;
    content: "";
    display: block;
    background: transparent;
    left: 0;
    bottom: -5px;
    border-color: #003043 transparent transparent;
    border-style: solid;
    border-width: 5px 0 0 5px;
    height: 0;
    width: 0;
}

.tableCompare .tableBody .tariffTipp > td {
    background: #dbecff;
    background: -moz-linear-gradient(top, #fafcff 50%, #dbecff 100%);
    background: -webkit-gradient(linear, left top, left bottom, color-stop(50%, #fafcff), color-stop(100%, #dbecff));
    background: -webkit-linear-gradient(top, #fafcff 50%, #dbecff 100%);
    background: -o-linear-gradient(top, #fafcff 50%, #dbecff 100%);
    background: -ms-linear-gradient(top, #fafcff 50%, #dbecff 100%);
    background: linear-gradient(to bottom, #fafcff 50%, #dbecff 100%);
}

.tableCompare .tableBody .tariffTipp > td,
.tableCompare .tableBody .tariffTipp + .mobileTooltipsRow > td {
    background: #e0f2ff;
}

.tableCompare .tableBody .tariffTipp .itemFirst {
    -moz-box-shadow: none;
    -webkit-box-shadow: none;
    box-shadow: none;
}

/* Ausrichtung left ist so hoch um IE7 Bug z-index zu umgehen */
.tableCompare .itemSecond .tooltip {
    width: 450px;
    left: 120px;
    top: 10px
}

.boxConfirm .linkEmail,
.boxDataStep .boxSelectedTariff a,
.tableCompare .linkDetails {
    color: #2A4D8F;
    text-decoration: none;
}

.boxConfirm .linkEmail:hover,
.boxDataStep .boxSelectedTariff a:hover,
.tableCompare .linkDetails:hover {
    text-decoration: underline;
}

.tableCompare .costsSavingsWrapper {
    font-weight: 700;
    color: #2A4D8F;
}

.tableCompareSEO .costsSavingsWrapper {
    display: none
}

.tableCompare .costsSavings span {
    font-size: 0.875em
}

/* Zelle "Anbieter/Tarif" */

/* Provider Logo */

.tableCompare .logoProvider {
    margin-bottom: 5px;
    display: block;
    height: 25px;
    width: auto;
}

.tableCompare .period {
    margin-bottom: 5px;
    display: block;
    font-size: 0.875em
}

/* Name des Providers */

.providerName {
    display: block;
    font-size: 0.875em;
    color: #767676;
}

.textDescription {
    display: none
}

/* Zelle "Merkmale" */

.tableCompare .itemFourth .tooltip, .tableCompare .itemFifth .tooltip {
    left: auto;
    right: 105%;
    top: 0
}

.badgeCompareTest {
    background: #fff;
    margin: 10px 0 0 0;
    max-width: 50px;
    padding: 3px;
    -moz-border-radius: 2px;
    -webkit-border-radius: 2px;
    border-radius: 2px;
    -moz-box-shadow: 0 0 3px #999;
    -webkit-box-shadow: 0 0 3px #999;
    box-shadow: 0 0 3px #999
}

.badgeCompareTest img {
    display: block
}

.badgeCompareTest > img {
    width: 100%
}

.badgeCompareTest .tooltip {
    width: auto;
    padding: 10px
}

/* Zelle "Details" */

.itemThird .linkDetails {
    margin: 5px 0;
    display: none;
}
.itemFifth .linkDetails {
    display: inline-block;
    margin: 5px 0 0 20px
}

.testSeals td li div {
    width: 120px;
    height: 65px;
    margin: 3px;
}

/* @section 4.3.2.5 Notes */

.tableCompare .tableBody tr td.itemNote {
    border: 1px solid #d6d6d6
}

.tableCompare .tableBody tr td.itemNote > div {
    border: 1px solid;
    font: bold 1.25em arial;
    padding: 20px;
    text-align: center
}

/* @section 4.3.3 Kostenübersicht */

.tableCosts th, .tableCosts td {
    width: 13%;
    padding: 2px 1%
}

.tableCosts th {
    padding: 2px 5px;
    white-space: nowrap;
    border-bottom: 1px solid #000
}

.tableCosts td {
    padding: 2px 5px
}

.tableCosts tfoot td {
    font-size: 0.875em;
    line-height: 1.5em;
    color: #767676;
    text-align: left
}

.tableCosts tfoot td p {
    margin: 0.5em 0 0.5em 0.5em;
}
.tableCosts tfoot td p:first-child::before {
    content: "* ";
    margin-left: -0.75em;
}
.tableCosts tfoot td p:nth-child(2)::before {
    content: "** ";
    margin-left: -1em;
}

.tableCosts .first {
    text-align: left;
    width: 53%
}

.tableCosts .amount td {
    font-weight: bold;
    border-top: 2px solid #000
}

.tableCosts .amount strong {
    color: #50930E;
    font: bold 1.75em arial;
    margin-left: 5px
}

.tableCosts .amountSeparated td {
    margin-top: 5px;
    margin-bottom: 5px;
    font-weight: bold;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
}

.tableCosts .amountSeparated strong {
    /*font: bold 1.75em arial;*/
    margin-left: 5px
}

.tableCosts .empty {
    padding-right: 25px
}

/* @section 4.3.4 Misc */

.textServiceTime {
    margin: 0 0 1.2em 2em;
    font-size: 1.2em;
    color: #767676
}

.icoTelAlternative {
    height: 30px;
    width: 25px;
    background: url('../img/dsl_sprite_icon.png') -4px -423px
}

/* @section 4.4 Lieferadresse */

.titleSelectedTariff {
    margin-top: 1em;
    border: 1px solid #c4cfb1;
    color: #444;
    background: #dbefbe;
    background: -moz-linear-gradient(top, #f1f9e4, #dbefbe);
    background: -ms-linear-gradient(top, #f1f9e4, #dbefbe);
    background: -o-linear-gradient(top, #f1f9e4, #dbefbe);
    background: -webkit-gradient(linear, left top, left bottom, from(#f1f9e4), to(#dbefbe));
    background: -webkit-linear-gradient(top, #f1f9e4, #dbefbe);
    background: linear-gradient(top, #f1f9e4, #dbefbe)
}

.boxSelectedTariff {
    margin-bottom: 1em
}

.boxSelectedTariff img {
    display: block;
    max-width: 100%;
    max-height: 5em;
    margin-bottom: 0.5em;
}

/*.boxSelectedTariff .wrapperCenter{*/
    /*float: left;*/
    /*text-align: center;*/
    /*margin-right: 10px;*/
    /*width: 100%;*/
/*}*/

/*.boxSelectedTariff .listTariffDetails {*/
    /*float:left;*/
/*}*/


.boxSelectedTariff .tooltip {
    width: 300px
}

.boxSelectedTariff .price {
    font: bold 22px/36px arial;
    vertical-align: middle;
    margin-left: 5px;
    color: #2A4D8F;
}

.boxSelectedTariff .priceSmallPrint {
    font: 11px/15px arial;
    color: #767676;
    vertical-align: middle;
    display: inline-block;
    width: 50px;
}

.bottomPrice {
    padding-right: 5px;
}

.boxSelectedTariff .icoTick {
    vertical-align: top
}

.boxSelectedTariff .linkSelectedProvider {
    font-weight: bold
}

.boxSelectedTariff .listTariffDetails {
    color: #767676;
}

/* Tooltip Overlay Bugfix */
.boxSelectedTariff {
    position: relative;
    z-index: 1
}

.listAdvantagesTariff, .boxSelectedPrice {
    margin-top: 10px
}

.listAdvantagesTariff {
    color: #767676
}

.listAdvantagesTariff li {
    margin-left: 20px
}

.listAdvantagesTariff .icoTick {
    margin-right: 5px
}

.boxSelectedPrice {
    text-align: right
}

/* Adressen identisch */

.fieldNotIdentical, .fieldIdentical {
    vertical-align: middle;
    margin-right: 5px
}

.fieldNotIdentical {
    margin-left: 10px
}

/* boxAgree - AGB für Provider und Newsletter */

.boxAgree {
    padding: 5px 10px
}

.boxAgree input {
    float: left;
    margin: 10px
}

.boxAgree label {
    float: left;
    width: 85%
}

/* Styling der Felder-Breiten */

.dataStep1 input[type=text] + input[type=text],
.dataStep1 input[type=text] + select,
.dataStep1 select + select {
    margin-left: 0.5%
}

.dataStep1 input[name^="street"],
.dataStep1 input[name^="deliveryStreet"],
.dataStep1 input[name^="ibanStreet"],
.dataStep1 input[name^="callNumber"] {
    width: 28%
}

.dataStep1 input[name=houseNumber],
.dataStep1 input[name=deliveryHouseNumber],
.dataStep1 input[name=ibanHouseNumber],
.dataStep1 input[name=callPrimary],
.dataStep1 select[name=birthDateDay],
.dataStep1 select[name=birthDateYear] {
    width: 12%
}

.dataStep1 input[name=eMail],
.dataStep1 input[name=eMailRepeat],
.dataStep1 select[name=callTime] {
    width: 41%
}

.dataStep1 select[name=birthDateMonth] {
    width: 15%
}

.dataStep1 input[name^="zipcode"],
.dataStep1 input[name^="deliveryZipcode"],
.dataStep1 select[name^="deliveryZipcode"],
.dataStep1 input[name^="ibanZipcode"],
.dataStep1 select[name^="ibanZipcode"],
.dataStep1 select[name^="zipcode"] {
    width: 17%
}

.dataStep1 input[name^="place"],
.dataStep1 input[name^="deliveryPlace"],
.dataStep1 select[name^="deliveryPlace"],
.dataStep1 input[name^="ibanPlace"],
.dataStep1 select[name^="ibanPlace"],
.dataStep1 select[name^="place"] {
    width: 23%
}

.contractFormdatastepfinal input[type=text] + input[type=text],
.contractFormdatastepfinal input[type=text] + select,
.contractFormdatastepfinal select + select {
    margin-left: 0.5%
}

.contractFormdatastepfinal input[name^="street"],
.contractFormdatastepfinal input[name^="deliveryStreet"],
.contractFormdatastepfinal input[name^="ibanStreet"],
.contractFormdatastepfinal input[name^="callNumber"] {
    width: 28%
}

.contractFormdatastepfinal input[name=houseNumber],
.contractFormdatastepfinal input[name=deliveryHouseNumber],
.contractFormdatastepfinal input[name=ibanHouseNumber],
.contractFormdatastepfinal input[name=callPrimary],
.contractFormdatastepfinal select[name=birthDateDay],
.contractFormdatastepfinal select[name=birthDateYear] {
    width: 12%
}

.contractFormdatastepfinal input[name=eMail],
.contractFormdatastepfinal input[name=eMailRepeat],
.contractFormdatastepfinal select[name=callTime] {
    width: 41%
}

.contractFormdatastepfinal select[name=birthDateMonth] {
    width: 15%
}

.contractFormdatastepfinal input[name^="zipcode"],
.contractFormdatastepfinal input[name^="deliveryZipcode"],
.contractFormdatastepfinal select[name^="deliveryZipcode"],
.contractFormdatastepfinal input[name^="ibanZipcode"],
.contractFormdatastepfinal select[name^="ibanZipcode"],
.contractFormdatastepfinal select[name^="zipcode"] {
    width: 17%
}

.contractFormdatastepfinal input[name^="place"],
.contractFormdatastepfinal input[name^="deliveryPlace"],
.contractFormdatastepfinal select[name^="deliveryPlace"],
.contractFormdatastepfinal input[name^="ibanPlace"],
.contractFormdatastepfinal select[name^="ibanPlace"],
.contractFormdatastepfinal select[name^="place"] {
    width: 23%
}

.contractFormdatastepfinal .accountHolderLastName .textSmallPrint {
    font-size: 9px;
    display: inline-block;
    margin-left: 52.5%
}

.contractFormdatastepfinal .accountNumber .textSmallPrint {
    font-size: 9px;
    display: inline-block;
    margin-left: 52.5%
}

.contractFormdatastepfinal .accountNumber input, .contractFormdatastepfinal .bankCode input {
    width: 30%
}

/* Warum abschließen */

.boxWhyComplete {
    color: #767676
}

.boxWhyComplete h3 {
    font-size: 12px;
    margin: 20px 10px 10px
}

.boxWhyComplete dl {
    font-size: 11px;
    margin: 0 10px
}

.boxWhyComplete dt {
    margin: 8px 0 2px
}

.boxWhyComplete strong {
    vertical-align: middle
}

.boxWhyComplete dd {
    margin: 0 20px
}

/* @section 4.5 Hardware */

.titleFeature {
    display: inline-block;
    font-size: 14px
}

.accordionStep2 .line > div,
.accordionStep2 .line > label {
    margin-top: 10px;
    margin-bottom: 10px
}

.accordionStep2 .hasRowLight {
    display: block;
    border-top: 1px dotted #d6d6d6
}

.accordionStep2 .hasRowLight:hover {
    background: #fafafa;
}

.accordionStep2 .hasRowLight > span {
    display: block;
}

.accordionStep2 .hasRowLight:first-child,
.accordionStep2 .isHeadline + .hasRowLight {
    border-top: 0
}

.accordionStep2 input[type=radio], .accordionStep2 input[type=checkbox] {
    margin-right: 5px;
    margin-top: 2px;
    vertical-align: top
}

.accordionStep2 .imageProduct {
    display: block;
    margin: 0 auto
}

.accordionStep2 .priceProduct {
    text-align: right;
    font-weight: bold
}

.accordionStep2 .optionTitle {
    display: inline-block;
    width: 80%
}

.dataStep2 .setDataStepEnd {
    border: 0
}

.descriptionProduct ul {
    margin: 0
}

.descriptionProduct li {
    padding-left: 0.25em
}

.descriptionProduct li:before {
    content: 'b';
    font: 1em 'icon pvg';
    color: #8FAF11;
    margin-right: 0.25em
}

/* Der Hinweis wird bei der Zahlungsart Überweisung eingeblendet */
.paymentHint {
    font-size: 11px;
    color: #767676;
    margin-top: 5px;
}

/* @section 4.6 Bisheriger Anschluss */

.listAddNumber {
    display: inline-block
}

.listAddNumber li + li {
    margin-top: 5px
}

.areaAddNumber {
    margin-left: 5px;
    vertical-align: top;
    display: none
}

.icoAddNumber {
    margin-top: 4px
}

/* Anschluss bereits gekündigt */

.wrapperAreaKeepNumber {
    display: inline-block;
    width: 47%;
}
.wrapperAreaKeepNumber select {
    width: 43%;
}
.areaKeepNumber {
    font-size: 11px;
    color: #767676;
    margin-top: 5px;
    display: block
}

/* Neuer Anschluss */

.listFormDefault .contractListInput {
    display: inline-block;
    width: 47%
}

.listFormDefault .contractListInput label {
    margin-right: 4%;
    white-space: nowrap
}

.connectionLocation input {
    color: #767676
}

.connectionLocation input:focus {
    color: #444
}

/* Styling der Felder-Breiten - Pixel da Probleme mit % durch Verschachtelung entstehen */

.dataStep3 .listAddNumber .primary {
    width: 52px
}

.dataStep3 .listAddNumber .number {
    width: 198px
}

/* Hinweistext über den Adressfeldern der Bankverbindung*/
.dataStep1 .accountHolderLastName .textSmallPrint {
    font-size: 9px;
    display: inline-block
}

/* Extra Klasse für Ausweistooltip*/

.tooltipPassport {
    top: -250px
}

/* @section 4.7 Bankverbindung */

.titleDefault .linkEdit {
    font: normal 11px/18px arial;
    float: right
}

.dataStep4 select[name=identcardtype] {
    width: 35%
}

/* Trust Bank */
.dataStep1 .accountNumber input, .dataStep1 .bankCode input {
    width: 30%
}

.badgeTrustBank {
    background: url('../img/trust_bank.jpg');
    display: inline-block;
    height: 26px;
    width: 57px;
    margin-left: 10px;
    vertical-align: middle
}

.badgeTrustBank .tooltip {
    left: 62px
}

/* Hinweistext unter IBAN, dass die BIC nicht benötigt wird*/
.dataStep1 .accountNumber .textSmallPrint {
    font-size: 9px;
    display: inline-block
}

.dataStep1 .accountNumber .hideIfJS {
    display: none
}

/* @section 4.8 Datenabgleich */

.listAdvantagesTariffLarge {
    padding-top: 10px;
    color: #767676
}

.listTimeTariffLarge, .listAdvantagesTariffLarge li {
    margin-top: 3px
}

.listTimeTariffLarge {
    margin-top: 20px;
    color: #767676
}

.listTimeTariffLarge .itemAllTariff {
    margin-top: 20px
}

.emailSpamBox {
    position: relative
}

.emailSpamHint {
    position: absolute;
    right: -10px;
    top: -90px;
    height: 105px;
    width: 125px;
    border-color: #c00;
    color: #c00;
    font-size: 0.875em;
    background: #fff;
    border-radius: 10px
}

.emailSpamHint:before, .emailSpamHint:after {
    position: absolute;
    top: 70px;
    content: '';
    border-width: 10px;
    border-style: solid;
    border-color: transparent;
    -webkit-transform: scale(0.999);
    transform: scale(0.999);
}

.emailSpamHint:before {
    left: -21px;
    border-right-color: #c00
}

.emailSpamHint:after {
    left: -20px;
    border-right-color: #fff
}

.boxVoiceRecording {
    padding: 10px;
    font-size: 1.2em;
    max-width: 1000px
}

.boxVoiceRecording .vrQuestion {
    margin: 10px 0 10px 0;
    font-size: 1.1em;
    font-weight: bold
}

.boxVoiceRecording .voiceRecordingError {
    padding: 10px;
    margin-top: 10px
}

.boxVoiceRecording .tooltip {
    width: 300px;
}

/* @section 4.9 Bestätigung */

.titleConfirm {
    margin-top: 1em
}

.titleConfirmSub {
    font-size: 12px;
    margin-bottom: 1em
}

.boxConfirm {
    margin-bottom: 20px
}

.boxConfirm > p {
    margin: 1em 0
}
.boxConfirm > .warning {
    margin-top: 1em;
}

.boxReminderInfoFinal {
    position: relative;
    background: #e7e7e7;
    padding: 1em;
    margin-bottom: 2em
}

.boxReminderInfoFinal p {
    margin: 10px 0
}

.boxReminderInfoFinal li {
    margin: 5px 0
}

.boxReminderInfoFinal input, .boxReminderInfoFinal label {
    float: left
}

.boxReminderInfoFinal input {
    margin: 2px 5px 2px 0
}

.boxReminderInfoFinal label {
    width: 90%
}

.boxReminderInfoFinal .slidingButton {
    margin: 15px
}

.boxReminderInfoFinal h3 {
    padding-right: 4em
}

/* timer image */
.boxReminderInfoFinal:after {
    content: '';
    position: absolute;
    top: -50px;
    right: 10px;
    height: 85px;
    width: 70px;
    background: url("../img/dsl_sprite_finalStep.png") 0 -56px
}

.listFinalSteps h4 {
    color: #2A4D8F;
    font-size: 1em;
    line-height: 1em;
    margin-bottom: 5px
}

.listFinalSteps p {
    color: #767676;
    font-size: 0.875em;
    line-height: 1.4em
}

.listFinalSteps li {
    margin-right: 2%
}

.listFinalSteps .itemFirst {
    width: 26%
}

.listFinalSteps .itemSecond {
    width: 34%
}

.listFinalSteps .itemThird {
    width: 34%;
}

.listFinalSteps .itemFirst:before {
    display: block;
    float: left;
    content: '';
    width: 37px;
    height: 55px;
    background: url('../img/dsl_sprite_finalStep.png') 0 0
}

.listFinalSteps .itemSecond:before {
    display: block;
    float: left;
    content: '';
    width: 70px;
    height: 55px;
    background: url('../img/dsl_sprite_finalStep.png') -37px 0
}

.listFinalSteps .itemThird:before {
    display: block;
    float: left;
    content: '';
    width: 58px;
    height: 55px;
    background: url('../img/dsl_sprite_finalStep.png') -102px 0
}

.indicationShow {
    position: relative;
}
.indicationBox {
    display: none;
}
.indicationShow .indicationBox {
    position: absolute;
    top: -9em;
    width: 80%;
    display: block;
    padding: 1em;
}
.indicationBox .buttonLine {
    text-align: center;
}
.indicationBox p {
    margin-bottom: 0.5em;
}
.indicationBox .buttonLine a:first-child {
    margin-right: 5em;
}

.confirmFeedbackBox > div:first-child {
    box-shadow: 1px 0 0 rgba(0, 0, 0, 1)
}

.confirmFeedbackBox p {
    margin: 1em 2.5em
}

.confirmFeedbackBox > div:first-child p {
    margin-left: 0
}

/* Micro Teaser (Crossselling) */

.boxMicroTeaserStrom, .boxMicroTeaserGas, .boxMicroTeaserFinance {
    position: relative
}

.boxMicroTeaserStrom {
    margin-right: 12px
}

.boxMicroTeaserGas {
    margin-right: 6px;
    margin-left: 6px
}

.boxMicroTeaserFinance {
    margin-left: 12px
}

.titleMicroTeaser {
    font-size: 13px
}

.listMicroTeaser {
    margin: 10px 0;
    font-size: 11px
}

.titleMicroTeaser, .listMicroTeaser {
    color: #2a4d8f
}

.boxMicroTeaser .ico {
    display: inline-block;
    margin-right: 5px;
    vertical-align: baseline
}

.boxImageMicroTeaser {
    background: url('../img/dsl_crossselling_sprite.jpg');
    -moz-box-shadow: 0 0 4px #ababab;
    -webkit-box-shadow: 0 0 4px #ababab;
    box-shadow: 0 0 4px #ababab;
    border: 2px solid #fff;
    float: right;
    margin-top: 26px;
    height: 97px;
    width: 70px
}

.boxImageMicroTeaserStrom {
    background-position: 0 0
}

.boxImageMicroTeaserGas {
    background-position: -72px 0
}

.boxImageMicroTeaserFinance {
    background-position: -144px 0
}

/* 4.10 AGB */

.boxAgb {
    margin: 15px
}

.agbList {
    list-style-type: disc;
    margin-left: 20px
}

/* 4.11 Aktionsverlosungen */

.actionImage {
    margin-left: 5px
}

/* Auf den Aktionsseiten kein breadcrumb und keine Hotline im Header */

.actionBody .breadcrumb, .actionBody .brandingBoxHotline {
    display: none
}

/* 4.12 News */

.titleNews > span {
    color: #767676;
    font: 16px/2em arial;
    float: right;
}

/* @section 4.13 Step 1 */

.specialOptionBox {
    background-color: #edf7ff;
    border: 1px solid #d6d6d6;
    padding: 15px;
    margin-bottom: 7px;
}

.specialOptionBox .optionHeadline {
    color: #2a4d8f;
    font-family: Archivo Narrow;
    margin: 5px 0 15px;
}

.specialOptionBox .descriptionProduct {
    padding: 0 20px;
    box-sizing: border-box;
}

.optionHeadline span {
    vertical-align: middle;
}

.optionHeadline .headlineFirst {
    font-size: 2.4em;
    line-height: 1em;
    font-weight: bold;
    margin-right: 10px;
}

.optionHeadline .headlineSecond {
    font-size: 1.8em;
}

.specialOptionBox .tabBox {
    background-color: #fff;
    box-shadow: 4px 4px 5px #b0b3ba;
    border-radius: 5px;
}

.specialOptionBox .imageProduct {
    margin-left: 3em;
}

.specialOptionBox .tooltipImg {
    background: #fff;
    padding: 0;
    width: inherit;
    top: -50px;
    left: 220px;
}

.specialOptionBox .optionPrice {
    color: #2a4d8f;
    font-family: Archivo Narrow;
    text-align: right;
}

.dataStep1 .optionHeadline {
    margin-top: 10px;
}

.dataStep1 .bottomBox2 {
    border-top: 0;
}

.bottomBox3 {
	border-width: 0;
	margin-bottom: 0;
    margin-top: 0;
}

.bottomBar.bottomBox3 {
	border-width: 0px;
}
.contractFormdatastep1 .bottomBar.bottomBox3 {
	border-width: 1px;
}

.contractFormdatastep1 .boxSelectedPrice.bottomBox3 {
	border-width: 1px;
    border-top: 0;
    border-bottom: 0;
}

.specialOptionBox .optionPrice,
.specialOptionBox .optionText {
    margin: 20px 0;
}

.specialOptionBox .optionPrice p:first-child {
    margin-bottom: 20px
}

.specialOptionBox .optionPrice span {
    font-size: 2em
}

.tabMenueAlternate li {
    display: inline;
}

.tabMenueAlternate li a {
    background: #d5e8fe;
    background: -moz-linear-gradient(top, #e2effd, #d5e8fe);
    background: -ms-linear-gradient(top, #e2effd, #d5e8fe);
    background: -o-linear-gradient(top, #e2effd, #d5e8fe);
    background: -webkit-gradient(linear, left top, left bottom, from(#e2effd), to(#d5e8fe));
    background: -webkit-linear-gradient(top, #e2effd, #d5e8fe);
    background: linear-gradient(top, #e2effd, #d5e8fe);
    border: 1px solid #e2e2e2;
    border-width: 1px 1px 0;
    border-radius: 5px;
    box-shadow: -1px 0 0 #fff inset, 1px 0 0 #fff inset;
    color: #000;
    display: inline-block;
    margin-bottom: 2px;
    padding: 9px 15px;
    text-decoration: none;
    vertical-align: bottom;
    font-weight: normal;
}

.tabMenueAlternate li a > span {
    margin-left: 5px;
    vertical-align: middle;
}

.tabMenueAlternate li a > input {
    vertical-align: middle;
}

.tabMenueAlternate .active {
    background-color: #fff;
    font-weight: bold;
    margin-bottom: 0;
    padding: 10px 20px;
    border-radius: 5px 5px 0 0;
}

.accordionstep1 {
    border: 1px solid #d6d6d6;
    border-width: 0 1px;
}

.accordionstep1.accordion1 {
    border: 1px solid #d6d6d6;
    border-width: 1px 1px 0 1px;
}

.accordionstep1.accordion2.splitBorder {
    border-top: 1px solid #d6d6d6;
    margin-top: 10px;
}

.specialOptionBox .sizeImage {
    text-align: center;
}

div.easyzoom-flyout {
    width: 300px !important;
    height: 140px !important;
    border: 2px solid #2a4d8f;
}

.dataStep1 .accordionContent {
    padding: 0;
}

.dataStep1 .accordionContent .textError,
.dataStep1 .accordionContent .hasRowLight {
    padding: 20px 10px
}

/* Doorkeeper */

.indexDoorkeeper {
    background: #f5f5f5;
    background: -moz-linear-gradient(top, #fff 0%, #f5f5f5 100%); /* FF3.6+ */
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #fff), color-stop(100%, #f5f5f5)); /* Chrome,Safari4+ */
    background: -webkit-linear-gradient(top, #fff 0%, #f5f5f5 100%); /* Chrome10+,Safari5.1+ */
    background: -o-linear-gradient(top, #fff 0%, #f5f5f5 100%); /* Opera 11.10+ */
    background: -ms-linear-gradient(top, #fff 0%, #f5f5f5 100%); /* IE10+ */
    background: linear-gradient(to bottom, #fff 0%, #f5f5f5 100%); /* W3C */
}

.layerBackground {
    padding: 30px;
}

/**** Headline - Logo ****/

.layerBackground .headline {
    font: 700 1.65em/1.75em "Archivo Narrow", Arial;
    font-size: 1.585em;
    line-height: 1.5em;
    margin: 0 0 1.5em 6em;
}

.layerBackground .headline span {
    font-size: 1.6em
}

.layerBackground .arrow {
    background: none repeat scroll 0 0 #e60000;
    -moz-border-radius: 0 3em 0 0;
    -webkit-border-radius: 0 3em 0 0;
    border-radius: 0 3em 0 0;
    height: 20em;
    left: -15em;
    margin: -2em 2.5em;
    position: absolute;
    top: -2.5em;
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    width: 20em;
}

.layerBackground .arrow span {
    background: url("../img/vodafone_logo.png") no-repeat scroll 0 0 rgba(0, 0, 0, 0);
    display: inline-block;
    height: 60px;
    left: 15em;
    position: relative;
    top: 0;
    -moz-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    width: 60px;
}

/**** Content ****/

.layerBackground > div {
    position: relative;
}

/**** Fone ****/

.layerBackground .boxFone {
    bottom: 10px;
    position: absolute;
}

.layerBackground .boxFone .icoHotlineInfo {
    display: inline-block;
    margin: 0;
}

/**** Boxen ****/

.firstBox {
    display: inline-block;
    font-size: 1.4em;
    font-weight: bold;
    line-height: 1.4em;
    margin-right: 3em;
    margin-top: 19em;
}

.layerbox {
    -webkit-border-radius: 3.5em;
    -moz-border-radius: 3.5em;
    border-radius: 3.5em;
    background-color: #fff;
    display: inline-block;
    color: #444444;
    height: 33em;
    margin-right: 10px;
    vertical-align: top;
}

.layerbox p {
    margin-bottom: 0.75em;
}

.layerbox .titleSecond {
    font-weight: bold;
}

.layerbox ul {
    height: 60px;
    margin-bottom: 10px;
}

.layerbox .icoTick {
    margin: 0 7px 0 2px;
}

.layerbox .icoDown {
    margin-right: 5px;
}

.layerbox .buttonLine {
    margin-top: 30px;
    margin-left: -2em;
}

.layerboxDefault .buttonLine {
    text-align: center;
}

.layerboxAlternate .buttonLine {
    margin-left: -2em;
}

.layerboxAlternate .buttonAlternative {
    width: 13em;
}

.layerboxAlternate .buttonAlternative:after {
    right: 0.8em;
}

/**** Preis ****/

.layerbox .priceBox span {
    display: inline-block;
    color: #767676;
    vertical-align: middle;
}

.layerbox .priceBox span:last-child {
    font-size: 0.8em;
    line-height: 1.2em;
}

.layerbox .priceBox .price {
    font-size: 2.1em;
    font-weight: bold;
    margin-right: 5px;
}

.layerboxDefault .priceBox .price {
    color: #767676;
}

.layerboxAlternate .priceBox .price {
    color: #50930e;
}

.layerboxAlternate .priceBox .icoInfo {
    margin: 0 3px;
}

/**** Preis ****/

.layerbox .boxHead {
    font: 700 1.7em/1.3em 'Archivo Narrow', Arial;
    text-align: center;
    position: relative;
    -webkit-border-top-left-radius: 2em;
    -webkit-border-top-right-radius: 2em;
    -moz-border-radius-topleft: 2em;
    -moz-border-radius-topright: 2em;
    border-top-left-radius: 2em;
    border-top-right-radius: 2em;
}

.layerbox .boxHead > span span {
    font-size: 2em;
}

.layerboxDefault .boxHead {
    background: #e5e5e5;
    color: #767676;
    height: 2.5em;
    padding-top: 1.5em;
}

.layerboxDefault .boxHead > span {
    bottom: 10px;
    left: 0;
    position: absolute;
    white-space: nowrap;
    width: 100%;
}

.layerboxAlternate .boxHead {
    height: 3.5em;
    padding-top: 0.5em;
    color: #fff;
    background: #e60000; /* Old browsers */
    background: -moz-linear-gradient(top, #e60000 3%, #d00000 100%); /* FF3.6+ */
    background: -webkit-gradient(linear, left top, left bottom, color-stop(3%, #e60000), color-stop(100%, #d00000)); /* Chrome,Safari4+ */
    background: -webkit-linear-gradient(top, #e60000 3%, #d00000 100%); /* Chrome10+,Safari5.1+ */
    background: -o-linear-gradient(top, #e60000 3%, #d00000 100%); /* Opera 11.10+ */
    background: -ms-linear-gradient(top, #e60000 3%, #d00000 100%); /* IE10+ */
    background: linear-gradient(to bottom, #e60000 3%, #d00000 100%); /* W3C */
}

.layerboxAlternate .boxHead span {
    display: inline-block;
    text-shadow: -1px -1px 1px rgba(0, 0, 0, 0.5);
}

.layerboxAlternate .boxHead span:first-child {
    font-size: 3em;
    text-align: right;
}

.layerboxAlternate .boxHead span:last-child {
    font-size: 1.4em;
    text-align: left;
}

.layerbox .logoProvider {
    height: 40px
}

.layerboxAlternate .logoProvider img {
    max-width: 200px;
}

.layerboxDefault {
    width: 20em;
}

.layerboxAlternate {
    width: 24em;
    -webkit-box-shadow: 0 0 10px 0 rgba(50, 50, 50, 0.25);
    -moz-box-shadow: 0 0 10px 0 rgba(50, 50, 50, 0.25);
    box-shadow: 0 0 10px 0 rgba(50, 50, 50, 0.25);
}

.layerboxDefault .boxContent {
    padding: 10px 20px 0;
}

.layerboxAlternate .boxContent {
    padding: 10px 40px 0;
}

/* Tooltip mit Preisangaben anpassen */
.priceBox .tooltip {
    top: -170px;
    width: 320px;
}

.callback .tooltip {
    left: 130px;
    top: -90px;
}

/* @section 5. Modal */

/* Global die für ALLE Modal geltend */
.linkCloseModal {
    position: absolute;
    z-index: 1000;
    right: 7px;
}

.simplemodal-type-iframe .simplemodal-wrap {
    background: url('../img/pvg_loader.gif') no-repeat center 45%
}

.boxInsideModalNote {
    margin-bottom: 10px
}

.formInsideModal p, .boxInsideModal h3 {
    margin: 5px 0
}

.titleInsideModal {
    font-size: 12px;
    color: #2a4d8f
}

.formInsideModal {
    background: #edf5ff;
    min-height: 398px
}

.formInsideModal.formCallback {
    min-height: 372px
}

.formInsideModal fieldset {
    margin: 5px 20px
}

#formCallback.formInsideModal,
#formCallback .listFormCallback > li {
	background: revert;
}

.listFormInsideModal li {
    float: left;
    margin: 10px 0 0 0;
    width: 48%
}

.listFormInsideModal li .label {
    font-weight: bold;
    display: block
}

.listFormInsideModal input[type="text"],
.listFormCallback select {
    width: 80%
}

.boxInsideModalInfo {
    text-align: center;
}
.boxInsideModalInfo h3 {font-size:14px}

.boxInsideModalInfo .logoProvider {
    max-width: 100%;
    max-height: 5em;
}

.formHint {
    padding: 15px 10px 10px 20px;
}

.telInsideModal {background:url('../img/pvg_sprite_icon_3.6.2.png') no-repeat -7px -423px;color:#2A4D8F;font:bold 1.5em arial;display:block}

/* @section 5.1 Callback (Modal) */

.listFormCallback > li {
    background: #ecf5ff;
    background: linear-gradient(to right, #ecf5ff 36%, #fff 36%);
    background: -webkit-linear-gradient(left, #ecf5ff 36%, #fff 36%);
    border-top: 1px dotted #d6d6d6;
    padding: 8px 5px
}

.listFormCallback > li:first-child {
    border: 0
}

.boxCallback .listFormCallback > li.boxNote + li.clearFix {
    height:66px;
}

.listFormCallback .label {
    display: inline-block;
    font-weight: bold;
    text-align: right;
    vertical-align: top;
    margin-top: 2px;
    margin-right: 4%;
    width: 33%
}

.listFormCallback label input[type="checkbox"], .listFormDefault label input[type="radio"] {
    vertical-align: middle;
    margin-right: 5px
}

.listFormCallback select, .listFormCallback input[type="text"] {
    width: 29%
}

.listFormCallback .selectContactable {
    width: 60%
}

.listFormCallback .labelConfirmation {
    display: block;
    float: left;
    width: 59%
}

.listFormCallback .labelConfirmation input {
    float: left
}

.listFormCallback .labelConfirmation p {
    margin: -2px 0 0 20px;
    font-size: 0.875em
}

.listFormCallback .inputConfirmation {
    display: block;
    float: left;
    margin-right: 1%
}

.listFormCallback .itemConfirmation .label {
    float: left
}

.boxCallback {
    background: url('../img/modal/modal_bg_callback.jpg') no-repeat right bottom;
    background-size: auto 170px;
}

h3.titleCallback {
    margin: 0;
    background-color: #ECF5FF;
    padding: 5px 10px
}

/* Listen */

.listFormCallback .itemFirst, .listFormCallback .itemSixth {
    width: 100%
}

.listFormCallback .itemSixth select {
    width: 86.5%
}

.listFormCallback .itemFirst select {
    width: 60%
}

.formCallback .buttonDefault {
    margin-top: 10px;
    float: right
}

/* Callback Infobereich */

.boxCallbackInfo h3, .boxCallbackInfo ul {
    margin: 0 10px
}

.boxCallbackInfo h3 {
    margin-top: 10px
}

.telCallback {
    margin: 5px 0;
    padding-left: 25px
}

/* @section 5.2 Tarifdetails (Modal) */

/* tabMenue */

.tariffDetails {
    margin: 10px
}

.tariffDetails .tabMenue {
    margin-top: 10px
}

.tooltipTariffDetails {
    top: 50px;
    left: -10px;
    width: 350px
}

.tariffDetails .tableDefault li span:not(.ico) {
    color: #444!important;
}

.tariffDetails .tableDefault .ico,
.tariffDetails .tarifInfo .ico { 
	transform: translateY(-3px);
}

/* tabBox */

/* KIT-Fix */
.tabBox, .tabBox > div {
    height: auto
}

.tariffDetails .tabBox > div {
    padding: 10px 20px
}

.tariffDetails .tabBox .rowLight {
    margin: 10px -24px
}

.tariffDetails .tabBox .titleTabBox {
    font-weight: bold;
    color: #2A4D8F;
    margin-bottom: 10px;
    display: block
}

.layoutModal .linkCloseModal {
    background-position: right -604px;
    margin: 0.5em 1.5em 0;
    position: relative;
    width: 98%;
}
.layoutModal .linkCloseModal::after {
    content: "schließen";
    font-size: 1.25em;
    position: absolute;
    right: 2.5em;
    text-decoration: underline;
}

/* Hotline */

.tariffDetails .boxHotline {
    margin-top: 10px;
    font-size: 0.875em;
}

.tariffDetails .boxHotline span {
    color: #767676;
}

.tariffDetails .tarifInfo .logoProvider {
    max-width: 100%;
    max-height: 5em;
}

.tariffDetails .boxBottom {
    padding: 10px;
    border: 1px solid #d6d6d6;
    border-top: 0
}

.tariffDetails .buttonDefault {
    float: right
}

/* alle Tabellen unter TariffDetails */

.tariffDetails table {
    width: 100%
}

/* Telefongebühren */

.tableDefault {
    text-align: left
}

.tableDefault .tableHead th {
    padding: 2px 5px;
    border-bottom: 1px solid #000
}

.tableDefault td {
    padding: 10px 5px;
    border-top: 1px dotted #d6d6d6
}

.tableDefault tbody img, .tableDefault tbody .desc {
    display: inline-block;
    vertical-align: middle;
    margin: 5px 10px
}

.tableDefault th, .tableDefault td {
    line-height: 1.75em
}

/* @section 5.3 FAQ (Modal) */

.accordionFAQ {
    margin: 10px
}

/* @section 5.4 Reminder und (Modal) */

.boxReminder {
    background: url('../img/modal/modal_bg_reminder.jpg') no-repeat right bottom
}

h3.titleReminder {
    margin: 0;
    background-color: #ECF5FF;
    padding: 5px 10px 10px;
    font-weight: 400
}

.titleReminder strong {
    display: block;
}

.listFormReminder > li {
    background: #ecf5ff;
    background: linear-gradient(to right, #ecf5ff 36%, #fff 36%);
    background: -webkit-linear-gradient(left, #ecf5ff 36%, #fff 36%);
    border-top: 1px dotted #d6d6d6;
    padding: 8px 5px
}

.listFormReminder > li:first-child {
    border: 0
}

.listFormReminder .label {
    display: inline-block;
    font-weight: bold;
    text-align: right;
    vertical-align: top;
    margin-top: 2px;
    margin-right: 4%;
    width: 33%
}

.listFormReminder label input[type="checkbox"], .listFormDefault label input[type="radio"] {
    vertical-align: middle;
    margin-right: 5px
}

.listFormReminder .itemFifth select {
    width: 17%
}

.listFormReminder input[type="text"],
.listFormReminder .itemFirst select {
    width: 26%
}

.listFormReminder .selectContactable {
    width: 60%
}

.listFormReminder .labelConfirmation {
    display: block;
    float: left;
    width: 58%
}

.listFormReminder .labelConfirmation input {
    float: left
}

.listFormReminder .inputConfirmation {
    display: block;
    float: left;
    margin: 0 1% 0 0;
}

.listFormReminder .itemTerms p {
    display: inline-block;
    width: 60%;
    margin: 0 1% 0 0;
}

.listFormReminder .itemConfirmation .label {
    float: left
}

.formReminder .buttonDefault {
    float: right;
}

/* Listen */

.listFormReminder .itemFourth input {
    width: 52.5%
}

.formReminder .buttonDefault,
.formAvailability .buttonDefault,
.formSeperateAvailability .buttonDefault {
    margin-top: 10px
}

/* Reminder Infobereich */

.boxReminderInfo h3, .boxReminderInfo ul,
.boxAvailabilityInfo h3, .boxAvailabilityInfo ul {
    margin: 0 10px
}

.boxReminderInfo h3, .boxAvailabilityInfo h3 {
    margin-top: 10px
}

.telReminder, .telAvailability {
    margin: 5px 0 5px 12px;
    padding-left: 5px
}

/* @section 5.5 Verfügbarkeit (Modal) */

.boxAvailability {
    background: url('../img/modal/modal_bg_availability.jpg') no-repeat right bottom
}

.boxAvailability .formAvailability {
    min-height: 200px
}

.listFormAvailability .itemFirst,
.listFormAvailability .itemFourth{
    width: 20%
}

.listFormAvailability .itemSecond,
.listFormAvailability .itemThird{
    width: 60%
}

.listFormAvailability .itemFifth {
    width: 30%;
}
.itemFifth .disabledAreaCode {
    width: 30%;
}

.listFormAvailability .itemSixth {
    width: 50%
}

button#checkAvailability {
    float: right;
}

.itemSecond .label {
    width: 80%;
    float: right;
}

.itemFourth .label {
    width: 53%;
    float: right;
}

.wrap-image img.logoProvider {
    position: absolute;
    top: 20px;
    right: 0;
    left: 0;
    bottom: 0;
    margin: auto;
    max-width: 100%;
    max-height: 100% !important;
}

.listFormAvailability .itemThird input,
.listFormAvailability .itemThird select {
    width: 86.5%
}

.listFormAvailability .itemFourth input {
    width: 53%
}

.listFormAvailability .itemFirst input,
.listFormAvailability .itemFifth input {
    width: 67%
}

.listFormAvailability .itemSecond select {
    width: 53%
}

.listFormAvailability div.icoError {
    position: relative;
    top: -2px;
    margin-bottom: -2px;
    margin-left: -2.5px
}

.boxAvailabilityModalSplit {
    max-width: 650px;
}

.simplemodal-close {
	background-image: none;
	text-decoration: none;
}

.simplemodal-close::after {
    content: "\2716";
	display: block;
    font-size: 20px;
	margin-right: 5px;
    margin-top: 2px;
    text-align: right;
}

.simplemodal-overlay {
	opacity: 0.8!important;
}

.simplemodal-default .simplemodal-title {
	color: #444;
}

.closeModalContainer {
    box-sizing: border-box;
	height: fit-content;
	padding: 5px;
	text-align: right;
	width: 100%;
}

.closeModalContainer .simplemodal-close {
	width: auto;
	height: auto;
	margin: 0;
	position: static;
}

.listFormInsideModal {
	display: flex;
	flex-direction: row;
	gap: 12px;
}

.listFormInsideModal.listFormAvailability input[type="text"],
.listFormInsideModal.listFormAvailability select {
	border-radius: 5px;
	height: 35px;
	font-size: 13px;
	padding: 0 6px;
	width: 100%;
}

.listFormInsideModal.listFormAvailability select {
	padding: 0 4px;
	min-width: 35px;
	max-width: 88%;
}

.listFormInsideModal ::placeholder,
.listFormInsideModal ::-ms-input-placeholder {
	color: #767676;
	font-size: 13px;
}

.listFormInsideModal .buttonDefault {
	font-size: 16px;
}

.listFormInsideModal li .label {
	display: none;
}

.listFormInsideModal.listFormAvailability li {
	position: relative;
}

.listFormInsideModal.listFormAvailability .ico {
	position: absolute;
	margin: 3px 0 0 1px!important;
}

.listFormInsideModal.listFormAvailability .itemFirst {
	width: 20%;
}

.listFormInsideModal.listFormAvailability .itemSecond {
	width: 30%;
}

.listFormInsideModal.listFormAvailability .itemThird {
	width: 40%;
}

.listFormInsideModal.listFormAvailability .itemFourth {
	width: 10%;
}

.listFormInsideModal.listFormAvailability .itemFifth {
	display: none;
}

.availability .ui-menu .ui-menu-item .ui-corner-all {
	color: #666;
	font-size: 13px;
	font-family: arial;
	padding-top: 10px;
	padding-bottom:10px;
}

.availability .ui-menu {
	width: 100px;
}

.availability .ui-menu .ui-menu-item {
	border: none;
}

.availability .ui-menu .ui-menu-item .ui-corner-all {
	padding-top: 8px;
	padding-bottom: 8px;
}

.availability .ui-menu .ui-menu-item .ui-corner-all:hover {
	border-color: #da2020;
}

.boxAvailabilityModalSplit {
	padding-top: 10px;
	max-width: 100%;
}

.availabilityElements {
	display: flex;
	flex-direction: column;
	gap: 12px;
	justify-content: space-between;
}

.boxInsideModal .location {
	background: url('../img/location.png') no-repeat 0 0 / contain;
	flex: 0 0 130px;
	height: 140px;
}

.boxInsideModal .formAvailability {
	background: #FFF;
	width: 100%;
}

.availabilityElementsHint strong:first-child {
	color: #fa5e00;
}

.availabilityButtonContainer {
    display: flex;
    align-items: center;
    justify-content: space-between;
	gap: 12px;
}

.availabilityButtonContainer li,
.availabilityButtonContainer > button {
	flex: 1 0 auto;
}

.boxInsideModal.boxAvailabilityModalSplit.clearFix,
.boxInsideModal.boxAvailability.clearFix
 {
	align-items: center;
	display: flex;
    justify-content: center;
}

.boxInsideModalInfo.boxAvailabilityInfo .wrap-image {
	text-align: right;
}

.boxInsideModal .formSeperateAvailability {
	min-height: 150px;
}

.specialLanding .buttonDefault,
.specialLanding .slidingButton,
.specialLanding .headerWrapper,
.specialLanding .brandingFooter {
    background: #111111;
}

.wrapper.specialLandingBackground {
    width: 100vw;
    height: 100vh;
    max-width: unset;
    background: url(../../preisvergleich/img/landing/dsl_secret_landing_bg.png) center center / cover no-repeat;
    padding: 0;
    margin: 0;
}

.specialLanding {
    width: 100vw;
    height: 100vh;
    max-width: unset;
    background: url(../../preisvergleich/img/landing/dsl_secret_landing_bg.png) center center / cover no-repeat;
    padding: 0;
    margin: 0;
}

.wrapper.specialLandingBackground > div {
    display: none;
}

@media (max-width: 768px) {
    .availabilityElements,
	.boxInsideModal.boxAvailabilityModalSplit.clearFix,
	.boxInsideModal.boxAvailability.clearFix,
	.availabilityButtonContainer {
        flex-direction: column;
		height: auto;
    }

	.boxInsideModal .location {
		width: 80px;
		height: 80px;
		flex-basis: auto;
	}

	.listFormInsideModal {
		flex-direction: column;
	}

	.availabilityElements .listFormInsideModal.listFormAvailability li {
		width: 92%;
	}

	.availabilityElements .listFormInsideModal.listFormAvailability li input {
		width: 100%!important;
	}
}

/* @section 5.6 zweites Verfügbarkeitsformular für Tarifeinsprung */

.availabilityNoavailable .boxInsideModal {
    margin: 20px 20px 0
}

.availabilityNoavailable .boxNote {
    padding: 0 10px 15px
}

.availabilityNoavailable .formHint {
    padding: 15px 0 0
}

.availabilityNoavailable .buttonAlternativeSmall {
    margin: 10px 0;
    float: right
}

.formSeperateAvailability {
    background: #fff;
    min-height: 200px
}

.formSeperateAvailability .logoProvider {
    float: right;
    margin: 10px 20px 0
}

.formHint {
    padding: 15px 10px 0 20px
}

.availability .icoTick:before {
    color: #8faf11;
    content: '2';
    display: block;
    float: left;
    font: 3em/1em "icon pvg";
    margin-right: 0.25em
}

.availability .icoErrorNew:before {
    content: 'h';
    font: 4em/0.7em 'icon pvg';
    margin-right: 15px;
    display: block;
    float: left;
    color: #c00
}

.listFormAvailability .itemSecond .tooltip,
.listFormAvailability .itemFourth .tooltip {
    left: -700%;
    top: -130%
}

.listFormAvailability .itemThird .tooltip {
    left: -200%;
    top: -130%
}

/* max 399px */
@media screen and (max-width: 24.999em) {
    .boxAvailability .formAvailability,
    .boxAvailability .boxAvailabilityInfo {
        min-height: 0;
        width: 100%;
    }
}

/* @section 5.7 Verfügbarkeit */

.checkTariff {
    padding: 10px;
}

.checkTariff .icoTickSecond,
.checkTariff .content {
    float: left;
}

.checkTariff .content {
    padding-top: 1em;
}

.checkTariff .headline {
    color: #50930e;
    margin-bottom: 0.6em;
}

.checkTariff .provider {
    font-size: 1.4em;
    margin-bottom: 1em;
}

.checkTariff ul li {
    margin-bottom: 1em;
}

.checkTariff .adverse {
    color: #767676;
}

.checkTariff .icoTickSecond:before {
    content: "2";
    font: 7em/0.7em "icon pvg";
    color: #50930e;
}

.checkTariff .icoCross:before {
    content: "h";
    font: 2em "icon pvg";
    color: #767676;
    padding: 0 3px;
}

.checkTariff .checkBox:before {
    content: "2";
    font: 1.7em "icon pvg";
    padding: 2px;
    color: #fff;
    background-color: #50930e;
    background: -moz-linear-gradient(top, #7bb916, #50930e);
    background: -ms-linear-gradient(top, #7bb916, #50930e);
    background: -o-linear-gradient(top, #7bb916, #50930e);
    background: -webkit-gradient(linear, left top, left bottom, from(#7bb916), to(#50930e));
    background: -webkit-linear-gradient(top, #7bb916, #50930e);
    background: linear-gradient(top, #7bb916, #50930e);
    -webkit-border-radius: 0.375em;
    -moz-border-radius: 0.375em;
    border-radius: 0.375em;
}

.checkTariff .listIcon {
    position: relative;
    top: 5px;
    margin-right: 5px;
    width: 25px;
}

.checkTariff .slidingButton {
    text-align: right;
    margin-right: 30px;
}

.checkTariff .errorBox {
    border-bottom: 1px solid #999;
    padding-bottom: 10px;
    margin-bottom: 10px;
}

.checkTariff .errorBox,
.checkTariff .errorBox .icoCross:before {
    color: #cc0000;
}

.errorBox span:first-child {
    float: left;
    height: 30px;
}

.checkTariff .footer .unit:last-child {
    text-align: right;
}

.checkTariff a.detailLink {
    margin-left: 85px;
    color: #767676
}

/* @section 7. Tricks & Hints */

.noJs .sliderDesc, .noJs .wrapperFeature .buttonLight {
    display: none
}

.noJs .wrapperSpeedSlider {
    margin: 5px 10px;
    text-align: left
}

/* @section 8. Frontend-KIT-Fixes */

.ui-slider-horizontal .ui-slider-range {
    background: #2A4D8F;
    height: 4px;
}

.ui-slider-horizontal .ui-slider-handle.ui-state-active {
    top: -5px;
}

.contractFormdatastepconfirm .buttonDefaultMedium {
    font-size: 15px;
}

.buttonDefaultSmall, .buttonAlternativeSmall {
    padding: 0.5em 2.5em 0.5em 1.25em
}

.buttonDefault, .buttonAlternative, .buttonDefaultSmall, .buttonAlternativeSmall {
    display: inline-block
}

.buttonCallback > span {
    background-position: -10px -1474px
}

.buttonPlus > span,
.buttonMinus > span {
    padding-left: 2em;
    background: none;
}

.buttonPlus,
.buttonMinus {
    position: relative;
}

.buttonPlus:before,
.buttonMinus:before {
    position: absolute;
    top: 16px;
    margin: auto;
    width: 20px;
    height: 20px;
    font-size: 36px;
    color: #444;
}

.buttonPlus:before {
    content: '\001429';
}

.buttonMinus:before {
    content: '\001428';
}

.wrapperSpeedSliderContainer .buttonPlus:before,
.wrapperSpeedSliderContainer .buttonMinus:before {
    color: #fff;
}

td.itemFifth {
    padding-top: 20px;
}

.stepBoxAlternative .stepActive a {
    background: #128ACE;
    position: relative;
}

.stepBoxAlternative .stepActive a:after {
    content: "";
    display: block;
    width: 22px;
    height: 22px;
    position: absolute;
    top: 5px;
    right: -12px;
    transform: rotate(45deg);
    background: linear-gradient(225deg, #128ACE 100%, transparent 50%);
}

.buttonClock > span {
    background-position: -10px -1505px
}

.hidden {
    display: none
}

.warning + .icoWarning {
    margin-top: -2px
}

.listMenuSub .linkMenuActive {
    font-weight: bold
}

/* @section 8. Flexbanner */

.flexWrap {
    position: relative
}

.flexTop {
    margin: 0 auto 20px
}

.flexSky {
    position: absolute;
    top: 190px;
    right: -185px
}

.indexLanding4 .flexSky {
    position: absolute;
    top: 645px;
    right: -220px
}

/* Kaskade wurde über <div> künstlich erhöht */
div.flexWall1.flexWrap, div.flexWall2.flexWrap {
    margin-top: 90px
}

.flexWall1.flexWrap .flexTop, .flexWall2.flexWrap .flexTop {
    position: absolute;
    top: -90px
}

/* Ausrichtung der Wallpaper 1 */
.flexWall1.flexWrap .flexTop {
    right: -185px
}

.flexWall1.flexWrap .flexSky {
    top: 0
}

/* Ausrichtung der Wallpaper 2 */
.flexWall2.flexWrap .flexTop {
    right: -25px
}

.flexWall2.flexWrap .flexSky {
    top: -90px
}

.flexMR {
    margin-top: 2em;
    text-align: center;
}

.wrap-image {
    display: block;
    width: 170px;
    height: 140px;
    position: relative;
}

.wrap-image img {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    margin: auto;
    max-width: 100%;
    max-height: 100% !important;
}

@media screen and (max-width: 46em) {
    .layerbox {
        width: 47%
    }

    .layerBackground {
        padding: 10px 0 0
    }

    .layerBackground .headline {
        font-size: 0.925em;
        margin-left: 1em
    }

    .layerbox .boxHead {
        font-size: 0.875em
    }

    .layerboxAlternate .buttonAlternative {
        width: 10em
    }

    .firstBox,
    .layerBackground .arrow {
        display: none
    }
}


.itemSocial {
    background: rgba(0, 0, 0, 0) url("../img/pvg_sprite_badgets.png") repeat scroll 0 0;
    display: inline-block;
    height: 24px;
    text-indent: -999em;
    vertical-align: middle;
    width: 24px;
}
.itemSocialFb {
    background-position: -470px -340px;
}
.itemSocialGp {
    background-position: -500px -340px;
}
.itemSocialTw {
    background-position: -530px -340px;
}

/* show full link on desktop */
.tableCompare .itemFifth .linkDetails.linkProduktinformationsblatt {
    display: inline;
}
/* hide small link on desktop */
.tableCompare .itemFifth .linkDetails.linkProduktinformations {
    display: none;
}

.tableCompare .itemFifth .linkDetails.linkProduktinformationsblatt span, 
.tableCompare .itemFifth .linkDetails.linkProduktinformations span {
    font-size: 17px;
    font-weight: bold;
}

.btn-scroll-top {
    display: none;
    position: fixed;
    width: 45px;
    height: 45px;
    text-align: center;
    line-height: 45px;
    bottom: 11px;
    right: 11px;
    background: rgba(83, 128, 166, 0.5) url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20xmlns%3Axlink%3D%22http%3A//www.w3.org/1999/xlink%22%20version%3D%221.1%22%20viewBox%3D%220%200%20129%20129%22%20enable-background%3D%22new%200%200%20129%20129%22%20width%3D%2225px%22%20height%3D%2225px%22%3E%0A%20%20%20%20%3Cpath%20d%3D%22m121.4%2C61.6l-54-54c-0.7-0.7-1.8-1.2-2.9-1.2s-2.2%2C0.5-2.9%2C1.2l-54%2C54c-1.6%2C1.6-1.6%2C4.2%200%2C5.8%200.8%2C0.8%201.8%2C1.2%202.9%2C1.2s2.1-0.4%202.9-1.2l47-47v98.1c0%2C2.3%201.8%2C4.1%204.1%2C4.1s4.1-1.8%204.1-4.1v-98.1l47%2C47c1.6%2C1.6%204.2%2C1.6%205.8%2C0s1.5-4.2%201.42109e-14-5.8z%22%20fill%3D%22%23FFFFFF%22/%3E%0A%3C/svg%3E) no-repeat;
    background-position: center;
    z-index: 1005;
    font-size: 2em;
    font-weight: bold;
    border-radius: 2px;
}

.areaNewConnection {
    position: relative;
}

.oldPhoneContainer{
    display: flex;
}

.oldPhoneContainer .label,
.oldPhoneContainer .oldPhoneProvider {
    flex: 1 auto;
    width: 50%;
}

.radioItemContainer {
    display: inline-block;
}

.oldPhoneProvider {
    cursor: default;
    margin-left: 8px;
}

.oldPhoneProvider .radioItemContainer label {
    cursor: pointer;
    display: inline-block;
    font-size: 13px;
    margin: 0 4px 4px 0;
    min-width: 60px;
    outline: none;
    padding: 7px 10px;
    text-align: center;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.oldPhoneProvider .radioItemContainer:last-child label {
    color: #2A4D8F;
    text-decoration: underline;
}

.oldPhoneProvider .radioItemContainer:last-child label::after{
    content: "↓";
    display: inline-block;
    margin-left: 4px;
}

.oldPhoneProvider .radioItemContainer:not(:last-child) label {
    background-color: #ececec;
}

.oldPhoneProvider .radioItemContainer:not(:last-child) label:hover {
    background-color: #f6f6f6;
}

.oldPhoneProvider .radioItemContainer:not(:last-child) :checked + label {
    background-color: #005ea8;
    color: #ffffff;
}

.oldPhoneProvider [type="radio"] {
    position: absolute;
    opacity: 0;
}

.oldPhoneProvider #customProvider {
    display: block;
    width: 90%;
}

.oldPhoneProvider #customProvider.hidden {
    display: none;
}


@media (max-width: 959px) {
    .oldPhoneContainer .label {
        padding-bottom: 10px;
    }

    .oldPhoneContainer {
        display: block;
    }

    .oldPhoneContainer .oldPhoneProvider {
        margin-left: 0;
        width: 100%;
    }
	
	.ribbonTipp.tariffLabel {
		padding: 0 5px;
	}
	
	.ribbonTipp.tariffLabel > span {
		font-size: 14px;
	}

	.mobileUpdatePriceButtonContainer {
		display: block;
		width: 100%;
	}
}

.tariffStyleBrighter, .tariffStyleHovered:hover {
    filter: brightness(90%);
}

.sparkasse .slidingButton {
	background-color: #ee0000;
}

.sparkasse .slidingButton:hover {
	background-color: #d40000;
}

.sparkasse .slidingButton,
.sparkasse button,
.sparkasse .buttonLight,
.sparkasse .buttonPlus,
.sparkasse .buttonBack,
.sparkasse .buttonForward,
.sparkasse .buttonCompare,
.sparkasse .buttonMinus {
    border-radius: 100px;
}
.sparkasse .sparkasseHeaderContainer {
    background-color: #ee0000;
    margin: 0px auto 24px auto;
    width: 100%;
}
.sparkasse .sparkasseHeader {
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: 1200px;
    height: 80px;
    margin: 0 auto;
}
.sparkasse .sparkasseLogo {
    height: 64px;
    width: auto;
}
.sparkasse .hotline {
    display: flex;
    gap: 12px;
    color: #fff;
    font-size: 16px;
    font-weight: bold;
}
.sparkasse .hotline .hotlineLabel {
    display: none;
}
.sparkasse .hotline svg {
    fill: #fff;
}
.sparkasse address {
    font-style: normal;
}
@media screen and (max-width: 768px) {
    .sparkasse .sparkasseHeaderContainer {
        margin-bottom: 12px;
    }

    .sparkasse .sparkasseHeader {
        height: 54px;
        padding: 0 16px;
    }
    .sparkasse .sparkasseLogo {
        height: 32px;
    }

    .sparkasse .hotline {
        flex-direction: column;
    }

    .sparkasse .hotline .hotlineNumber {
        display: none;
    }

    .sparkasse .hotline span.hotlineLabel {
        bottom: -18px;
        display: block;
        font-size: 9px;
        font-weight: 500;
        left: 50%;
        position: absolute;
        text-transform: uppercase;
        transform: translateX(-50%);
    }
}

.tariffLabelContainer {

}

.tariffLabel .tooltip {
    width: 220px;
}

.priceColumnContent {
	display: flex;
	flex-direction: column;
	height: 100%;
	justify-content: center;
	position: relative;
}

.priceColumnContent .priceInfo {
	white-space: nowrap;
}

.bottomBar .titleFifthLevel {
	color: #444;
	font-weight: bold;
	margin: 0;
}

.bottomBar .mobileUpdatePriceButtonContainer .titleFifthLevel {
	white-space: nowrap;
}

.bottomBar .updatePriceButton::after {
	content: "";
}

.bottomBar .updatePriceButton {
	padding-right: 0.675em;
	margin-right: 10px;
}

.bottomBarRight .buttonForwardContainer {
    width: 120px;
    text-align: right;
}

.bottomBar .unitSpace:last-child {
	text-align: right;
}

.bottomBar .updatePriceButtonContainer {
    display: flex;
    flex-direction: row;
    align-items: center;
	justify-content: flex-end;
}

.bottomBar .mobileUpdatePriceButtonContainer {
	display: none;
    flex-direction: row;
	gap: 16px;
    align-items: center;
	justify-content: flex-end;
	margin-bottom: 16px;
	width: 100%;
}

.contractFormdatastepfinal .bottomBar .topBarButtonContainer {
	margin-right: 10px;
	width: auto;
}

.buttonAlternativeSmall .allTariffs {
    display: inline-block;
    padding: 0.5em 2.5em 0.5em 1.25em;
}

@media screen and (min-width: 39.999em) {
	.tableCompare .tableBody > tr:not(.tableSpacer) > td,
	.tableCompare thead > tr.tableHead > th.itemFirst {
		border-top: 1px solid #ccc;
		border-bottom: 1px solid #ccc;
	}

	.tableCompare .tableBody > tr > td:first-child,
	.tableCompare .tableBody > tr > td.itemSecond,
	.tableCompare thead > tr.tableHead > th:first-child,
	.tableCompare thead > tr.tableHead > th.itemSecond {
		border-left: 1px solid #ccc;
	}

	.tableCompare .tableBody > tr > td:last-child,
	.tableCompare thead > tr > th:last-child {
		border-right: 1px solid #ccc;
	}

	.tableCompare.tableCompareLanding + .paginationDefault {
		border-top: 1px solid #ccc;
	}

    .tableCompare tbody tr:not(.disabledTariff) .itemSecond {
        height: 140px;
    }
}

@media screen and (max-width: 639px) {
	.tableCompare .mobileTooltipsRow {
		display: table-row;
	}
}

@media screen and (min-width: 960px) {
	.tableCompare tfoot .tableCompareRow td {
		border: 1px solid #ccc;
	}
}

@media (max-width: 959px) {
	.bottomBar .updatePriceButtonContainer {
		display: none;
	}

	.bottomBar .updatePriceButton {
		margin-right: 0;
	}

	.bottomBar .mobileUpdatePriceButtonContainer {
		display: flex;
	}

	.bottomBar .mobileUpdatePriceButtonContainer .titleFifthLevel {
		text-align: right;
		white-space: normal;
	}

	.contractFormdatastep1 .bottomBar .unitSpace:last-child {
		width: auto;
	}

	.contractFormdatastep1 .bottomBar .mobileUpdatePriceButtonContainer .unitSpace:last-child {
		width: auto;
	}

	.contractFormdatastep1 .bottomBar .buttonForward {
		margin-right: 15px;
	}

	.contractFormdatastepfinal .bottomBar .topBarButtonContainer {
		margin-right: 10px;
		width: auto;
	}
}

.boxAvailabilityModalSplit {
    max-width: 650px;
}

.crossedOutPriceBox {
    margin-top: 10px;
    padding-top: 8px;
    border-top: 1px dashed #999;
}

.crossedOutPrice {
    text-decoration: line-through;
    padding-right: 10px;
}

.percentDiscountValue {
    color: #2A4D8F;
    font-size: 15px;
    font-weight: bold;
}

.icoInfoSmall {
    color: #767676;
    background: none;
}

.icoInfoSmall::before {
    content: "ⓘ";
    font-size: 13px;
    font-weight: normal;
    display: flex;
    justify-content: center;
    align-items: center;
    vertical-align: top;
}

.headerInfo {
    display: inline-flex;
}

.amountSeparated td {
    padding-top: 10px;
    padding-bottom: 10px;
}

:focus-visible {
    outline: 2px auto Highlight;
    outline-style: solid;
    outline-offset: 2px;
}
