*,
*:before,
*:after {
    box-sizing: border-box;
}

body,
header,
footer,
main,
section,
article,
nav,
figure,
nav,
div,
h1,
h2,
h3,
h4,
h5,
h6,
p,
ul,
ol,
li,
dl,
dt,
dd,
img,
form,
fieldset,
blockquote {
    border: 0;
    margin: 0;
    padding: 0;
}

html {
    overflow-x: hidden;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
}

body {
    background: #ffffff;
    color: #808080;
    font: 24px Montserrat, Arial, Helvetica, Sans-Serif;
    min-width: 320px;
}

a {
    color: #808080;
    outline: none;
    text-decoration: none;
    transition: .2s All;
}

a:hover {
    color: #000000;
    text-decoration: none;
}

.text a{
    text-decoration: underline;
}

input,
select,
textarea {
    border: #999999 1px solid;
    color: #000;
    font: inherit;
    padding: 1em;
}

li {
    list-style: none;
}

h1,
h2,
.CCSS328 h4 {
    font-size: 40px;
    font-weight: 600;
    line-height: 1;
    margin: 0 0 1em;
}

h3 {
    font-size: 40px;
    font-weight: normal;
    line-height: 1.5;
    margin: 0 0 .5em;
}

h4 {
    font-size: 1em;
    font-weight: 600;
    line-height: 1;
    margin: 0 0 1em;
}

h5,
h6 {
    font-size: 1em;
    font-weight: normal;
    line-height: 1;
    margin: 0 0 1em;
}

p {
    line-height: 1.6em;
    margin: 0 0 1.4em;
}

table {
    border-collapse: collapse;
    width: 100%;
}

img {
    display: block;
    max-width: 100%;
}

/*- Layout -*/

.page-container,
.page-title,
.page-footer {
    margin: 0 auto;
    padding: 0 90px;
}

.page-container {
    padding-bottom: 20px;
    padding-top: 20px;
}

/*- Page Header -*/

.page-header {
    align-items: center;
    display: flex;
    height: 165px;
    justify-content: space-between;
    position: relative;
    z-index: 1
}

.header-logo {}

/*- Title / Slider  -*/

.page-title {
    height: 100vh;
    margin-bottom: 80px;
    padding-bottom: 35px;
    position: relative;
}

.overlay-white {
    position: absolute;
    background-color: rgba(255, 255, 255, 0.25);
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
    z-index: 0
}

.page-title--theme1 {
    background: url(../images/title.jpg) no-repeat center / cover;
}

.page-title--theme2 {
    background: url(../images/title2.jpg) no-repeat center / cover;
}

.page-title--theme3 {
    background: url(../images/title3.jpg) no-repeat center / cover;
}

.title-container {
    color: #fff;
    float: right;
    margin-top: 105px;
    overflow: hidden;
    width: calc(50% - 5px);
}

.title-container a {
    color: #fff;
}

.title-container__row {
    border-top: 1px solid #fff;
    min-height: 195px;
    padding: 22px 0;
}

.headline-green {
    color: #9FD49C;
    display: block;
    padding-right: 50px;
    position: relative;
}

.headline-white {
    display: block;
    padding-right: 50px;
    position: relative;
}

.headline-green::after,
.headline-white::after {
    background: url(../images/ico-leaf.svg) no-repeat center / contain;
    content: '';
    height: 50px;
    margin-left: 30px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 50px;
}

.headline-white::after {
    background: url(../images/ico-leaf-w.svg) no-repeat center / contain;
}

/*- Navigation -*/

.nav-primary {
    background: #283583;
    bottom: 0;
    display: none;
    max-height: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    padding: 105px 190px 105px 90px;
    position: fixed;
    right: 0;
    top: 0;
    width: 50%;
}

.nav-container {
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: space-between;
}

.nav-main {
    font-size: 28px;
}

.nav-main>li {
    margin: 0 0 26px;
    position: relative;
}

.nav-main>li:last-child {
    margin-bottom: 0;
}

.nav-main>li>a {
    color: #fff;
    display: block;
    text-decoration: none;
}

.nav-main>li>a:hover,
.nav-main>li.active>a {
    color: #fff;
}

.form-search+.nav-main {
    font-size: 23px;
}

.nav-secondary {
    position: absolute;
    right: 0;
    top: 135px;
}

.nav-is-open .nav-secondary {
    position: fixed;
    right: 90px;
}

.nav-language {
    align-items: center;
    color: #fff;
    display: flex;
    /*flex-direction: row-reverse;*/
    font-size: 28px;
    justify-content: flex-end;
    margin-bottom: 25px;
    position: relative;
    text-transform: uppercase;
}

.nav-language li,
.nav-language a {
    color: #fff;
    display: block;
    position: relative;
}

.nav-language a:hover {
    color: #fff;
}

.nav-language li {
    cursor: pointer;
    margin-left: 10px;
    opacity: 0;
    padding: 0 0 0 43px;
    position: relative;
    text-decoration: none;
    transition: .2s All;
    visibility: hidden
}

.nav-language li.active {
    order: 100
}

.nav-language:hover li,
.nav-language li.active {
    opacity: 1;
    visibility: visible
}

.nav-language li.active::after {
    background: url(../images/ico-arrow-w.svg) no-repeat center / contain;
    content: '';
    height: 26px;
    left: 0;
    margin-top: -13px;
    position: absolute;
    top: 50%;
    width: 26px;
}

.nav-email {
    align-items: center;
    display: flex;
    float: right;
}

.nav-email a {
    padding-left: 43px;
    position: relative;
}

.nav-email img {}

.nav-email a::after {
    background: url(../images/ico-arrow-w.svg) no-repeat center / contain;
    content: '';
    height: 26px;
    left: 0;
    margin-top: -13px;
    position: absolute;
    top: 50%;
    width: 26px;
}

.pic-map .nav-tertiary ul {
    margin: 0
}

.nav-tertiary li {
    margin: 0 0 .2em;
    padding: 0 0 0 35px;
    position: relative;
}

.nav-tertiary li:before {
    background: url(../images/ico-arrow-b.svg) no-repeat center / contain;
    content: '';
    height: 22px;
    left: 0;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 24px;
}

/*- Components -*/

.list-features {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.feature-item__pic {
    align-items: center;
    display: flex;
    justify-content: center;
    margin-bottom: 5px;
    min-height: 105px;
    z-index: 0;
}

.feature__item {
    align-items: center;
    display: flex;
    flex-direction: column;
    font-size: 16px;
    padding: 0 15px 50px;
    text-align: center;
    width: 20%;
}

.feature-item__link {
    position: relative;
}

.feature-item__link::after {
    background: url(../images/ico-arrow-w.svg) no-repeat center / contain;
    content: '';
    height: 16px;
    position: absolute;
    transform: translate(3px, 2px);
    width: 16px;
}

.accordion-row {
    position: relative;
}

.accordion-row>h3 {
    padding-right: 35px;
}

.accordion-headline button {
    background: none;
    border: 0;
    color: inherit;
    cursor: pointer;
    font: inherit;
    outline: none;
    padding: 0;
}

.is-open .accordion-headline {
    display: flex;
    justify-content: flex-end;
    position: absolute;
    right: 0;
    top: 0;
}

.is-open .accordion-headline button {
    height: 40px;
    width: 40px;
}

.accordion-wrap {
    width: calc(100% - 40px);
}

/*.pic-map .accordion-headline {
    transform: translateY(-80px)
}*/

.pic-map h3 {
    margin-bottom: 0;
}

.pic-map ul {
    line-height: 1.6;
    margin-bottom: 30px;
    padding-left: 60px;
    position: relative;
}

.ico-map-pin::before,
.ico-map-pin2::before,
.ico-map-pin3::before {
    background: url(../images/ico-pin.svg) no-repeat center / contain;
    content: '';
    height: 54px;
    position: absolute;
    transform: translate(-60px, 0);
    width: 44px;
}

.ico-map-pin2::before {
    background: url(../images/ico-pin2.svg) no-repeat center / contain;
}

.ico-map-pin3::before {
    background: url(../images/ico-pin3.svg) no-repeat center / contain;
}

.list-unordered,
.cms_content ul {
    margin: 0 0 1em;
}

.list-unordered li,
.cms_content li {
    margin: 0 0 .5em;
    padding: 0 0 0 28px;
    position: relative;
}

.list-unordered li:before,
.cms_content li::before {
    background: url(../images/ico-arrow-b.svg) no-repeat center / contain;
    content: '';
    height: 18px;
    left: 0;
    margin-top: 8px;
    position: absolute;
    width: 18px;
}

.list-table {
    line-height: 1.6;
}

.list-table tr {
    border-top: 1px solid #808080;
}

.list-table th,
.list-table td {
    font-weight: normal;
    padding-bottom: 50px;
    padding-top: 0;
    text-align: left;
    vertical-align: top;
}

/*- Forms -*/

.form-search {
    align-items: center;
    border-bottom: 1px solid rgba(256, 256, 256, .5);
    display: flex;
    margin: 20px 0 30px
}

.form-search__input {
    background: none;
    border: 0;
    color: #fff;
    height: 80px;
    margin-left: 18px;
    order: 2;
    outline: none;
    padding-bottom: 24px;
    padding-left: 0;
    padding-right: 0;
    width: 100%;
}

.form-search__btn {
    background: url(../images/ico-search.svg) no-repeat center / contain;
    border: 0;
    cursor: pointer;
    font-size: 0;
    height: 42px;
    order: 1;
    width: 44px;
}

input:focus {
    outline: none
}

/*- Buttons -*/

.btn-more,
.btn-more2 {
    cursor: pointer;
    display: inline-block;
    padding-left: 30px;
    position: relative;
}

.btn-more::before,
.btn-more2::before {
    background: url(../images/ico-arrow-b.svg) no-repeat center / contain;
    content: '';
    height: 20px;
    left: 0;
    margin-top: -10px;
    position: absolute;
    top: 50%;
    width: 20px;
}

.btn-more__xl {
    font-size: 40px;
    padding-left: 40px;
}

.btn-more__xl::before {
    height: 30px;
    width: 30px;
    margin-top: -15px;
}

.title-container .btn-more::before {
    background: url(../images/ico-arrow-w.svg) no-repeat center / contain;
}

.is-open .btn-more {
    font-size: 0;
    padding: 0;
}

.is-open .btn-more::before {
    background: url(../images/ico-x.svg) no-repeat center / contain;
    display: block;
    height: 36px;
    margin: 0;
    position: relative;
    top: 12px;
    width: 36px;
}

.btn-bottom {
    bottom: 30px;
    left: 50%;
    position: absolute;
    transform: translateX(-50%);
    z-index: 1000;
}

/*- Page Footer -*/

.nav-footer li {
    margin-bottom: 25px;
}

.footer-logo {
    display: flex;
    justify-content: flex-end;
}

.footer-logo a+a,
.footer-logo img+img {
    margin-left: 30px;
}

.part2 img {
	height: 40px
}

.nav-footer {
    padding-bottom: 80px;
}

.footer-copyright {
    align-items: flex-end;
    display: flex;
}

.footer-certifications {
    align-items: flex-end;
    display: flex;
    justify-content: flex-end;
}

/*- Misc. Components-*/

hr {
    border: 0;
    border-top: 1px solid #808080;
    margin-bottom: 30px;
    margin-top: 30px;
}

.pic-responsive img {
    height: auto;
    margin: 0 0 50px;
    width: 100%;
}

.hamburger {
    background-color: transparent;
    border: 0;
    box-shadow: none;
    cursor: pointer;
    height: 54px;
    outline: none;
    overflow: visible;
    padding: 0;
    position: absolute;
    right: 0;
    top: 56px;
    transition: .15s All;
    transition-property: opacity, filter;
    transition-timing-function: linear;
}

.hamburger.is-active {
    position: fixed;
    right: 90px;
}

.hamburger::-moz-focus-inner {
    border: 0;
}

.hamburger-box {
    display: block;
    height: 54px;
    position: relative;
    width: 88px
}

.hamburger-inner,
.hamburger-inner::before,
.hamburger-inner::after {
    background-color: #fff;
    border-radius: 0;
    display: block;
    height: 2px;
    position: absolute;
    transition-duration: .15s;
    transition-property: transform;
    transition-timing-function: ease;
    width: 88px;
}

.hamburger-inner::before {
    content: "";
    top: 24px;
    transition-duration: .2s;
    transition-property: transform, opacity;
    transition-timing-function: ease;
}

.hamburger-inner::after {
    content: "";
    top: 48px;
}

.hamburger.is-active .hamburger-inner {
    transform: translate3d(0, 24px, 0) rotate(30deg);
}

.hamburger.is-active .hamburger-inner::before {
    opacity: 0;
    transform: rotate(-30deg) translate3d(-5.71429px, -6px, 0);
}

.hamburger.is-active .hamburger-inner::after {
    transform: translate3d(0, -48px, 0) rotate(-60deg);
}

.cms_document .file.pdf, .CCSS332 a {
    background-repeat: no-repeat;
    background-image: url(../images/ico-arrow-b.svg);
    background-size: 20px;
    background-position-y: 6px;
    padding-left: 30px;
}

em {
    color: #9FD49C;
    font-style: normal;
}

.flex-container {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 50px;
}

.video-container, .pic-container {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
}

.responsive_video, .pic-container img {
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: 400px;
}

.logos-white-top {
    background-color: white;
    width: 100%;
    height: 100px;
    position: absolute;
    display: flex;
    bottom: 0;
    left: 0;
    justify-content: end;
    padding: 0 40px;
}

.logo-responsive {
    height: 300%;
    width: auto;
    position: absolute;
    top: -103px;
}

.CCSS328 h4 {
    color: #9FD49C;
}
   
.topscrolling {
  display: flex;
  justify-content: center;
  padding-top: 50px;
}

.topscrolling div {
  display: flex;
  flex-direction: column;
  align-items: center;
}

button.show{
  display: block;
  margin: 0 auto;
  border:none;
  background-color:#fff;
  cursor: pointer;
  width: 75px
}

