#elm-container, #elm-container * {font-family: calibri, sans-serif; font-weight: normal; font-size: inherit; font-style: normal; letter-spacing: normal; line-height: normal; text-transform: none; margin: 0; padding: 0; color: inherit; width: auto; height: auto; text-shadow: none; box-shadow: none; text-align: left; float: none; clear: none; min-height: 0; max-height: none; min-width: 0; max-width: none; opacity: 1; white-space: normal; z-index: auto; border-color: inherit;}

#elm-container {background: white; max-width: 1280px; width: 100%; margin: 0 auto; color: #4d4d4d; font-size: inherit;}

#elm-container .swwHidden { visibility: hidden; }

#elm-container div {box-sizing: border-box;}
#elm-container h1, #elm-container h2, #elm-container h3, #elm-container h4 {margin: 0.4em 0; font-weight: bold; border: none;}
#elm-container h1 {font-size: 1.5em;}
#elm-container h2 {font-size: 1.8em; color: #333;}
#elm-container .formGroup.sww_contact h2 {font-size: 1.4em}
#elm-container h3 {font-size: 1.2em;}
#elm-container h4 {font-size: 1.2em;}
#elm-container a {cursor: pointer; color: #0074D9;display: inline;}
#elm-container p {margin: 1em 0;}
#elm-container strong {font-weight: bold;}
#elm-container ul {list-style-type: disc; padding-left: 2.5em; margin: 1em 0;}

#elm-container img[src*='info-sw.jpg'] {height: 1.4em; margin-left: 0.3em; cursor: pointer;}

#elm-container table {border-collapse: collapse; border-color: rgba(0,0,0,0.1); margin-top: 1.3em; font-size: 1em;}
#elm-container td {padding: 0.5em; border-color: rgba(0,0,0,0.1);}

#elm-container select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: 1px solid #ddd;
  border-top-width: 2px;
  border-radius: 0.25em;
  font-size: 1em;
  width: 100%;
  /*background-image: url('/assets/down.png');*/
  background-image: url('https://www.sprachkurse-weltweit.de/layout/arrow-down.png');
  background-repeat: no-repeat; background-position: right 0.44em top 0.44em;
  padding: 0.25em;
  color: #303030;
  cursor: pointer;
  padding-right: 1.5em;
}

#elm-container select::-ms-expand {display: none;}

#elm-container .item select {width: auto; float: right;}

#elm-container .top {padding: 2.5em 2.5em 0 2.5em;}
#elm-container .mid {padding: 2.5em; clear: both;}

/* contact info */
#elm-container .contact-info {display: block; padding: 1em; background: rgba(0,116,217,0.1); width: 500px; float: right; margin-bottom: 1em;}
#elm-container .contact-avatar {float: right; height: 5em; margin-left: 0.5em;}
#elm-container .contact-info p {display: inline-block;}
#elm-container .contact-info h4 {display: inline-block; /*margin: 0 0.3em;*/}
#elm-container .contact-info .contact-tel {color: #0074D9; font-weight: bold; /*font-size: 1.4em;*/ white-space: nowrap;}

#elm-container .sale {clear: both;}
#elm-container .sale, #elm-container .menu, #elm-container .infos, #elm-container .item.course, #elm-container .item.acc, #elm-container .item.transfer
	{padding: 0.7em; border: 1px solid rgba(0,0,0,0.1); box-shadow: 1px 1px 5px rgba(0,0,0,0.1);}
#elm-container .menu {padding-bottom: 2em;}
#elm-container .infos {margin-top: 2.5em;}
#elm-container .left {width: 17em; float: left;}
#elm-container .right {padding: 0.7em; margin-left: 18em;}

/* specific */

#elm-container .sale h1 {background: white; color: #FF4136; display: inline-block; padding: 0.4em; margin:-2em 0 0.3em; border-radius: 0.4em; border: 2px solid #FF4136;
		  transform: rotate(-2deg); box-shadow: 2px 2px 5px rgba(0,0,0,0.2); text-transform: uppercase;}

/* left side */

#elm-container .menu h3.anchorHeader { cursor: pointer; color: #0074D9; }
#elm-container .menu h3.anchorHeader:hover { text-decoration: underline; }

#elm-container .select.accomodation.hasError select {color: #ff4314; font-weight: bold;}
#elm-container .select.accomodation.hasError .errorMessage {
padding: 0.5em; margin-top: 0.7em; border: 2px solid #ff4314; color: #ff4314; background: #fff6f6;}

#elm-container .menu h3 {margin-bottom: 0.1em;}
#elm-container #stickymenu.sticky {position: fixed; /* top: -7em; */  z-index: 1; width: 17em;}

#elm-container #stickymenu.sticky .infos {margin-top: 0;}

#elm-container .week {color:#333; text-decoration: none; display: inline-block; padding: 2px; border: 1px solid transparent;}
#elm-container .week.w_active {color: #4d4d4d; border: 1px solid rgba(0,0,0,0.3); border-radius: 2px; background: rgba(255,255,255,0.7); box-shadow: 1px 1px 2px rgba(0,0,0,0.5);}

#elm-container #c_table {width: 100%;}
#elm-container #c_table td {padding: 0;}
#elm-container #c_table td:first-of-type {padding: 0 2em 0 0;}
#elm-container .c, #elm-container .c_total {text-align: right;}
#elm-container .c:after {content: '\00a0';}
#elm-container .total_price {font-size: 1.4em; font-weight: bold; border-top: 1px dotted rgba(0,0,0,0.5); color: #222;}
#elm-container .total_price .price {margin:0; font-size: 1em; white-space: nowrap;}

#elm-container .button.info.hidden {display: block; text-align: center; margin-top: 1em; font-weight: bold;}
#elm-container .button.book.submit {float: none; margin-top: 1em;}

#elm-container .button.submit.disabled {opacity: 0.5;}
#elm-container .button.submit.disabled:hover {pointer-events: none;}

#elm-container .h4.course {color: #222; border-top: 1px dotted rgba(0,0,0,0.5); padding-top: 0.4em; margin-top: 0.8em;}

#elm-container .infoLink {text-decoration: underline; font-size: 1.1em; display: inline-block; margin-bottom: 0.8em;}

#elm-container .select.course {
    border-top: 1px dotted rgba(0,0,0,0.5);
}

#elm-container .select.course h4.course-menu-headline {color: white; padding-left: 0.1em; margin-bottom: 0.2em;}
#elm-container .select.course h3.inline-headline {display: inline-block; cursor: pointer;}
#elm-container .select.course h3.inline-headline:hover {text-decoration: underline;}
#elm-container .select.course h4.course-menu-headline:hover {background: #2ECC40;}

#elm-container .select.niveau {
    border-bottom: 1px dotted rgba(0,0,0,0.5);
    padding-bottom: 15px;
}

/* advanced filter selectors */

#elm-container .filter-advanced-button svg {margin-right: 0.5em; font-size: 1.2em; height: 1em; width: 1em; color: #0074D9;
vertical-align: middle; position: relative;}
#elm-container .filter-advanced-button svg:hover {background: inherit;}
#elm-container .filter-advanced-button span {vertical-align: middle;}

#elm-container .filter-advanced-button:hover:after {content: ""; position: absolute; padding: 0.25em; background: rgba(0,116,217,0.7);
color: white; border: 1px solid rgba(0,116,217,1); font-size: 0.9em; border-radius: 0.25em; margin-left: 1em; margin-top: -1em;}

#elm-container .filter-advanced-button.advanced-date-button:hover:after {content: "Kursbeginn";}
#elm-container .filter-advanced-button.advanced-weeks-button:hover:after {content: "Kursdauer";}
#elm-container .filter-advanced-button.advanced-niveau-button:hover:after {content: "Sprachlevel";}

#elm-container .filter-advanced-selectors {margin-bottom: 1em; position: relative;}
#elm-container .filter-advanced-selectors > div {height: 0;}
#elm-container .filter-advanced-selectors > div.filter-advanced-button {background: white; padding :0.3em; height: auto; margin: 0.2em 0; font-size: 1.2em; border-radius: 0.25em; border: 1px solid #ddd; border-top-width: 2px; cursor: pointer;}

#elm-container .filter-advanced-selectors .advanced-hidden-container {position: absolute; background: #f2f2f2; max-width: 25em; 
height: auto; margin: 0.3em; padding: 0.6em; box-shadow: 5px 5px 15px rgba(0,0,0,0.7); z-index: 2000;}
#elm-container .filter-advanced-selectors .advanced-hidden-container > * {display: inline-block;}
#elm-container .filter-advanced-selectors .advanced-hidden-container input[type='number'] {
width: 50%; margin: 0.5em 1em 0.5em 0.5em; padding: 0.4em; border: 1px solid #333; border-radius: 0.2em; box-sizing: border-box; vertical-align: middle;}

#elm-container .filter-advanced-selectors .advanced-hidden-container.advanced-weeks {top: 30%;}
#elm-container .filter-advanced-selectors .advanced-hidden-container.advanced-niveau {top: 0;}
#elm-container .filter-advanced-selectors .advanced-hidden-container.advanced-weeks p {margin: 0; padding: 0.4em;}
#elm-container .filter-advanced-selectors .advanced-hidden-container .advanced-ok-button {
border: 1px solid #333; border-radius: 0.2em; padding: 0.4em; cursor: pointer; text-align: center; width: 30%; box-sizing: border-box; vertical-align: middle;}
#elm-container .filter-advanced-selectors .advanced-hidden-container.advanced-niveau .advanced-ok-button {width: 100%;}

#elm-container .filter-advanced-selectors .advanced-hidden-container .advanced-ok-button:hover {
border-color: #2ECC40; background: #2ECC40; color: white;}

#elm-container .filter-advanced-selectors .advanced-hidden-container.advanced-niveau > * {
display: block;
}
#elm-container .filter-advanced-selectors .advanced-hidden-container.advanced-niveau > span:hover {
cursor: pointer; text-decoration: underline;}

#elm-container .filter-advanced-selectors .advanced-hidden-container.advanced-niveau > span > input {margin-right: 0.3em;}

/* right side */

#elm-container .details {margin-top: -1.3em;}
#elm-container .details h2 {display: inline-block; margin-top: 1.4em; text-transform: uppercase;}
#elm-container .details h2:first-of-type {margin-top: 0;}
#elm-container .details img[src*='info-sw.jpg'] {margin-right: 2em;}
#elm-container .infos h2 {display: inline-block; margin: 0; color: #4d4d4d;}

#elm-container .button.icon {
    color: #0074D9;
}

#elm-container .button.icon:hover {
    color: #5074f9;
}

#elm-container .button.info, #elm-container .button.course, #elm-container .button.acc, #elm-container .button.trans, #elm-container .button.submit, #elm-container button.submit {display: inline-block; padding: 0.25em; border-radius: 0.2em; border-width: 0 0.15em 0.15em 0;
border-style: solid; text-decoration: none;}
#elm-container .button.info, #elm-container .button.det {color: white; transition: 0.3s all ease;}
#elm-container .button.book {color: white; float: right; transition: 0.3s all ease; text-transform:capitalize; font-weight: bold;}

#elm-container .button.det.info {display: block; text-transform: uppercase; margin-top: 2em; text-align: center; font-weight: bold;}

#elm-container .button.inquire {margin-left: 1em;}

#elm-container .block {padding: 0.15em; margin: 0.15em; border: 1px solid rgba(0,0,0,0.1); display: inline-block;}

#elm-container .button.showMore {
    width: 100%;
    padding: 0.8em 0.4em;
    font-size: 1.2em;
    text-align: center;
    cursor: pointer;
    color: #111;
    border-width: 0 0.15em 0.15em 0;
    border-style: solid;
    border-color: rgba(0,0,0,0.1);
    border-radius: 0.2em;
}

#elm-container .item.course {margin-bottom: 1em;}
#elm-container .item.acc {margin-bottom: 1.3em;}
#elm-container .item.course h3, #elm-container .option.acc h4 {margin: 0 8em 0.5em 0;}
#elm-container .item.acc h3, #elm-container .item.transfer h3 {margin-bottom: 0.1em; color: #333; display: inline-block;}
#elm-container .item.transfer {margin-bottom: 1.3em; padding-bottom: 0;}
#elm-container .option.acc {margin-bottom: 0.5em; border-top: 1px solid rgba(0,0,0,0.1); padding-top: 0.7em;}
#elm-container .option.transfer {border-top: 1px solid rgba(0,0,0,0.1); height: 5.1em;}

#elm-container .price {float: right; color: #111; font-size: 1.8em; margin: -1.3em 0.15em 0 0;}
#elm-container .price span.ab {color: #4d4d4d; font-size: 0.4em; display: inline-block; vertical-align: top; margin: 0.3em 0.5em 0 0;}
#elm-container span.zeros {text-decoration: underline; font-size: 0.5em; display: inline-block; vertical-align: top; margin: 0.3em 0.3em 0 0;}

#elm-container .startdate.selector, #elm-container .courselength.selector {height: 2em;}

#elm-container .noseason {padding-bottom: 1em;}

#elm-container .item.errorSelected, #elm-container .option.errorSelected {
    border-width: 3px;
    border-style: solid;
    border-color: #ff4314
}

#elm-container .option.errorSelected {padding: 0 1em;}

#elm-container .customSelected, #elm-container .item.course.customSelected, #elm-container .option.acc.customSelected, #elm-container .option.transfer.customSelected {
    border-width: 3px;
    border-style: solid;
}

#elm-container .option.acc.customSelected {
  padding: 0.7em;
}

#elm-container .option.transfer.customSelected {
    padding: 0.7em 0.7em 5em 0.7em;
}

/* modal css */
#elm-container .modal {
  position: fixed;
  top: 50%;
  left: 50%;
  background: #FFF;
  transform: translate(-50%, -50%);
  font-family: calibri, sans-serif;
  padding: 1em;
  max-height: 80%;
  max-width: 80%;
  overflow-y: auto;
  border-radius: 1em;
  box-shadow: 0.25em 0.25em 0.3em rgba(0,0,0,0.4);
  border: 1em solid #FFF;
}

#elm-container .modal svg {float: right; cursor: pointer; padding: 0.3em; border-radius: 50%;}
#elm-container .modal svg:hover {color: black; background: rgba(0,0,0,0.07);}

#elm-container .modal p {font-size: 1em !important;}
#elm-container .modal h2 {font-size: 1.8em !important;}
#elm-container .modal h2:first-of-type {margin: 0.4em 0 0 0;}
#elm-container .modal table {margin-top: 0.4em;}
#elm-container .modal table td:nth-child(2) {text-align: center;}

#elm-container .modal__back {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 60000;

  background: rgba(0, 0, 0, 0.6);
}

#elm-container .modal_close {margin-top: 1em;}

/* modal -> overview-table css */
#elm-container .modal .overview-start-date {margin: 1.2em 0;}
#elm-container .modal .overview-start-date span {text-decoration: underline; font-weight: bold;}
#elm-container .modal .overview-table {font-size: 0.8em;}
#elm-container .modal .overview-table .overview-table-header {color: white;}
#elm-container .modal .overview-table svg {float: none; padding: 0; width: 1em; height: 1em; vertical-align: middle;}
#elm-container .modal .overview-table td {vertical-align: middle; text-align: center;}
#elm-container .modal .overview-table td:nth-child(1) {text-align: left; font-weight: bold;}
#elm-container .modal .overview-table tr:nth-child(even) {background: rgba(0,0,0,0.05);}
#elm-container .modal .overview-table tr.overview-table-header {background: #0074D7;}

#elm-container .table-view-button {display: inline-block; padding: 0.3em; border: 1px solid #999; cursor: pointer; 
border-radius: 3px; margin-bottom: 1em;}
#elm-container .table-view-button:hover {border-color: #0074d7; color: #0074d7;}
#elm-container .table-view-button svg {vertical-align: sub; margin-right: 0.3em; width: 1.2em; height: 1em;}

/*Datepicker defaults*/
#elm-container .elm-datepicker--container {
    position: relative;
    margin-left: 0.3em;
}

#elm-container .elm-datepicker--input:focus {
    outline: 0;
}
#elm-container .elm-datepicker--picker {
    position: absolute;
    border: 1px solid #CCC;
    z-index: 10;
	background: #F2F2F2;
	box-shadow: 5px 5px 10px rgba(0,0,0,0.5);
}
#elm-container .elm-datepicker--input {
     max-width: 5em;
     margin-left: 0.1em;
     padding-left: 0.2em;
}
#elm-container .elm-datepicker--input:hover {
     cursor: pointer;
}

#elm-container .elm-datepicker--picker-header, #elm-container .elm-datepicker--weekdays {
    background: #F2F2F2;
}

#elm-container .elm-datepicker--prev-container, #elm-container .elm-datepicker--next-container {
    display: inline-block;
    width: 15%;
	vertical-align: middle;
}
#elm-container .elm-datepicker--month-container {
    padding: 0.5em;
    display: inline-block;
    width: 70%;
    text-align: center;
	vertical-align: middle;
}
#elm-container .elm-datepicker--month, #elm-container .elm-datepicker--year {
    display: block;
    cursor: default;
    text-align: center;
}
#elm-container .elm-datepicker--year {
    font-size: 0.8em;
    font-weight: 700;
}
#elm-container .elm-datepicker--prev, #elm-container .elm-datepicker--next {
    border: 10px solid transparent;
    display: block;
    width: 0;
    height: 0;
    padding: 0 0.2em;
}
#elm-container .elm-datepicker--prev {
    border-right-color: #AAA;
    float: right;
}
#elm-container .elm-datepicker--prev:hover {
    border-right-color: #BBB;
}
#elm-container .elm-datepicker--next {
    border-left-color: #AAA;
}
#elm-container .elm-datepicker--next:hover {
    border-left-color: #BBB;
}
#elm-container .elm-datepicker--table {
    border-spacing: 0;
    border-collapse: collapse;
    font-size: 0.8em;
	margin: 0;
}
#elm-container .elm-datepicker--table td {
    width: 2em;
    height: 2em;
    text-align: center;
	padding: 0.3em;
}
#elm-container .elm-datepicker--row {
    border-top: 1px solid #F2F2F2;
}
#elm-container .elm-datepicker--dow {
    border-bottom: 1px solid #CCC;
    cursor: default;
}
#elm-container .elm-datepicker--day {
    cursor: pointer;
    background: #EEE;
}
#elm-container .elm-datepicker--day:hover {
    background: #CCC;
	color: #333;
}
#elm-container .elm-datepicker--disabled {
    cursor: default;
    color: #AAA;
}
#elm-container .elm-datepicker--picked {
    color: white;
    background: #0074D9;
}
#elm-container .elm-datepicker--picked:hover {
    background: #0074D9;
}
#elm-container .elm-datepicker--today {
    font-weight: bold;
}
#elm-container .elm-datepicker--other-month {
    color: #AAA;
}
#elm-container .elm-datepicker--other-month.elm-datepicker--disabled {
    color: #EEE;
}
#elm-container .elm-datepicker--other-month.elm-datepicker--picked {
    color: white;
}

/* ANMELDUNG */

#elm-container .h3_inline {display: inline;}

#elm-container .formGroup {padding: 1.4em;}
#elm-container .formGroup input {padding: 0.3em; border-radius: 0.25em;}
#elm-container .formGroup input:hover {border-color: #7FDBFF;}
#elm-container .formField select {width: auto;}
#elm-container .formField input {padding: 0.3em; font-size: 1em; border: 1px solid #ddd; border-radius: 0.25em; border-top-width: 2px; color: #303030; margin: 0 1px 1px 1px; width: 100%; max-width: 20em;}
#elm-container .formField input:focus {border: 2px solid #303030 !important; margin: 0;}
#elm-container .formField input:hover {border-color: rgba(11,83,110,0.25);}
#elm-container .formField__label {font-size: 1.4em; margin-top: 0.4em;}

#elm-container .formCheck.required input[type='checkbox']{margin-right: 0.3em;}

#elm-container .formField.required .formField__label:after {content: '*'; color: #FF4136;}

#elm-container .hasErrors .formField.invalidInput input {
    border-color: #FF4136;
    border-width: 2px;
}

#elm-container .hasErrors .formField.invalidInput select {
    border-color: #FF4136;
    border-width: 2px;
}

#elm-container .hasErrors .formCheck input[type='checkbox'] {
    box-shadow: 0 0 0 2px #FF4136;
}

#elm-container .hasErrors .formCheck input[type='checkbox']:checked {
    box-shadow: none;
}

#elm-container .submit.contactBtn {
    padding: 0.5em;
    font-size: 1.2em;
}



#elm-container textarea {width: 100%; max-width: 43em; min-height: 15em; border-radius: 0.25em; font-size: 1em; font-family: Calibri; padding: 0.3em; color: #303030; box-sizing: border-box; margin: 1.4em 0; white-space: pre-wrap;}
#elm-container textarea:hover {border-color: #7FDBFF;}
#elm-container textarea:focus {border: 2px solid #303030;}

#elm-container .selectionGroup {padding: 0.1em; font-size: 1.2em;}
#elm-container .selectionGroup td {padding: 0.5em 1em;}
#elm-container .selectionGroup .grey td:nth-child(3) {text-align: right;}
#elm-container .selectionGroup .euroPrice td:nth-child(3) {text-align: right;}
#elm-container .selectionGroup .grey {background: rgba(0,0,0,0.03); border-bottom: 1px solid rgba(0,0,0,0.3);}
#elm-container .selectionGroup .grey:last-child {border: none;}

#elm-container .form__note {color: #FF4136; display: inline-block;}
#elm-container .formField__note {font-size: 1em; max-width: 43em; display: inline-block; font-weight: bold;}
#elm-container .formField .elm-datepicker--container {font-size: 1.2em; display: inline-block;}
#elm-container .formField .elm-datepicker--input {width: auto; cursor: pointer; max-width: 6em; font-size: 0.8em;}

#elm-container .formCheck {margin: 1em 0;}

#elm-container button.submit {color: white; transition: 0.3s all ease; font-weight: bold; font-size: 1em; cursor: pointer;}

/* RESPONSIVE CLASSES */

#elm-container .phone .hyphenate {
  -webkit-hyphens: auto;
  -moz-hyphens: auto;
  -ms-hyphens: auto;
  hyphens: auto;
}

#elm-container .responsive-row {display: none;}

#elm-container .small {font-size: 14px;}
#elm-container .small .mid {padding: 1em;}
#elm-container .small .top {padding: 2.5em 1em 1em 1em;}
#elm-container .small .right {padding-right: 0;}
#elm-container .small .contact-info {font-size: 1.1em;}

/* RESPONSIVE MODAL */

#elm-container .small .modal {transform: none; position: absolute; top: 1em; right: 1em; bottom: 1em; left: 1em; max-height: 100%; max-width: 100%;}

#elm-container .tablet .left {width: 100%; max-width: none; float: none; display: block;}
#elm-container .tablet #stickymenu.sticky {width: 100%; position: relative; top: auto;}
#elm-container .tablet .right {width: 100%; margin: 2em 0 0; padding: 0; display: block;}
#elm-container .tablet .contact-info {float: none; width: 100%;}

#elm-container .phone .item {font-size: 0.9em}
#elm-container .phone .button {font-size: 1.2em; display: block; float: none; margin: 0.2em auto;}
#elm-container .phone .item > span, #elm-container .phone .item > .option > span {display: block; float: none; margin: 0;}
#elm-container .phone .price span.ab {font-size: 0.6em;}
#elm-container .phone .item select {width: 100%; float: none; margin: 0.2em 0;}

#elm-container .phone .courselength.selector, #elm-container .phone .option.transfer {height: auto;}

#elm-container .phone .item.course h3, #elm-container .phone .option.acc h4 {margin: 0.4em 0;}

#elm-container .phone .startdate.selector, #elm-container .phone .courselength.selector {height: auto;}

#elm-container .phone .modal h2 {font-size: 1.6em !important;}

#elm-container .tablet .responsive-row {display: table-row; font-weight: bold;}
#elm-container .tablet .responsive-row td:nth-child(2) {float: right;}
#elm-container .tablet tr td:nth-child(3) {display: none;}
#elm-container .tablet tr.has-data td:nth-child(3) {display: table-cell;}
#elm-container .tablet tr.has-data td:nth-child(2) {display: none;}
#elm-container .tablet .selectionGroup tr {border-bottom: 1px solid rgba(0,0,0,0.3);}
#elm-container .tablet .selectionGroup td {padding: 0.2em; font-size: 0.8em;}

/* CUSTOMER RATING SITE */

#elm-container .rating-star-editor button {background: white; border: none; font-size: 1.8em; cursor: pointer;}

/* NO SCRIPT - IFRAME FALLBACK */

#elm-container noscript iframe {border: none; width: 100%; height: 100%;}
