/**
 * 40-elements.css
**/

/**
 * headlines
**/
h1, h2, h3,
h4, h5, h6 {
    text-transform: uppercase;
}

h1.divider,
.divider h1,
h2.divider,
.divider h2,
h3.divider,
.divider h3,
h4.divider,
.divider h4,
h5.divider,
.divider h5,
h6.divider,
.divider h6 {
    margin-top: 32px;
    margin-top: 2rem;
    border-bottom: 2px solid #EEE;
}

.section_sidebar h1,
.section_sidebar h2 { font-size: 1.25em; }
.section_sidebar h3,
.section_sidebar h4 { font-size: 1.125em; }
.section_sidebar h5,
.section_sidebar h6 { font-size: 1em; }

/**
 * lists 
**/
ul {
    list-style-type: disc;
}

ul ul, ol ul {
    list-style-type: circle;
}

ul ul ul, ul ol ul, ol ul ul, ol ol ul {
    list-style-type: square;
}

ol, ul ol, ul ul ol, ul ul ul ol {
    list-style-type: decimal;
}

ol ol, ul ol ol, ol ul ol, ul ul ol ol, ol ul ul ol, ul ol ul ol {
    list-style-type: upper-alpha;
}

ol ol ol, ul ol ol ol, ol ul ol ol, ol ol ul ol {
    list-style-type: upper-roman;
}

abbr {
    position: relative;
}

abbr:before {
    display: block;
    position: absolute;
    top: -100%;
    margin: -.25em 0 0;
    padding: .25em;
    background: #FFF;
    border: 1px solid #EEE;
    border-radius: 3px;
    box-shadow: 0 0 3px rgba(0,0,0,.3);
}

abbr:hover:before, abbr:focus:before {
    content: attr(title);
}

.image_container {
    margin: 0 0 1em;
}

figure.float_left,
figure.float_right {
    width: 45%;
}

figure.float_left {
    margin-right: 5%;
}

figure.float_right {
    margin-left: 5%;
}

blockquote p,
.information,
.warning,
.confirmation {
    margin: 1em 0;
}

blockquote p {
    margin-top: .5em;
    margin-bottom: .5em;
}

blockquote em {
    display: block;
    font-weight: normal;
    font-style: normal;
    color: #999;
}


/**
 * content elements
**/
.ce_accordion,
.ce_accordion .toggler {
    border: 1px solid #EEE;
    border-collapse: collapse;
}

.ce_accordion {
    border-width: 0 1px;
}

.ce_accordion .toggler {
    border-width: 1px 0;
    padding: 0 .5em;
    background: #F9F9F9;
    cursor: pointer;
}

.ce_accordion .accordion {
    padding: .5em;
}

.ce_tabcontrol .tabcontrol_tabs li,
.ce_tabcontrol .tabcontrol_panes {
    border: 1px solid #EEE;
}

.ce_tabcontrol .tabcontrol_tabs ul {
    margin-bottom: 0;
    padding: 0;
    list-style: none;
}

.ce_tabcontrol .tabcontrol_tabs li {
    display: inline;
    display: inline-block;
    padding: .5em;
    margin: 0 .25em 0 0;
    background: #F9F9F9;
    border-color: #F9F9F9;
    cursor: pointer;

}

.ce_tabcontrol .tabcontrol_tabs li.selected {
    background: #FFF;
    border-color: #EEE;
    border-bottom-color: #FFF;
    cursor: default;
}

.ce_tabcontrol .tabcontrol_panes {
    margin-top: -1px;
    padding: .5em;
    min-height: 10em;
}

.ce_gallery ul {
    margin: .5em 0;
}

.ce_gallery li {
    margin: 0 1% .25em;
}

.ce_gallery .cols7 li,
.ce_gallery .cols8 li,
.ce_gallery .cols9 li,
.ce_gallery .cols10 li,
.ce_gallery .cols11 li,
.ce_gallery .cols12 li {
    margin: 0 .5% .125em;
}

.ce_gallery .cols1 li { width: 100%; }
.ce_gallery .cols2 li { width: 49%; }
.ce_gallery .cols3 li { width: 32%; }
.ce_gallery .cols4 li { width: 23.5%; }
.ce_gallery .cols5 li { width: 18.4%; }
.ce_gallery .cols6 li { width: 15%; }

.ce_gallery .cols7 li { width: 13.42857142%; }
.ce_gallery .cols8 li { width: 11.625%; }
.ce_gallery .cols9 li { width: 10.22222222%; }
.ce_gallery .cols10 li { width: 9.1%; }
.ce_gallery .cols11 li { width: 8.18181818%; }
.ce_gallery .cols12 li { width: 7.41666666%; }

.ce_gallery li.col_first {
    margin-left: 0;
}

.ce_gallery li.col_last {
    margin-right: 0;
}

.ce_gallery li.row_last {
    margin-bottom: 0;
}

.ce_gallery.rounded img {
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -o-border-radius: 50%;
    border-radius: 50%;
}

/**
 * global elements
**/ 
.information { color: #5685C2; }
.warning { color: #EE5F5B; }
.confirmation { color: #62C462; }

.pagination {
    border-top: 1px solid #E9E9E9;
}

.pagination p,
.pagination ul {
    margin: .125em 0;
}

.pagination p {
    float: right;
    line-height: 2;
}

.pagination li {
    margin: 0 .5em 0 0;
}

.pagination li a, 
.pagination li span {
    display: block;
    padding: 0 .25em;
    min-width: 1.5em;
    text-align: center;
    line-height: 2;
}

.pagination span.current {
    background: #EEE;
}

/** custom elements **/

/* rsce */
.centered_wrapper {
    position: relative;
    padding: 3em;
    overflow: hidden;
}

.centered_wrapper_inside {
    position: relative;
    margin-left: auto;
    margin-right: auto;
    max-width: 1200px;
}

.centered-wrapper-background {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    overflow: hidden;
    background: scroll no-repeat 50% 50%;
    background-size: cover;
}

.centered_wrapper.-height-small {
    min-height: 300px;
}

@media screen and (max-width: 599px) {
    .centered_wrapper.-height-small {
        min-height: 200px;
    }
}
.centered_wrapper.-height-medium {
    min-height: 600px;
}

@media screen and (max-width: 599px) {
    .centered_wrapper.-height-medium {
        min-height: 400px;
    }
}
.centered_wrapper.-height-large {
    min-height: 900px;
}

@media screen and (max-width: 599px) {
    .centered_wrapper.-height-large {
        min-height: 600px;
    }
}
.centered_wrapper.-viewport-height {
    min-height: 710px;
    min-height: calc(100vh - 3.86667em);
}

@media screen and (max-width: 900px) {
    .centered_wrapper.-viewport-height {
        min-height: 100vh;
    }
}
@media screen and (max-width: 599px) {
    .centered_wrapper.-viewport-height {
        min-height: 500px;
        min-height: 100vh;
    }
}

.centered_wrapper.-vertical-centered {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-direction: normal;
    -moz-box-direction: normal;
    -webkit-box-orient: vertical;
    -moz-box-orient: vertical;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -moz-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
}


.icon_boxes {
    overflow: hidden;
}

.icon_boxes a,
.icon_boxes a:hover,
.icon_boxes a:active,
.icon_boxes a:focus {
    color: inherit;
    text-decoration: none;
}

.icon-boxes-item:hover {
    background: #F5F5F5;
}

.icon-boxes-item-text {
    margin: 0 1em;
}

.icon-boxes-item-icon {
    display: block;
    height: 2.5em;
    width: 2.5em;
    margin: .5em auto;
    padding: .25em;
    color: #FFF;
    background: #F80;
    font-size: 3em;
    line-height: 2em;
    text-align: center;


    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    -o-box-sizing: border-box;
    box-sizing: border-box;

    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -o-border-radius: 50%;
    border-radius: 50%;
}

*[data-icon]:before {
    margin: 0;
}

.icon-boxes-item {
    text-align: center;
}

.icon-boxes-item-link {
    text-decoration: underline;
}

.icon-boxes-item:hover .icon-boxes-item-link {
    text-decoration: none;
}

.-background-color-dark {
    background: #383838;
}

.-background-color-light {
    background: #EEE;
}

.-color-inverted,
.-color-inverted h1,
.-color-inverted h2,
.-color-inverted h3,
.-color-inverted h4,
.-color-inverted h5,
.-color-inverted h6,
.-color-inverted a {
    color: #FFF;
}

.-vertical-centered {
    text-align: center;
}

.margin-top-none {
	margin-top: 0 !important;
}
@media screen and (max-width: 599px) {
	.margin-top-none {
		margin-top: 0 !important;
	}
}
.margin-right-none {
	margin-right: 0 !important;
}
@media screen and (max-width: 599px) {
	.margin-right-none {
		margin-right: 0 !important;
	}
}
.margin-bottom-none {
	margin-bottom: 0 !important;
}
@media screen and (max-width: 599px) {
	.margin-bottom-none {
		margin-bottom: 0 !important;
	}
}
.margin-left-none {
	margin-left: 0 !important;
}
@media screen and (max-width: 599px) {
	.margin-left-none {
		margin-left: 0 !important;
	}
}
.padding-top-none {
	padding-top: 0 !important;
}
@media screen and (max-width: 599px) {
	.padding-top-none {
		padding-top: 0 !important;
	}
}
.padding-right-none {
	padding-right: 0 !important;
}
@media screen and (max-width: 599px) {
	.padding-right-none {
		padding-right: 0 !important;
	}
}
.padding-bottom-none {
	padding-bottom: 0 !important;
}
@media screen and (max-width: 599px) {
	.padding-bottom-none {
		padding-bottom: 0 !important;
	}
}
.padding-left-none {
	padding-left: 0 !important;
}
@media screen and (max-width: 599px) {
	.padding-left-none {
		padding-left: 0 !important;
	}
}
.margin-top-xxs {
	margin-top: 10px !important;
}
@media screen and (max-width: 599px) {
	.margin-top-xxs {
		margin-top: 5px !important;
	}
}
.margin-right-xxs {
	margin-right: 10px !important;
}
@media screen and (max-width: 599px) {
	.margin-right-xxs {
		margin-right: 5px !important;
	}
}
.margin-bottom-xxs {
	margin-bottom: 10px !important;
}
@media screen and (max-width: 599px) {
	.margin-bottom-xxs {
		margin-bottom: 5px !important;
	}
}
.margin-left-xxs {
	margin-left: 10px !important;
}
@media screen and (max-width: 599px) {
	.margin-left-xxs {
		margin-left: 5px !important;
	}
}
.padding-top-xxs {
	padding-top: 10px !important;
}
@media screen and (max-width: 599px) {
	.padding-top-xxs {
		padding-top: 5px !important;
	}
}
.padding-right-xxs {
	padding-right: 10px !important;
}
@media screen and (max-width: 599px) {
	.padding-right-xxs {
		padding-right: 5px !important;
	}
}
.padding-bottom-xxs {
	padding-bottom: 10px !important;
}
@media screen and (max-width: 599px) {
	.padding-bottom-xxs {
		padding-bottom: 5px !important;
	}
}
.padding-left-xxs {
	padding-left: 10px !important;
}
@media screen and (max-width: 599px) {
	.padding-left-xxs {
		padding-left: 5px !important;
	}
}
.margin-top-xs {
	margin-top: 25px !important;
}
@media screen and (max-width: 599px) {
	.margin-top-xs {
		margin-top: 13px !important;
	}
}
.margin-right-xs {
	margin-right: 25px !important;
}
@media screen and (max-width: 599px) {
	.margin-right-xs {
		margin-right: 13px !important;
	}
}
.margin-bottom-xs {
	margin-bottom: 25px !important;
}
@media screen and (max-width: 599px) {
	.margin-bottom-xs {
		margin-bottom: 13px !important;
	}
}
.margin-left-xs {
	margin-left: 25px !important;
}
@media screen and (max-width: 599px) {
	.margin-left-xs {
		margin-left: 13px !important;
	}
}
.padding-top-xs {
	padding-top: 25px !important;
}
@media screen and (max-width: 599px) {
	.padding-top-xs {
		padding-top: 13px !important;
	}
}
.padding-right-xs {
	padding-right: 25px !important;
}
@media screen and (max-width: 599px) {
	.padding-right-xs {
		padding-right: 13px !important;
	}
}
.padding-bottom-xs {
	padding-bottom: 25px !important;
}
@media screen and (max-width: 599px) {
	.padding-bottom-xs {
		padding-bottom: 13px !important;
	}
}
.padding-left-xs {
	padding-left: 25px !important;
}
@media screen and (max-width: 599px) {
	.padding-left-xs {
		padding-left: 13px !important;
	}
}
.margin-top-s {
	margin-top: 50px !important;
}
@media screen and (max-width: 599px) {
	.margin-top-s {
		margin-top: 25px !important;
	}
}
.margin-right-s {
	margin-right: 50px !important;
}
@media screen and (max-width: 599px) {
	.margin-right-s {
		margin-right: 25px !important;
	}
}
.margin-bottom-s {
	margin-bottom: 50px !important;
}
@media screen and (max-width: 599px) {
	.margin-bottom-s {
		margin-bottom: 25px !important;
	}
}
.margin-left-s {
	margin-left: 50px !important;
}
@media screen and (max-width: 599px) {
	.margin-left-s {
		margin-left: 25px !important;
	}
}
.padding-top-s {
	padding-top: 50px !important;
}
@media screen and (max-width: 599px) {
	.padding-top-s {
		padding-top: 25px !important;
	}
}
.padding-right-s {
	padding-right: 50px !important;
}
@media screen and (max-width: 599px) {
	.padding-right-s {
		padding-right: 25px !important;
	}
}
.padding-bottom-s {
	padding-bottom: 50px !important;
}
@media screen and (max-width: 599px) {
	.padding-bottom-s {
		padding-bottom: 25px !important;
	}
}
.padding-left-s {
	padding-left: 50px !important;
}
@media screen and (max-width: 599px) {
	.padding-left-s {
		padding-left: 25px !important;
	}
}
.margin-top-m {
	margin-top: 75px !important;
}
@media screen and (max-width: 599px) {
	.margin-top-m {
		margin-top: 38px !important;
	}
}
.margin-right-m {
	margin-right: 75px !important;
}
@media screen and (max-width: 599px) {
	.margin-right-m {
		margin-right: 38px !important;
	}
}
.margin-bottom-m {
	margin-bottom: 75px !important;
}
@media screen and (max-width: 599px) {
	.margin-bottom-m {
		margin-bottom: 38px !important;
	}
}
.margin-left-m {
	margin-left: 75px !important;
}
@media screen and (max-width: 599px) {
	.margin-left-m {
		margin-left: 38px !important;
	}
}
.padding-top-m {
	padding-top: 75px !important;
}
@media screen and (max-width: 599px) {
	.padding-top-m {
		padding-top: 38px !important;
	}
}
.padding-right-m {
	padding-right: 75px !important;
}
@media screen and (max-width: 599px) {
	.padding-right-m {
		padding-right: 38px !important;
	}
}
.padding-bottom-m {
	padding-bottom: 75px !important;
}
@media screen and (max-width: 599px) {
	.padding-bottom-m {
		padding-bottom: 38px !important;
	}
}
.padding-left-m {
	padding-left: 75px !important;
}
@media screen and (max-width: 599px) {
	.padding-left-m {
		padding-left: 38px !important;
	}
}
.margin-top-l {
	margin-top: 100px !important;
}
@media screen and (max-width: 599px) {
	.margin-top-l {
		margin-top: 50px !important;
	}
}
.margin-right-l {
	margin-right: 100px !important;
}
@media screen and (max-width: 599px) {
	.margin-right-l {
		margin-right: 50px !important;
	}
}
.margin-bottom-l {
	margin-bottom: 100px !important;
}
@media screen and (max-width: 599px) {
	.margin-bottom-l {
		margin-bottom: 50px !important;
	}
}
.margin-left-l {
	margin-left: 100px !important;
}
@media screen and (max-width: 599px) {
	.margin-left-l {
		margin-left: 50px !important;
	}
}
.padding-top-l {
	padding-top: 100px !important;
}
@media screen and (max-width: 599px) {
	.padding-top-l {
		padding-top: 50px !important;
	}
}
.padding-right-l {
	padding-right: 100px !important;
}
@media screen and (max-width: 599px) {
	.padding-right-l {
		padding-right: 50px !important;
	}
}
.padding-bottom-l {
	padding-bottom: 100px !important;
}
@media screen and (max-width: 599px) {
	.padding-bottom-l {
		padding-bottom: 50px !important;
	}
}
.padding-left-l {
	padding-left: 100px !important;
}
@media screen and (max-width: 599px) {
	.padding-left-l {
		padding-left: 50px !important;
	}
}
.margin-top-xl {
	margin-top: 150px !important;
}
@media screen and (max-width: 599px) {
	.margin-top-xl {
		margin-top: 75px !important;
	}
}
.margin-right-xl {
	margin-right: 150px !important;
}
@media screen and (max-width: 599px) {
	.margin-right-xl {
		margin-right: 75px !important;
	}
}
.margin-bottom-xl {
	margin-bottom: 150px !important;
}
@media screen and (max-width: 599px) {
	.margin-bottom-xl {
		margin-bottom: 75px !important;
	}
}
.margin-left-xl {
	margin-left: 150px !important;
}
@media screen and (max-width: 599px) {
	.margin-left-xl {
		margin-left: 75px !important;
	}
}
.padding-top-xl {
	padding-top: 150px !important;
}
@media screen and (max-width: 599px) {
	.padding-top-xl {
		padding-top: 75px !important;
	}
}
.padding-right-xl {
	padding-right: 150px !important;
}
@media screen and (max-width: 599px) {
	.padding-right-xl {
		padding-right: 75px !important;
	}
}
.padding-bottom-xl {
	padding-bottom: 150px !important;
}
@media screen and (max-width: 599px) {
	.padding-bottom-xl {
		padding-bottom: 75px !important;
	}
}
.padding-left-xl {
	padding-left: 150px !important;
}
@media screen and (max-width: 599px) {
	.padding-left-xl {
		padding-left: 75px !important;
	}
}
.margin-top-xxl {
	margin-top: 200px !important;
}
@media screen and (max-width: 599px) {
	.margin-top-xxl {
		margin-top: 100px !important;
	}
}
.margin-right-xxl {
	margin-right: 200px !important;
}
@media screen and (max-width: 599px) {
	.margin-right-xxl {
		margin-right: 100px !important;
	}
}
.margin-bottom-xxl {
	margin-bottom: 200px !important;
}
@media screen and (max-width: 599px) {
	.margin-bottom-xxl {
		margin-bottom: 100px !important;
	}
}
.margin-left-xxl {
	margin-left: 200px !important;
}
@media screen and (max-width: 599px) {
	.margin-left-xxl {
		margin-left: 100px !important;
	}
}
.padding-top-xxl {
	padding-top: 200px !important;
}
@media screen and (max-width: 599px) {
	.padding-top-xxl {
		padding-top: 100px !important;
	}
}
.padding-right-xxl {
	padding-right: 200px !important;
}
@media screen and (max-width: 599px) {
	.padding-right-xxl {
		padding-right: 100px !important;
	}
}
.padding-bottom-xxl {
	padding-bottom: 200px !important;
}
@media screen and (max-width: 599px) {
	.padding-bottom-xxl {
		padding-bottom: 100px !important;
	}
}
.padding-left-xxl {
	padding-left: 200px !important;
}
@media screen and (max-width: 599px) {
	.padding-left-xxl {
		padding-left: 100px !important;
	}
}
.font-size-xxs {
	font-size: 0.6em !important;
}
@media screen and (max-width: 599px) {
	.font-size-xxs {
		font-size: 0.8em !important;
	}
}
.font-size-xs {
	font-size: 0.8em !important;
}
@media screen and (max-width: 599px) {
	.font-size-xs {
		font-size: 0.9em !important;
	}
}
.font-size-s {
	font-size: 0.9em !important;
}
@media screen and (max-width: 599px) {
	.font-size-s {
		font-size: 0.95em !important;
	}
}
.font-size-m {
	font-size: 1.2em !important;
}
@media screen and (max-width: 599px) {
	.font-size-m {
		font-size: 1.1em !important;
	}
}
.font-size-l {
	font-size: 1.5em !important;
}
@media screen and (max-width: 599px) {
	.font-size-l {
		font-size: 1.25em !important;
	}
}
.font-size-xl {
	font-size: 2em !important;
}
@media screen and (max-width: 599px) {
	.font-size-xl {
		font-size: 1.5em !important;
	}
}
.font-size-xxl {
	font-size: 2.5em !important;
}
@media screen and (max-width: 599px) {
	.font-size-xxl {
		font-size: 1.75em !important;
	}
}