/*
 Theme Name:     Divi Child
 Theme URI:      https://www.synergetics.ch
 Description:    Divi Child Theme
 Author:         Marc Sommer
 Author URI:     https://www.synergetics.ch
 Template:       Divi
 Version:        1.0.0
*/

:root {
	--white: #fff;
	--lightgreen: #789B28; /* global green color */
	--darkgreen: #07853f; /* body link hover */
	--lightgrey: #d1dbd7; /* breadcrumb link hover */
	--darkgrey: #444; /* standard grey */
}

a,
a > span {
	-webkit-transition: color .3s ease;
	-moz-transition: color .3s ease;
	-ms-transition: color .3s ease;
	-o-transition: color .3s ease;
	transition: color .3s ease;
}
a:hover {
	color: var(--darkgreen);
}

video,
iframe,
object {
	max-width: 100%;
	width: auto;
	height: auto;
}

button:not(:disabled),
[type="button"]:not(:disabled),
[type="reset"]:not(:disabled),
[type="submit"]:not(:disabled) {
 	cursor: pointer;
}

:not(.et_pb_fullwidth_section).et_pb_section {
 	padding-top: 0;
 	padding-bottom: 0;
}

iframe.map {
	width: 100%;
	height: 435px;
}

.d-flex {
	display: -ms-flexbox !important;
	display: flex !important;
}

/*html,
body,
#page-container,
#et-main-area {
  height: 100%;
}
@media (min-width: 980px) {
  #main-content {
    min-height: 100%;
    margin-bottom: calc(-1 * (550px + 5rem));
  }
}
#main-content:after {
	content: '';
	display: block;
	clear: both;
	height: calc(550px + 5rem);
}*/

/*--------------------------------------------------------------
# Header
--------------------------------------------------------------*/
#top-header {
	border-bottom: 1px solid #e4ebe8;
}

.nav li ul {
	padding: 5px 0;
	left: -20px;
}
.nav li li ul {
	top: -5px;
	border-top: 0;
}
#top-menu li {
	padding-right: 30px;
}
#top-menu li li {
	padding: 0;
	display: block;
}
#top-menu li li a {
	width: 100%;
	padding: 8px 20px;
}
#top-menu li.menu-item-has-children > a:first-child::after {
	-ms-transform: rotate(-90deg);
	-webkit-transform: rotate(-90deg);
	transform: rotate(-90deg);
	font-size: 24px;
	top: 8px;
	right: 8px;
}
#top-menu-nav > ul > li.menu-item-has-children > a:first-child::after {
	top: 2px;
	right: -2px;
	-webkit-transition: all .3s ease;
	-moz-transition: all .3s ease;
	-ms-transition: all .3s ease;
	-o-transition: all .3s ease;
	transition: all .3s ease;
}
#top-menu-nav > ul > li.menu-item-has-children:hover > a:after {
	-ms-transform: rotate(0);
	-webkit-transform: rotate(0);
	transform: rotate(0);
	top: -1px;
	right: -2px;
}

.nav ul li:hover > a, /* general */
#top-menu-nav > ul > li:hover > a, /* main menu 1st level */
#et-secondary-menu > ul > li:hover > a, /* meta menu 1st level */
#et-info-email:hover,
.et-social-icons a:hover,
.et_mobile_menu ul li a:hover, /* mobile menu 2nd+ level */
.et_mobile_menu li:not(.menu-item-has-children) a:hover /* mobile menu leaves */ {
	opacity: 1;
	color: var(--lightgreen) !important;
	background-color: transparent;
}
.et_mobile_menu li.menu-item-has-children a:hover, /* mobile menu items with children */
.et_mobile_menu li.current-menu-ancestor > a,
.et_mobile_menu li.current-menu-item > a {
	opacity: 1;
	color: var(--lightgreen) !important;
}
.mobile_menu_bar::before,
.mobile_menu_bar::after {
	color: var(--darkgrey) !important;
}
#main-header .et_mobile_menu li ul,
.et_pb_fullwidth_menu .et_mobile_menu li ul {
	padding-left: 0;
}
.et_mobile_menu li li {
	padding-left: 2%;
}
.et_mobile_menu li li li {
	padding-left: 4%;
}
.et_mobile_menu li a {
	padding-left: 3%;
	padding-right: 3%;
}

/*--------------------------------------------------------------
# Content
--------------------------------------------------------------*/
@media all and (max-width: 980px) {
	.headline-bar .et_pb_column {
		margin-bottom: 0;
	}
}

.syde_homebox {
	height: 100%;
}
.syde_homebox.et_pb_promo:hover,
.syde_homebox.et_pb_promo:hover .et_pb_module_header {
	color: var(--white) !important;
}
.syde_homebox * {
	transition-delay: inherit;
	transition-duration: inherit;
	transition-property: color;
	transition-timing-function: inherit;
}
.syde_homebox .et_pb_module_header:after {
	content: ' ';
	display: block;
	width: 100px;
	height: 1px;
	margin: 1.5rem auto 1.75rem auto;
	background: #c8c8c8;
}
.syde_homebox .et_pb_module_header,
.syde_homebox .et_pb_promo_description {
	padding-bottom: 0;
}

.home h1 {
	padding-bottom: 0;
}
.home h1:after {
	content: ' ';
	display: block;
	width: 100px;
	height: 1px;
	margin: 2.5rem auto 2.75rem;
	background: #c8c8c8;
}

.syde_product_list {
	margin-bottom: 30px !important;
}
.syde_product_list .et_pb_image_container {
	margin: 0 0 15px 0;
}

.et_pb_button,
.et_pb_button_module_wrapper .et_pb_button {
	color: var(--white) !important;
}
.nf-form-wrap .nf-field-element .et_pb_button,
.et_pb_button_module_wrapper .et_pb_button,
.et_pb_button_module_wrapper .et_pb_button:hover {
	padding: 12px 40px !important;
}

.et_pb_post_title h1,
.et_pb_page_title h1 {
	padding-top: 1.5rem;
	padding-bottom: 1.5rem;
	line-height: 1;
}

.syde_breadcrumb a {
	color: var(--white);
}
.breadcrumb {
	padding-top: 1.5rem;
	padding-bottom: 1.5rem;
	text-align: right;
}
.breadcrumb a:hover,
.breadcrumb a:hover > span {
	color: var(--lightgrey);
}
.breadcrumb .sep {
 	padding: 0 0.5rem;
}
.breadcrumb .sep:after {
	content: '\203A';
	font-size: 1.25rem;
	line-height: 0;
}

@media all and (max-width: 980px) {
	.et_pb_page_title,
	.breadcrumb {
		text-align: center;
	}
	.breadcrumb {
		padding-top: 0;
	}
}

a[href$=".pdf"]:before,
a[href$=".doc"]:before,
a[href$=".docx"]:before,
a[href$=".xls"]:before,
a[href$=".xlsx"]:before {
	content: '\f019';
	font-family: 'FontAwesome';
	margin-right: 10px;
}

.et_pb_bg_layout_light .et-pb-arrow-next,
.et_pb_bg_layout_light .et-pb-arrow-prev {
	color: var(--darkgreen);
}
.et_pb_bg_layout_light .et-pb-controllers .et-pb-active-control {
	background-color: var(--darkgreen);
}

.et_overlay {
	background-color: rgba(255, 255, 255, 0.65);
}

.et_pb_filterable_portfolio .et_pb_portfolio_item.active,
.et_pb_gallery_grid .et_pb_gallery_item {
	-webkit-animation: none;
	-moz-animation: none;
	-o-animation: none;
	animation: none;
}

.et_pb_member_position {
	color: inherit;
}

.et_pb_scroll_top.et-pb-icon {
	background: var(--lightgreen);
}

/*--------------------------------------------------------------
# Forms
--------------------------------------------------------------*/
.nf-form-wrap .nf-form-fields-required {
	display: none;
}
.nf-form-wrap .nf-field-container,
.tml-login .tml-field-wrap {
	margin-bottom: 20px;
}
/*.nf-form-wrap .nf-row:last-child .nf-field-container {
	margin-bottom: 0;
}*/
.tml-login .tml-field-wrap,
.tml-register .tml-field-wrap,
.tml-lostpassword .tml-field-wrap {
	overflow: hidden;
}
.nf-form-wrap .nf-field-element textarea {
	height: 178px;
}

.nf-field-element ul {
	list-style: none;
}
.nf-field-element ul li::before {
	display: none;
}
.nf-form-wrap .list-checkbox-wrap .nf-field-element li,
.nf-form-wrap .list-radio-wrap .nf-field-element li {
	float: left;
	margin: 0 !important;
}
.list-checkbox-wrap .nf-field-element li input,
.list-radio-wrap .nf-field-element li input {
	margin: 0 !important;
	background: #cfcfd0;
}
.list-checkbox-wrap .nf-field-element li label,
.list-radio-wrap .nf-field-element li label {
	margin: 0 20px 0 0 !important;
	position: relative;
}

input[type="radio"],
input[type="checkbox"] {
	visibility: hidden;
	position: absolute;
	}
input[type="radio"] + label::before,
input[type="checkbox"] + label::before {
	content: " ";
	display: inline-block;
	width: 17px;
	height: 17px;
	margin-bottom: -2px;
	margin-right: 8px;
	background: #f7f7f7;
	border: 1px solid #c8c8c8;
}
/*input[type="radio"]:checked + label::before,
input[type="checkbox"]:checked + label::before {
	background: #789B28;
}*/

input[type="radio"] + label::before {
	border-radius: 50%;
}
input[type="checkbox"] + label::before {
	border-radius: 2px;
}

input[type="radio"]:checked + label::after {
	content: " ";
	display: inline-block;
	width: 11px;
	height: 11px;
	position: absolute;
	top: 7px;
	left: 3px;
	background: #444;
	border-radius: 50%;
}
input[type="checkbox"]:checked + label::after {
	content: "\f00c";
	font-family: 'FontAwesome';
	display: inline-block;
	width: 17px;
	height: 18px;
	position: absolute;
	top: 4px;
	left: 0px;
	line-height: 1;
	font-size: 18px;
}

input[type="text"],
input[type="email"],
input[type="search"]:not(.et-search-field),
input[type="password"],
textarea,
select {
	padding: 15px 10px 5px;
	font-size: 0.875rem;
	line-height: 1;
	font-weight: 400;
	background: #fff;
	border-radius: 3px;
	-webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.075);
	box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.075);
	-webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
	transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
}
.nf-form-wrap .nf-field-element input[type="text"],
.nf-form-wrap .nf-field-element input[type="email"],
.nf-form-wrap .nf-field-element input[type="search"],
.tml input[type="text"],
.tml input[type="password"] {
	height: 46px;
}

input[type="text"],
input[type="email"],
input[type="search"]:not(.et-search-field),
input[type="password"],
textarea,
select,
input.text:focus,
input.title:focus,
input[type="text"]:focus,
select:focus,
textarea:focus {
	color: #555;
	border: 1px solid #ccc;
}

select {
	padding-top: 5px;
	padding-bottom: 5px;
}

@media all and (max-width: 767px) {
	.nf-cell {
		width: 100% !important;
	}
}

.nf-form-wrap .animate .label,
.search-form .animate .label {
	padding: 0;
	margin: 0;
	text-align: left;
	display: block;
	position: absolute;
	left: 11px;
	top: 16px;
	cursor: auto;
	-webkit-transition: all 150ms ease-in-out;
	transition: all 150ms ease-in-out;
	font-weight: 400 !important;
	font-size: 14px;
	line-height: 1;
}
.search-form .animate .label {
	top: 18px;
}
.nf-form-wrap .animate.focused .label,
.search-form .animate.focused .label {
	top: 4px;
	font-size: 10px;
	}

/*--------------------------------------------------------------
# Footer
--------------------------------------------------------------*/
#main-footer {
	margin-top: 5rem;
	/*height: 550px;*/
}

#footer-widgets {
	padding-top: 7rem;
	padding-bottom: 2rem;
}
@media all and (max-width: 980px) {
	#footer-widgets {
		padding-bottom: 4.5rem;
	}
}
#footer-widgets .footer-widget img {
	width: auto;
	max-height: none;
	height: 100px;
	margin-bottom: 2rem;
}
@media all and (min-width: 981px) {
	#text-3 {
		margin-top: -3.75rem;
	}
}
#footer-widgets .footer-widget a:hover {
	color: var(--white) !important;
}

#footer-widgets .footer-widget .title {
	padding-bottom: 0;
	margin-bottom: 2.25rem;
}

#footer-widgets .footer-widget .menu li {
	padding-left: 0;
	margin-bottom: 0;
}
#footer-widgets .footer-widget .menu li::before {
	display: none;
}

#footer-bottom {
	position: relative;
}
#footer-bottom::before {
 	content: '';
	position: absolute;
	width: 100%;
	top: 0;
	left: 0;
	right: 0;
	height: 1px;
	background: rgba(200, 200, 200, 0.2);
}
#footer-info {
	float: none;
	text-align: center;
}

/*--------------------------------------------------------------
# Media Query
--------------------------------------------------------------*/
/*--------------------------------------------------------------
## Notebook
--------------------------------------------------------------*/
@media (max-width: 1199px) {
	html {
		font-size: 95%;
	}
}
/*--------------------------------------------------------------
## Netbook
--------------------------------------------------------------*/
@media (max-width: 1100px) {
	html {
		font-size: 90%;
	}
}
/*--------------------------------------------------------------
## iPad
--------------------------------------------------------------*/
@media (max-width: 980px) {
	html {
		font-size: 85%;
	}
}
/*--------------------------------------------------------------
## iPad
--------------------------------------------------------------*/
@media (max-width: 767px) {
	html {
		font-size: 80%;
	}
}
/*--------------------------------------------------------------
## iPad
--------------------------------------------------------------*/
@media (max-width: 479px) {
	html {
		font-size: 75%;
	}
}