/*****************************************************************************************************
* Editing Module: Beaver Builder CSS
******************************************************************************************************/

/*
Edit Mode
---------------------------------------------------------------------------------------------------- */

/* Restrict User Access
--------------------------------------------- */

/* Settings */
/* body:not(.bub-role-administrator) .fl-builder-settings a[href="#fl-builder-settings-tab-style"],  */
body:not(.bub-role-administrator) .fl-builder-settings a[href="#fl-builder-settings-tab-advanced"] { 
  display: none; 
}

/* Main Menu */
body:not(.bub-role-administrator) .fl-builder--menu-item[data-event="showLayoutSettings"],
body:not(.bub-role-administrator) .fl-builder--menu-item[data-event="showGlobalSettings"], 
body:not(.bub-role-administrator) .fl-builder--menu-item[data-event="showGlobalSettings"] + hr {
  display: none;
}

/* Right Panel */
body:not(.bub-role-administrator) .fl-builder-panel button[data-tab="templates"],
body:not(.bub-role-administrator) .fl-builder-node-template-edit,
body:not(.bub-role-administrator) .fl-builder-node-template-delete {
  display: none;
}


/* Hide ACF Fields
--------------------------------------------- */

.fl-builder .acf-field.hide-in-beaver-builder {
  display: none;
}


/* WP Grid Builder
--------------------------------------------- */

.bubfl-edit .wp-grid-builder {
  opacity: 1;
}


/* Mixed
--------------------------------------------- */

.bubfl-edit .site-header {
  /* Don't hide BB buttons behind header. */
  z-index: 0;
}


/*
Layout Defaults
---------------------------------------------------------------------------------------------------- */

/* Layout: Container
--------------------------------------------- */

@media screen and (max-width: 1000px) {

  .fl-builder:not(.bub-full) .content {
    margin: 0 auto;
    max-width: 640px;
  }
}


/* Layout: Rows
--------------------------------------------- */

/* Shapes */

/* Fix grey line (rendering artefact). */
.fl-builder-shape-layer {
  margin-top: -1px;
  margin-bottom: -1px;
}


/* Layout: Columns / Modules
--------------------------------------------- */

/* Columns */

.fl-col {
  margin-left: 0;
  margin-right: 0;
}

.fl-col-small,
.bubfl-col {
  max-width: 100% !important;
}

.bubfl-col-2:nth-child(1) {
  padding-right: 2.5%;
}

.bubfl-col-2:nth-child(2) {
  padding-left: 2.5%;
}

@media screen and (max-width: 1000px) {

  .bubfl-col,
  .bubfl-col-2  {
    float: none !important;
    margin-left:  0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    width: 100% !important;
  }
}

/* Modules */

.bubfl-module--margin {
  margin-top: 25px;
}


/* Layout: Mixed
--------------------------------------------- */
  
/* Prevent footer being overlapped by Beaver Builder */
.site-footer {
  position: relative;
  z-index: 1;
}

/* Remove style paragraph margins. */
p:has(style[id^="fl-builder-layout-"][id$="-inline-css"]) {
  margin: 0;
}


/*
Module Defaults
---------------------------------------------------------------------------------------------------- */

/* Modules: Common
--------------------------------------------- */

:where(.bubfl-row-modbox) .fl-module-content {
  margin-bottom: 10px;
}

.fl-module-content a:hover {
  /* Overwrite UABB style. */
  text-decoration: underline;
}


/* Modules: Heading
--------------------------------------------- */

.fl-module-heading {
  margin-bottom: 1.25rem;
}

.fl-module-heading .fl-module-content {
  margin-bottom: 0;
}


/* Modules: Rich Text (Editor)
--------------------------------------------- */

.fl-module-rich-text {
  margin-bottom: 10px;
}

.bubfl-textbox {
  max-width: 640px;
}


/* Modules: Photo (Image)
--------------------------------------------- */

.fl-module-photo:not(:last-child) {
  margin-bottom: 25px;
}

.fl-photo-content {
  width: 100%;
}

.fl-photo-content img {
  width: 100%;
}

.fl-photo-caption {
  font-size: 12.5px;
}

.fl-photo-caption-below {
  padding: 5px 3px 20px;
}

/* Display Full Caption */

/*
.fl-photo-caption.fl-photo-caption-below,
.fl-photo-caption.fl-photo-caption-hover {
  text-align: left;
  text-overflow: initial;
  white-space: normal;
}
*/


/* Modules: Button
--------------------------------------------- */

.fl-module-button a.fl-button {
  border-radius: 0;
  border: none;
}

  /* Allow for correct display of text decoration underline 
  in Firefox, Edge and IE */

.fl-button-has-icon .fl-button-text {
  vertical-align: initial !important;
}


/* Modules: Slideshow
--------------------------------------------- */

/* Slideshow Module: Set image height to auto. */

.fl-module-slideshow.bubfl-height-auto .fl-slideshow,
.fl-module-slideshow.bubfl-height-auto .fl-slideshow-frame,
.fl-module-slideshow.bubfl-height-auto .fl-slideshow-image,
.fl-module-slideshow.bubfl-height-auto .fl-slideshow-image-img {
  height: auto !important;
  position: relative !important;
    top: 0 !important;
}


/*
Global Rows / Modules
---------------------------------------------------------------------------------------------------- */

/* Galleries Menu
--------------------------------------------- */

.bubfl-row-menu-galleries {
  margin: 10px 0 0;
}
.bubfl-row-menu-galleries .fl-module-content {
  margin: 0;
}

.bubfl-row-menu-galleries .fl-menu ul {
  display: flex;
  flex-flow: row wrap;
  margin: -3px;
}

.bubfl-row-menu-galleries .fl-menu li {
  list-style-type: none;
  margin: 3px;
  text-align: center;
  white-space: nowrap;
}

.bubfl-row-menu-galleries .fl-menu a {
  background: #eee;
  border: 1px solid #e5e5e5;
  font-size: 0.85rem;
  padding: 0.5em 1em 0.4em;
  text-decoration: none;
}

.bubfl-row-menu-galleries .fl-menu a:hover {
  background: #ddd;
  border: 1px solid #d5d5d5;
  color: inherit;
}


/*
Row Layouts (add class to row)
---------------------------------------------------------------------------------------------------- */

/* Box Layouts
--------------------------------------------- */

/* Common Box Styles */

:where(.bubfl-row-colbox, .bubfl-row-modbox) .fl-row-content > .fl-col-group > .fl-col:nth-child(1) {
  padding-right: 10px;
}

:where(.bubfl-row-colbox, .bubfl-row-modbox) .fl-row-content > .fl-col-group > .fl-col:nth-child(2) {
  padding-left: 10px; 
}

.page .entry-content :is(.bubfl-row-rowbox, .bubfl-row-colbox, .bubfl-row-modbox) h2 {
  font-size: 1.22rem;
}

.page .entry-content :is(.bubfl-row-rowbox, .bubfl-row-colbox, .bubfl-row-modbox) h3 {
  font-size: 1.04rem;
}

.page .entry-content :is(.bubfl-row-rowbox, .bubfl-row-colbox, .bubfl-row-modbox) h4 {
  font-size: 0.9rem;
}

@media screen and (max-width: 1000px) {

  :is(.bubfl-row-rowbox, .bubfl-row-colbox, .bubfl-row-modbox) {
    margin-left: -10px;
    margin-right: -10px;
  }

  :where(.bubfl-row-colbox, .bubfl-row-modbox) .fl-row-content > .fl-col-group > .fl-col:nth-child(n) {
    padding: 0px;
  }
}

/* Row Box */

.bubfl-row-rowbox .fl-row-content {
  box-shadow: 1px 1px 1px rgba(0,0,0,0.04);
}

.bubfl-row-rowbox:not(.bubfl-fill) .fl-row-content {
  background: #fff;
  padding: 20px 25px;
}

@media screen and (max-width: 1000px) {

  .bubfl-row-rowbox:not(.bubfl-fill) .fl-row-content {
    padding: 20px;
  }
}

/* Column Box */

.bubfl-row-colbox:last-child {
  margin-bottom: 25px;
}

.bubfl-row-colbox .fl-row-content > .fl-col-group > .fl-col > .fl-col-content {
  box-shadow: 1px 1px 1px rgba(0,0,0,0.04);
}

.bubfl-row-colbox:not(.bubfl-fill) .fl-row-content > .fl-col-group > .fl-col > .fl-col-content {
  background: #fff;
  padding: 20px;
}

@media screen and (max-width: 1000px) {

  .bubfl-row-colbox .fl-row-content > .fl-col-group > .fl-col:nth-child(1) {
    margin-bottom: 20px; 
  }
}

/* Module Box */

.bubfl-row-modbox:last-child {
  margin-bottom: 10px;
}

.bubfl-row-modbox .fl-rich-text {
  box-shadow: 1px 1px 3px rgba(0,0,0,0.05);
}

.bubfl-row-modbox:not(.bubfl-fill) .fl-rich-text {
  background: #fff;
  padding: 20px;
}

.bubfl-row-modbox .fl-rich-text p:last-child {
  margin-bottom: 0;
}


/*
Saved Columns (add class to parent column)
---------------------------------------------------------------------------------------------------- */

/* Image-Text / Text-Image / Text-Text
--------------------------------------------- */

.bubfl-tp-imagetext {
  margin-top: 60px;
}

.bubfl-tp-imagetext .fl-module-heading {
  margin: 0 !important;
}

.bubfl-tp-imagetext .fl-module-heading .fl-heading {
  margin: 0 auto 1.6em !important;
  max-width: 650px;
  padding: 0 !important;
  text-align: center !important;
}

.bubfl-tp-imagetext .fl-col:nth-child(1) {
  padding-right: 25px;
}

.bubfl-tp-imagetext .fl-col:nth-child(2) {
  padding-left: 25px;
}

.bubfl-tp-imagetext .fl-col .fl-module-heading {
  margin-bottom: 10px;
}

.bubfl-tp-imagetext .fl-col .fl-module-heading .fl-heading {
  font-size: 1.25rem;
  margin: 0 0 0px !important;
  padding: 0 !important;
  text-align: left;
}

.bubfl-tp-imagetext .fl-module-rich-text .fl-module-content {
  padding: 0 !important;
  margin: 0 !important;
}

.bubfl-tp-imagetext .fl-module-rich-text h2,
.bubfl-tp-imagetext .fl-module-rich-text h3 {
  font-size: 1.25rem;
  margin: 0 0 10px !important;
  text-align: left !important;
}

.bubfl-tp-imagetext .fl-module-photo {
  margin-top: 5px;
}

.bubfl-tp-imagetext .fl-col:nth-child(2) .fl-photo-caption-below {
  text-align: right;
}

@media screen and (max-width: 1000px) {

  .bubfl-tp-imagetext {
    margin-top: 40px;
  }

  .bubfl-tp-imagetext .fl-module-heading .fl-heading {
    margin: 0 0 1em !important;
    text-align: left !important;
  }

  .bubfl-tp-imagetext .fl-col:nth-child(1),
  .bubfl-tp-imagetext .fl-col:nth-child(2) {
    padding: 0px;
  }

  .bubfl-tp-imagetext .fl-col:nth-child(1) .fl-module-rich-text {
    margin-top: -5px;
  }

  .bubfl-tp-imagetext .fl-col:nth-child(2) .fl-module-rich-text {
    margin-top: 15px;
  }

  .bubfl-tp-imagetext .fl-col:nth-child(1) .fl-module-photo {
    margin-bottom: 10px; 
  }

  .bubfl-tp-imagetext .fl-module-photo {
    margin-top: 0;
  }

  .bubfl-tp-imagetext .fl-module-photo img {
    max-height: 480px;
    width: auto;
  }

  .bubfl-tp-imagetext .fl-photo-caption-below {
    padding: 0;
  }

  .bubfl-tp-imagetext .fl-col:nth-child(2) .fl-photo-caption-below {
    text-align: left;
  }
}


/*
Saved Modules (add class to module)
---------------------------------------------------------------------------------------------------- */

/* Rich Text: Zweispaltiger Text
--------------------------------------------- */

.bubfl-tp-autocol {
  margin-top: 60px !important;
}

.bubfl-tp-autocol h2, 
.bubfl-tp-autocol h3 {
  column-span: all !important;
  margin: 0 auto 1.55em !important;
  max-width: 650px !important;
  text-align: center !important;
}

.bubfl-tp-autocol .fl-rich-text {
  columns: 2 340px !important;
  column-gap: 50px !important;
}

@media screen and (max-width: 1000px) {

  .bubfl-tp-autocol {
    margin-top: 40px !important;
  }

  .bubfl-tp-autocol h2,
  .bubfl-tp-autocol h3 {
    margin: 0 0 0.6em !important;
    max-width: 650px !important;
    text-align: left !important;
  }
}


/*
Addons
---------------------------------------------------------------------------------------------------- */

/* PowerPack
--------------------------------------------- */

body.admin-bar {
  overflow-x: visible;
  overflow-y: visible;
}