/*******************/
/* General Styles */
/*****************/

a, abbr, acronym, address, applet, b, big, blockquote, body, center, cite, code, dd, del, dfn, div, dl, dt, em, fieldset, font, form, h1, h2, h3, h4, h5, h6, html, i, iframe, img, ins, kbd, label, legend, li, object, ol, p, pre, q, s, samp, small, span, strike, strong, sub, sup, tt, u, ul, var { margin: 0; padding: 0; border: 0; outline: 0; background: 0 0; font-size: 100%; vertical-align: baseline; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; }

h1:last-child, h2:last-child, h3:last-child, h4:last-child, h5:last-child, h6:last-child, p:last-child, a:last-child, button:last-child, .oxy-rich-text:last-child { margin-bottom: 0; }

.oxygen-builder-body .ct-columns-empty, .oxygen-builder-body .oxy-header-row-empty > div, .oxygen-builder-body .ct-div-block:empty, .oxygen-builder-body .oxy-dynamic-list:empty, .oxygen-builder-body .ct-nestable-shortcode:empty, .oxygen-builder-body .ct-ul:empty, .oxygen-builder-body .ct-link:empty, .oxygen-builder-body .ct-new-columns:empty, .oxygen-builder-body .ct-widget:empty, .oxygen-builder-body .ct-shortcode:empty, .oxygen-builder-body .ct-section:empty, .oxygen-builder-body
.ct-section-inner-wrap:empty, .oxygen-builder-body .ct-looper:empty, .oxygen-builder-body .ct-separator:empty, .oxygen-builder-body .ct-slide:empty, .oxygen-builder-body .ct-code-block > span.oxygen-builder-body .ng-scope:empty, .oxygen-builder-body .oxygen-empty-comments-list, .oxygen-builder-body .oxygen-empty-gallery, .oxygen-builder-body .ct-modal:empty { min-height: 3px; }
.oxygen-builder-body .ct-div-block:empty, .oxygen-builder-body .ct-nestable-shortcode:empty, .oxygen-builder-body .ct-shortcode:empty, .oxygen-builder-body .ct-link:empty, .oxygen-builder-body .ct-code-block > span.oxygen-builder-body .ng-scope:empty, .oxygen-builder-body .oxy-header-container > div:empty { min-width: 3px; }

/*************/
/* CodeBase */
/***********/

html, body {
    font-size: var(--fz);
    height: 100%;
}

body {
    color: var(--body-font-color);
    font-family: var(--body-ff);
    font-weight: 400;
    line-height: 1.4;
}

img {
    width: var(--image-width);
	height: 100%;
	object-fit: cover;
}

/* Fonts */
h1 {
    font-family: var(--title-ff);
    font-size: calc(1em*var(--fm)*var(--fs)*var(--fs)*var(--fs)*var(--fs)*var(--fs));
	font-weight: var(--h1-fw);
    line-height: var(--h1-lh);
	color: var(--title-color);
    --element-margin: var(--h1-margin);
    margin-bottom: var(--h1-margin);
}

h2 {
    font-family: var(--title-ff);
    font-size: calc(1em*var(--fm)*var(--fs)*var(--fs)*var(--fs)*var(--fs));
	font-weight: var(--h2-fw);
    line-height: var(--h2-lh);
	color: var(--title-color);
    --element-margin: var(--h2-margin);
    margin-bottom: var(--h2-margin);
}

h3 {
    font-family: var(--title-ff);
    font-size: calc(1em*var(--fm)*var(--fs)*var(--fs)*var(--fs));
	font-weight: var(--h3-fw);
    line-height: var(--h3-lh);
	color: var(--title-color);
    --element-margin: var(--h3-margin);
    margin-bottom: var(--h3-margin);
}

h4 {
    font-family: var(--title-ff);
    font-size: calc(1em*var(--fm)*var(--fs)*var(--fs));
	font-weight: var(--h4-fw);
    line-height: var(--h4-lh);
	color: var(--title-color);
    --element-margin: var(--h4-margin);
    margin-bottom: var(--h4-margin);
}

h5 {
    font-family: var(--title-ff);
    font-size: 1.17em;
	font-weight: var(--h5-fw);
    line-height: var(--h5-lh);
	color: var(--title-color);
    --element-margin: var(--h5-margin);
    margin-bottom: var(--h5-margin);
}

h6 {
    font-family: var(--title-ff);
    font-size: 1.08em;
	font-weight: var(--h6-fw);
    line-height: var(--h6-lh);
	color: var(--title-color);
    --element-margin: var(--h6-margin);
    margin-bottom: var(--h6-margin);
}

p, .oxy-rich-text {
	font-family: var(--body-ff);
	font-size: 1em;
	font-weight: var(--p-fw);
	line-height: var(--p-lh);
	color: var(--body-color);
    --element-margin: var(--p-margin);
    margin-bottom: var(--p-margin);
}

.bb-highlight { color: var(--highlight); }

/* Button */
a {
    color: var(--link-color);
	font-family: inherit;
	font-size: inherit;
	font-weight: inherit;
    text-decoration: none;
    transition: all .2s;
}

a:hover { color: var(--link-color-hover); }

[class*='bb-button'] {
    background-color: var(--button-background-color);
    color: var(--button-color);
	font-size: var(--button-fs);
    font-weight: var(--button-fw);
    text-decoration: none;
    border: 0;
    transition: all .2s;
    padding: 0.8em 1.4em;
    width: fit-content;
    display: inline-block;
}

.bb-stretch [class*='bb-button'] { -ms-align-self: baseline; align-self: baseline; }

.bb-button:hover {
	background-color: var(--button-background-color-hover);
	color: var(--button-color-hover);
}

.bb-button-2 {
	background-color: var(--button-2-backgroud-color);
    color: var(--button-2-color);
}

.bb-button-2:hover {
	background-color: var(--button-2-backgroud-color-hover);
	color: var(--button-2-color-hover);
}

/**************/
/* Container */
/************/

[class*='bb-container'] { /* classes containing 'bb-container' */
    width: 100%;
    max-width: var(--site-max-width);
    height: 100%;
    padding-right: var(--container-spacing);
	padding-left: var(--container-spacing);
    margin-right: auto;
    margin-left: auto;
}

.bb-container_fw,
.bb-container_fwl,
.bb-container_fwr {
    max-width: unset;
    overflow-x: hidden;
    padding-right: var(--container-spacing);
    padding-left: var(--container-spacing);
}

.bb-container_fwl, .bb-pl0 { padding-right: var(--container-spacing); }
.bb-container_fwr, .bb-pr0 { padding-left: var(--container-spacing); }
.bb-pl0 { padding-left: 0; }
.bb-pr0 { padding-right: 0; overflow-x: hidden; }

/************/
/* Columns */
/**********/

[class*='bb-columns'] {
    display: -webkit-flex; display: -ms-flex; display: flex;
    -ms-align-items: center; align-items: center;
    -webkit-flex-direction: row; -ms-flex-direction: row; flex-direction: row;
    -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap;
    margin-right: calc(var(--column-spacing) * -1);
    /* margin-bottom: var(--column-spacing); */
    min-width: 100%;
}

[class*='bb-columns'] > * {
    margin-right: var(--column-spacing);
    margin-bottom: var(--column-spacing);
}

.bb-stretch { align-items: unset; }
.bb-stretch img { height: auto; }

.bb-stretch [class*='bb-1-'],
.bb-stretch [class*='bb-2-'],
.bb-stretch [class*='bb-3-'],
.bb-stretch .bb-4-5,
.bb-stretch .bb-5-6 {
    display: -webkit-flex; display: -ms-flex; display: flex;
    -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap;
    margin-bottom: 0;
}

.bb-stretch > [class*='bb-bg'] { height: unset; }

.bb-stretch [class*='bb-1-'] > *,
.bb-stretch [class*='bb-2-'] > *,
.bb-stretch [class*='bb-3-'] > *,
.bb-stretch .bb-4-5 > *,
.bb-stretch .bb-5-6 > * {
    width: 100%;
}

/* .bb-columns > *:only-child { margin-bottom: 0; } */

/* [class*='bb-columns'] [class*='bb-columns']:last-child { margin-bottom: 0; } */

/* Column sizes */
.bb-1-1 { width: calc(100% - var(--column-spacing)); }
.bb-1-2 { width: calc(50% - var(--column-spacing)); }
.bb-1-3 { width: calc((100% / 3) - var(--column-spacing)); }
.bb-1-4 { width: calc(25% - var(--column-spacing)); }
.bb-1-5 { width: calc(20% - var(--column-spacing)); }
.bb-1-6 { width: calc((100% / 6) - var(--column-spacing)); }
.bb-2-3 { width: calc((100% / 3 * 2) - var(--column-spacing)); }
.bb-2-5 { width: calc(40% - var(--column-spacing)); }
.bb-3-4 { width: calc(75% - var(--column-spacing)); }
.bb-3-5 { width: calc(60% - var(--column-spacing)); }
.bb-4-5 { width: calc(80% - var(--column-spacing)); }
.bb-5-6 { width: calc((100% / 6 * 5) - var(--column-spacing)); }

.bb-fill { /* Force column on next line */
	width: 100%;
	max-height: 0;
	margin: 0;
}

/* Background images */
.bb-container[class*='bb-bg'],
[class*='bb-columns'] > [class*='bb-bg'] { /* Classes containing 'bb-bg' */
    background-color: var(--color-3);
    background-size: cover;
    background-position: center;
    display: -webkit-flex; display: -ms-flex; display: flex;
    -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column;
    padding: var(--column-spacing);
}

/* .bb-container_fw [class*='bb-columns'] > [class*='bb-bg'] { padding: var(--column-spacing); } */

/*
.bb-pl0 [class*='bb-columns'] > [class*='bb-bg']:first-of-type { padding-left: var(--container-spacing); }
.bb-pr0 [class*='bb-columns'] > [class*='bb-bg']:last-of-type { padding-right: var(--container-spacing); } */

.bb-bg_xl {
    height: calc((1vh * var(--bg-img-xl)) - var(--header-height));
    min-height: calc(var(--bg-img-xl) * 3px);
    max-height: 1200px;
}

.bb-bg_l {
    height: calc((1vh * var(--bg-img-l)) - var(--header-height));
    min-height: calc(var(--bg-img-l) * 3px);
}

.bb-bg_m {
    height: calc((1vh * var(--bg-img-m)) - var(--header-height));
    min-height: calc(var(--bg-img-m) * 3px);
}

.bb-bg_s {
    height: calc((1vh * var(--bg-img-s)) - var(--header-height));
    min-height: calc(var(--bg-img-s) * 3px);
}

.bb-bg_xs {
    height: calc((1vh * var(--bg-img-xs)) - var(--header-height));
    min-height: calc(var(--bg-img-xs) * 3px);
}

[class*='bb-container'] [class*='bb-bg-content'] {
    width: calc(var(--site-max-width) - (var(--container-spacing) * 2));
    max-width: 100%;
    -ms-align-self: center; align-self: center;
    margin-bottom: var(--element-spacing, 1em);
}

[class*='bb-container'] img[class*='bb-bg-content'] {
    height: unset;
    object-fit: contain;
}

.bb-container_fwl [class*='bb-bg-content'] {
    width: calc(var(--site-max-width) - (var(--container-spacing) * 2) - var(--column-spacing));
    -ms-align-self: flex-end; align-self: flex-end;
}

.bb-container_fwr [class*='bb-bg-content'] {
    width: calc(var(--site-max-width) - (var(--container-spacing) * 2) - var(--column-spacing));
    -ms-align-self: flex-start; align-self: flex-start;
}

[class*='bb-container'] .bb-bg-content_top { margin-top: 0; margin-bottom: var(--element-spacing, 1em); }
[class*='bb-container'] .bb-bg-content_center { margin-top: auto; margin-bottom: var(--element-spacing, 1em); }
[class*='bb-container'] .bb-bg-content_center:last-child { margin-bottom: auto; }
[class*='bb-container'] .bb-bg-content_center:first-child ~ .bb-bg-content_center { margin-top: 0; }
[class*='bb-container'] .bb-bg-content_center:only-child { margin-top: auto; margin-bottom: auto; }
[class*='bb-container'] .bb-bg-content_bottom { margin-top: 0; margin-bottom: var(--element-spacing, 1em); }
[class*='bb-container'] .bb-bg-content_bottom:first-child { margin-top: auto; }
[class*='bb-container'] .bb-bg-content_bottom:last-child { margin-bottom: 0; }
[class*='bb-container'] .bb-bg-content_top + .bb-bg-content_center,
[class*='bb-container'] .bb-bg-content_top ~ .bb-bg-content_bottom,
[class*='bb-container'] .bb-bg-content_center ~ .bb-bg-content_bottom { margin-top: auto; }
[class*='bb-container'] .bb-bg-content_center ~ .bb-bg-content_center,
[class*='bb-container'] .bb-bg-content_bottom ~ .bb-bg-content_bottom { margin-top: 0; }

/***********/
/* Header */
/*********/

.bb-header {
    color: var(--header-color);
    background-color: var(--header-background-color);
    width: 100%;
    height: var(--header-height);
    position: fixed;
    top: 0;
}
.admin-bar .bb-header { top: 32px; }

/* .bb-header + .ct-inner-content > section:first-child { margin-top: var(--header-height); } */

.bb-header > [class*='bb-container'] {
    display: -webkit-flex; display: -ms-flex; display: flex;
    flex-wrap: nowrap;
    -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column;
    -ms-align-items: flex-start; align-items: flex-start;
    justify-content: center;
    margin-bottom: 0;
}

.bb-header > [class*='bb-container'] > [class*='bb-columns'] {
    height: inherit;
    margin-bottom: 0;
}

.bb-header > [class*='bb-container'] > [class*='bb-columns']::after {
    content: "";
    background-color: var(--header-background-color);
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 9998;
}

.bb-header [class*='bb-header'] {
    margin-bottom: 0;
    height: inherit;
    display: -webkit-flex; display: -ms-flex; display: flex;
    -ms-align-items: center; align-items: center;
    z-index: 10000;
}

.bb-header .bb-logo-anchor {
    display: -webkit-flex; display: -ms-flex; display: flex;
    padding: .5rem;
    margin: -.5rem;
}

.bb-logo {
    width: auto;
    height: var(--logo-height);
    z-index: 9999;
}

.bb-header_middle {
    position: absolute;
    transform: translateX(-50%);
    left: 50%;
}

.bb-header .bb-header_right {
    margin: 0 0 0 auto;
    z-index: 9999;
}

/* body.bb-menu-modal-open .bb-header-menu { display: none; } */

body.bb-menu-modal-open .bb-header-menu { opacity: 0; visibility: hidden; }
body:not(.bb-menu-modal-open) .bb-header-menu  { transition: opacity .25s; }

.bb-header-menu ul.oxy-nav-menu-list { display: -webkit-flex; display: -ms-flex; display: flex; }
.bb-header-menu ul.oxy-nav-menu-list li { margin-right: var(--column-spacing); }
.bb-header-menu ul.oxy-nav-menu-list li a {
	background-color: var(--header-link-background-color);
	color: var(--header-link-color);
	line-height: var(--header-height);
	padding: 0 calc(var(--column-spacing) / 2);
	margin: 0 calc(var(--column-spacing) / -2);
}

.bb-header-menu ul.oxy-nav-menu-list li a:hover {
	background-color: var(--header-link-background-color-hover);
	color: var(--header-link-color-hover);
}

.bb-header-menu ul.oxy-nav-menu-list li .sub-menu {
    margin-left: calc(var(--column-spacing) / -2);
    background-color: var(--header-background-color);
    transition: opacity .2s;
}

.bb-header-menu ul.oxy-nav-menu-list li .sub-menu li { margin-right: 0; }
.bb-header-menu ul.oxy-nav-menu-list li .sub-menu li a {
    margin: 0;
    line-height: calc(var(--header-height) * .8);
}

/* Hamburger text & icon */
.bb-hamburger {
    display: -webkit-flex; display: -ms-flex; display: flex;
    -ms-align-items: center; align-items: center;
    height: var(--header-height);
    padding: 0 calc(var(--column-spacing) / 2);
    margin: 0 calc(var(--column-spacing) / -2);
    cursor: pointer;
    position: relative;
    z-index: 9999;
    transition: background-color .2s .075s, color .2s .075s;
}

.bb-hamburger:hover {
    background-color: var(--header-link-background-color-hover);
    color: var(--header-link-color-hover);
}

.bb-hamburger-text {
    color: var(--hamburger-text-color);
    margin-right: calc(var(--column-spacing) / 2);
    line-height: var(--header-height);
}
.bb-hamburger:hover .bb-hamburger-text { color: var(--hamburger-text-color-hover); }

body.bb-menu-modal-open .bb-hamburger-text::after { content: var(--hamburger-text-close); }
body.bb-menu-modal-open .bb-hamburger-text span { display: none; }

.bb-hamburger-icon {
    position: relative;
    width: 1.5rem;
    height: 1rem;
}

.bb-hamburger-icon > div,
.bb-hamburger-icon > div::before,
.bb-hamburger-icon > div::after {
    content: "";
    position: absolute;
    width: inherit;
    height: 3px;
    border-radius: 1rem;
    background-color: var(--hamburger-icon-color);
    min-width: 0;
    min-height: 0;
}

.bb-hamburger:hover .bb-hamburger-icon > div,
.bb-hamburger:hover .bb-hamburger-icon > div::before,
.bb-hamburger:hover .bb-hamburger-icon > div::after { background-color: var(--hamburger-icon-color-hover); }

.bb-hamburger-icon > div {
    top: .4rem;
    transition-timing-function: cubic-bezier(.55,.055,.675,.19);
    transition-duration: 75ms;
}

.bb-hamburger-icon > div::before {
    top: -.4rem;
    transition: top 75ms ease .12s, opacity 75ms ease;
}

.bb-hamburger-icon > div::after {
    bottom: -.4rem;
    transition: bottom 75ms ease .12s, transform 75ms cubic-bezier(.55,.055,.675,.19);
}

body.bb-menu-modal-open .bb-hamburger-icon > div {
    transition-delay: .12s;
    transition-timing-function: cubic-bezier(.215,.61,.355,1);
    transform: rotate(45deg);
}

body.bb-menu-modal-open .bb-hamburger-icon > div::before {
    top: 0;
    transition: top 75ms ease, opacity 75ms ease .12s;
    opacity: 0;
}

body.bb-menu-modal-open .bb-hamburger-icon > div::after {
    bottom: 0;
    transition: bottom 75ms ease, transform 75ms cubic-bezier(.215,.61,.355,1) .12s;
    transform: rotate(-90deg);
}

body:not(.bb-menu-modal-open) .bb-hamburger:hover .bb-hamburger-icon > div::before { top: -.5rem; }
body:not(.bb-menu-modal-open) .bb-hamburger:hover .bb-hamburger-icon > div::after { bottom: -.5rem; }
body.bb-menu-modal-open .bb-hamburger:hover .bb-hamburger-icon > div { transform: rotate(45deg) scale(.9);; }
body.bb-menu-modal-open .bb-hamburger:hover .bb-hamburger-icon > div::after { transform: rotate(-90deg); }

/* Menu modal */
.bb-menu-modal {
    overflow-y: auto;
    color: var(--modal-color);
    background-color: var(--modal-background-color);
    position: fixed;
    padding-top: calc(var(--header-height) + var(--global-spacing));
    padding-bottom: var(--global-spacing);
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 9998;
    transform: translateY(-100%);
    transition: transform .8s cubic-bezier(0.16, 1, 0.3, 1);
    -ms-overflow-style: none; /* Hide scrollbar for IE and Edge */
}

.bb-menu-modal::-webkit-scrollbar { display: none; } /* Hide scrollbar for Chrome, Safari and Opera */

body.admin-bar .bb-menu-modal { padding-top: calc(var(--header-height) + var(--global-spacing) + 32px); }

body.bb-menu-modal-open .bb-menu-modal,
.bb-menu-modal.bb-visible { transform: translateY(0); }
.bb-menu-modal.bb-visible .bb-columns > div { opacity: 1 !important; }

body:not(.bb-menu-modal-open) .bb-menu-modal .bb-columns > div { opacity: 0; transition: opacity 0s; transition-delay: 0s; }

body.bb-menu-modal-open .bb-menu-modal .bb-columns > div { opacity: 1; transition: opacity .5s; }
body.bb-menu-modal-open .bb-menu-modal .bb-columns > div:nth-of-type(1){ transition-delay: calc(var(--menu-modal-animation-delay) * 1); }
body.bb-menu-modal-open .bb-menu-modal .bb-columns > div:nth-of-type(2){ transition-delay: calc(var(--menu-modal-animation-delay) * 2); }
body.bb-menu-modal-open .bb-menu-modal .bb-columns > div:nth-of-type(3){ transition-delay: calc(var(--menu-modal-animation-delay) * 3); }
body.bb-menu-modal-open .bb-menu-modal .bb-columns > div:nth-of-type(4){ transition-delay: calc(var(--menu-modal-animation-delay) * 4); }
body.bb-menu-modal-open .bb-menu-modal .bb-columns > div:nth-of-type(5){ transition-delay: calc(var(--menu-modal-animation-delay) * 5); }
body.bb-menu-modal-open .bb-menu-modal .bb-columns > div:nth-of-type(6){ transition-delay: calc(var(--menu-modal-animation-delay) * 6); }
body.bb-menu-modal-open .bb-menu-modal .bb-columns > div:nth-of-type(7){ transition-delay: calc(var(--menu-modal-animation-delay) * 7); }

.bb-menu-modal [class*='bb-container'] { height: unset; }

.bb-menu-modal ul.oxy-nav-menu-list li a {
	background-color: var(--modal-link-background-color);
	color: var(--modal-link-color);
	line-height: 2;
	padding: 0 .5rem;
	margin: 0 -.5rem;
}

.bb-menu-modal ul.oxy-nav-menu-list li a:hover {
	background-color: var(--modal-link-background-color-hover);
	color: var(--modal-link-color-hover);
}

/******************/
/* Media queries */
/****************/

@media only screen and (max-width: 960px){
    .bb-1-2, .bb-2-3, .bb-3-4, .bb-3-5, .bb-4-5, .bb-5-6 { width: calc(100% - var(--column-spacing)); }
    .bb-1-3, .bb-1-4, .bb-2-5 { width: calc(50% - var(--column-spacing)); }
    .bb-1-5, .bb-1-6 { width: calc((100% / 3) - var(--column-spacing)); }
    .bb-dn-1 { display: none !important; }

    .bb-stretch > * { width: calc(100% - var(--column-spacing)); }
    .bb-columns_reverse { -webkit-flex-direction: column-reverse; -ms-flex-direction: column-reverse; flex-direction: column-reverse; }
}

@media only screen and (max-width: 782px) {
    body.admin-bar .bb-menu-modal { padding-top: calc(var(--header-height) + var(--global-spacing) + 46px); }
    body.admin-bar .bb-header { top: 46px; }
}

@media only screen and (max-width: 768px){
    .bb-1-5, .bb-1-6 { width: calc(50% - var(--column-spacing)); }
    .bb-dn-2 { display: none !important; }

    .bb-stretch > * { width: calc(100% - var(--column-spacing)); }
}

@media only screen and (max-width: 640px){
    .bb-1-3, .bb-1-4, .bb-2-5 { width: calc(100% - var(--column-spacing)); }
    .bb-dn-3 { display: none !important; }

    .bb-stretch > * { width: calc(100% - var(--column-spacing)); }
}

@media only screen and (max-width: 600px){ .bb-header-menu { display: none; } }

@media only screen and (max-width: 520px){
    .bb-1-5, .bb-1-6 { width: calc(100% - var(--column-spacing)); }
    .bb-dn-4 { display: none !important; }

    .bb-stretch > * { width: calc(100% - var(--column-spacing)); }
}

@media only screen and (max-width: 320px){ .bb-hamburger-text { display: none; } }
