/* Button Auswahl */
#dsV3SelectButtons{
   margin: 0 -5px;
}
#dsV3SelectButtons > div{
   padding: 0 5px;
   width: 50%;
   float: left;
}
.dsV3SelectButton{
   display: block;
   width: 100%;
   box-shadow: none;
   background: transparent;
   border: none;
   padding: 5px 15px;
   margin: 0 0 15px;
   border: 2px solid #fff;	
}

.dsV3SelectButton:focus,
.dsV3SelectButton.selected{
    border-color: #333;
    font-weight: bold;
}
/* Kategorien/Services */
#dsV3Kategorien, #dsV3Services{
   clear: both;
   max-height: 300px;
   overflow: auto;
   padding: 10px 10px 0 10px;
   position: relative;
}
#dsV3Services{padding-bottom: 5px;}
#dsV3Kategorien .kategorieWrapper{
   box-shadow: 0 0 5px rgba(0,0,0,0.5);
   border-radius: 7px;
   overflow: hidden;
   margin: 0 0 15px;
   padding: 8px;
}
#dsV3Kategorien .kategorieWrapper > div,
#dsV3Services > div{
   position: relative;
}
#dsV3Kategorien .kategorieWrapper > span{
   font-weight: 700;
   display: block;
   clear: both;
}
#dsV3Kategorien button,
#dsV3Services button{
   display: block;
   box-shadow: none;
   background: transparent;
   border: none;
   text-align: left;
   width: 100%;
   padding: 0 70px 0px 15px;
}

#dsV3Dialog #dsV3Kategorien button.btn_all_cat  {
	padding-left: 7px !important;
}

#dsV3Services button{
   padding-left: 0;
   position: relative;
}

#dsV3Kategorien button.glyphicon,
#dsV3Services button.glyphicon{
	width: auto;
	padding-right: 0;
	display: inline-block;
	top: -5px;
	height: 27px;
}
#dsV3Services button.glyphicon.open{
	top: -7px;
}

#dsV3Dialog .glyphicon,
#dsV3Dialog .dsUnchecked,
#dsV3Dialog .dsChecked{
   position: absolute;
   right: 40px;
   top: 0;
   bottom: 0;
   cursor: pointer;
}

#dsV3Dialog .dsUnchecked,
#dsV3Dialog .dsChecked{
   right: 15px;
}
#dsV3Dialog .glyphicon-chevron-down:before{
   transform: rotate(0deg);
}
#dsV3Dialog .glyphicon-chevron-down.open:before{
   transform: rotate(180deg);
   display: block;
}

#dsV3Dialog button[disabled]{
   opacity: 0.7;
}

#dsV3Dialog button[disabled] span{
   pointer-events: none;
}

#dsV3Dialog .glyphicon-chevron-down + div,
#dsV3Dialog p{
   font-size: 14px;
}

/** Erweiterter dsV3Dialog **/
#dsV3Overlay {
   position: fixed;
   top: 0;
   bottom: 0;
   left: 0;
   right: 0;
   z-index: 150000;
   background-color: rgba(51,51,51,0.8);
   padding: 20px;
   overflow: auto;
}

#dsV3Dialog {
   position: relative;
   margin: 75px auto;
   z-index: 151000;
   background-color: #fff;
   max-width: 720px;
   padding: 20px;
}

@media (max-width: 599px){	
	#dsV3Dialog{
		max-width: 100%;
		margin: auto;
	}
	#dsV3Overlay{
		padding: 0;
		display: flex;
		align-items: center;
		justify-content: center;
	}
}

#dsV3Dialog a {
   font-weight: 600;
   color: #4d4d4d;
}

#dsV3Dialog a:focus,
#dsV3Dialog a:hover,
#dsV3Dialog a:active {
   color: #4d4d4d;
   text-decoration: underline;
}

#dsV3Dialog .datenschutzLinks a {
   margin-left: 8px;
   white-space: nowrap;
}
#dsV3Dialog .datenschutzLinks a:focus,
#dsV3Dialog .datenschutzLinks a:active{
   outline: none;
	text-decoration:underline;
}

#dsV3Dialog .datenschutzLinks a:focus{
	text-decoration-thickness: 2px;
}

#dsV3Dialog .datenschutzTitle {
   font-size: 26px;
   font-weight: 600;
   margin-bottom: 5px;
}

@media (min-width: 600px) {   
   #dsV3Dialog .datenschutzTitle {
      padding-right: 220px;
   }
}

#dsV3Dialog .datenschutzLangs {
   pointer-events: none;
   height: 35px;
   position: relative;
   z-index: 5;
}

@media (min-width: 600px) {   
   #dsV3Dialog .datenschutzLangs {
      position: absolute;
      top: 20px;
      right: 20px;
      width: 200px;
   }
}

#dsV3Dialog .datenschutzLangs > button {
   background-color: #fff;
   border-radius: 3px;
   border: 1px solid #777;
   box-shadow: 0 1px 1px rgba(51,51,51,0.2);
   width: 100%;
   display: block;
   text-align: left;
   padding: 4px 25px 4px 5px;
   margin: 0;
   position: relative;
   pointer-events: initial;
}

#dsV3Dialog .datenschutzLangs > button .dsArrowDown {
   position: absolute;
    right: 5px;
    top: 50%;
    margin-top: -11.5px;
}

#dsV3Dialog .datenschutzLangs ul {
   opacity: 0;
   pointer-events: none;
   transition: opacity ease 100ms;
   border: 1px solid #777;
   border-radius: 5px;
   background-color: #fff;
}

#dsV3Dialog .datenschutzLangs.dsActive ul {
   opacity: 1;
   pointer-events: initial;
}

#dsV3Dialog .datenschutzLangs ul button {
   width: 100%;
   border: none;
   padding: 4px 5px;
   background-color: #fff;
   border-radius: 5px;
   text-align: left;
   outline: none;
}

#dsV3Dialog .datenschutzLangs ul button:focus,
#dsV3Dialog .datenschutzLangs ul button:hover,
#dsV3Dialog .datenschutzLangs ul button:active {
   background-color: #eee;
}

#dsV3Dialog .datenschutzDetails {
   display: none;
   border-top: 1px solid #ccc;
   padding-top: 10px;
}

#dsV3Dialog .datenschutzDetails.datenschutzDetailsActive {
   display: block;
}

#dsV3Dialog .datenschutzLangs ul {
   margin: 0;
   padding: 0;
   list-style-type: none;
}

@media (min-width: 600px) {   
   #dsV3Dialog .datenschutzCategorySelection ul {
      display: flex;
   }
}

#dsV3Dialog .datenschutzCategorySelection button {
   background-color: transparent;
   border: none;
   text-align: left;
   margin: 0 30px 5px 0;
   padding: 5px 5px 5px 0;
   outline: none;
   white-space: nowrap;
}

#dsV3Dialog .datenschutzCategorySelection button span {
   margin-right: 5px;
}

#dsV3Dialog .datenschutzCategorySelection button:focus,
#dsV3Dialog .datenschutzCategorySelection button:hover,
#dsV3Dialog .datenschutzCategorySelection button:active {
   text-decoration: underline;
}

#dsV3Dialog .datenschutzCategoryRequired {
   opacity: 0.5;
}

#dsV3Dialog .datenschutzCategoryTitle {
   font-weight: 600;
   font-size: 16px;
}

#dsV3Dialog .datenschutzDetailsToggleBtn {
   background-color: transparent;
   font-weight: 600;
   font-size: 13px;
   border: none;
   margin: 5px 0;
   padding: 0;
   outline: none;
}

#dsV3Dialog .datenschutzDetailsToggleBtn:focus,
#dsV3Dialog .datenschutzDetailsToggleBtn:hover,
#dsV3Dialog .datenschutzDetailsToggleBtn:active {
   text-decoration: underline;
}

#dsV3Dialog .dsFlagIcon {
   width: 12px;
   height: 9px;
   display: inline-block;
}

#dsV3Dialog .dsArrowUp {
   width: 15px;
   height: 15px;
   display: inline-block;
   position: relative;
}

#dsV3Dialog .dsArrowUp:before {
   position: absolute;
   content: "";
   width: 8px;
    height: 8px;
    bottom: -2px;
    left: 2px;
   border-bottom: 2px solid #333;
   border-right: 2px solid #333;
   transform: rotate(225deg);
}

#dsV3Dialog .dsArrowDown {
   width: 15px;
   height: 15px;
   display: inline-block;
   position: relative;
}

#dsV3Dialog .dsArrowDown:before {
   position: absolute;
   content: "";
   width: 8px;
    height: 8px;
    bottom: 2px;
    left: 2px;
   border-bottom: 2px solid #333;
   border-right: 2px solid #333;
   transform: rotate(45deg);
}

#dsV3Dialog .dsChecked {
   width: 15px;
   height: 15px;
   display: inline-block;
   border: 2px solid #333;
   background-color: #333;
   border-radius: 3px;
}

#dsV3Dialog .dsChecked:before {
   position: absolute;
   content: "";
   width: 6px;
    height: 10px;
    bottom: 2px;
    left: 2px;
   border-bottom: 2px solid #fff;
   border-right: 2px solid #fff;
   transform: rotate(45deg);
}

#dsV3Dialog .dsUnchecked {
   width: 15px;
   height: 15px;
   display: inline-block;
   border: 2px solid #333; 
   background-color: #fff;
   border-radius: 3px;
}

#dsV3Dialog .dsArrowRight {
   width: 15px;
   height: 15px;
   display: inline-block;
   position: relative;
   margin-right: 1px;
}

#dsV3Dialog .dsArrowRight:before {
   position: absolute;
    content: "";
    width: 6px;
    height: 3px;
    background-color: #4d4d4d;
    top: 8px;
    left: 2px;
}

#dsV3Dialog .dsArrowRight:after {
   position: absolute;
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 5.5px 0 5.5px 5.5px;
    left: 8px;
    top: 4px;
    border-color: transparent transparent transparent #4d4d4d;
}


@media (min-width: 600px) {   
   #dsV3Dialog .datenschutzFooter {
      display: flex;
      justify-content: flex-end;
   }
}

#dsV3Dialog .datenschutzFooter button {
   color: #333;
   border: 2px solid #333;
   background-color: #fff;
   padding: 9px 15px;
   margin-left: 15px;
   border-radius: 2px;
   font-weight: 600;
   width: 100%;
   margin: 15px 0 0;
}

#dsV3Dialog .datenschutzFooter button:focus{
	background: #333;
	color: #fff;
	outline: none;
}

@media (min-width: 600px) { 
   #dsV3Dialog .datenschutzFooter button {
      width: auto;
      margin: 0 0 0 15px;
   }
}

#dsV3Dialog .datenschutzFooter button.datenschutzFooterSelectAll {
   background-color: #333;
   color: #fff;
}

#dsV3Dialog .datenschutzFooter button.datenschutzFooterSelectAll:focus{
	color: #333;
	background-color: #fff;
	border: 2px solid #333;
	outline: none;
}

.dsV3DialogOpen {
   overflow: hidden !important;
}
