/*
 Theme Name:   GeneratePress Child
 Theme URI:    https://generatepress.com
 Description:  Default GeneratePress child theme
 Author:       Tom Usborne
 Author URI:   https://tomusborne.com
 Template:     generatepress
 Version:      0.1
*/
.main-navigation, .site-header {
  background-color: var(--contrast);
}

/*############# WIREFRAMES STYLES #################*/

/************ CONTAINER *************/
.gb-container-outer-dark {
  background-color: var(--base-2);
}
.gb-container-outer-light {
  
}
.gb-container-inner {
  max-width: 1200px;
  padding: 140px 32px;
  margin-right: auto;
  margin-left: auto;
}
.gb-container-inner-xl {
  max-width: 1200px;
  padding: 220px 32px;
  margin-right: auto;
  margin-left: auto;
}

/********** HEADLINES **************/
.gb-headline-preheadline {
  font-size: 14px;
  line-height: 1em;
  letter-spacing: .1em;
  font-weight: 700;
	margin-bottom: -3px;
  text-transform: uppercase;
  color: var(--contrast-2);
}
.gb-headline-preheadline-xl {
  font-size: 14px;
  line-height: 1em;
  letter-spacing: .1em;
  font-weight: 700;
  text-transform: uppercase;
  margin-bottom: 30px;
  color: var(--contrast-2);
}
.gb-headline-bottom-margin {
  margin-bottom: 40px;
}
.gb-headline-small-bold {
  font-weight: 600;
	font-size: 17px;
}

/********** BUTTONS ***************/

/********** Button Primary ********/
a.gb-button-primary {
  display: inline-flex;
  align-items: center;
  font-size: 15px;
  letter-spacing: .1em;
  font-weight: 700;
  text-transform: uppercase;
  padding: 10px 18px;
  border: 3px solid var(--accent);
  background-color: var(--accent);
  color: var(--base-3);
}
a.gb-button-primary:hover, 
a.gb-button-primary:active, 
a.gb-button-primary:focus {
  border-color: var(--accent);
  background-color: transparent;
  color: var(--accent);
}
a.gb-button-primary .gb-icon {
  padding-left: .5em;
}
a.gb-button-primary {
  transition: all .5s ease;
}

/********** Primary Center ********/

a.gb-button-primary-center {
  display: flex;
  align-items: center;
  justify-content: center;
  width: max-content;
  font-size: 15px;
  letter-spacing: .1em;
  font-weight: 700;
  text-transform: uppercase;
  padding: 10px 18px;
  margin-right: auto;
  margin-left: auto;
  border: 3px solid var(--accent);
  background-color: var(--accent);
  color: var(--base-3);
}
a.gb-button-primary-center:hover, 
a.gb-button-primary-center:active, 
a.gb-button-primary-center:focus {
  border-color: var(--accent);
  background-color: transparent;
  color: var(--accent);
}
a.gb-button-primary-center .gb-icon {
  padding-left: .5em;
}
a.gb-button-primary-center {
  transition: all .5s ease;
}

/********** Button Secondary ********/

a.gb-button-secondary {
  display: inline-flex;
  align-items: center;
  font-size: 15px;
  letter-spacing: .1em;
  font-weight: 700;
  text-transform: uppercase;
  padding: 10px 18px;
  border: 3px solid var(--accent);
  color: var(--accent);
}
a.gb-button-secondary:hover, 
a.gb-button-secondary:active, 
a.gb-button-secondary:focus {
  border-color: var(--accent);
  background-color: var(--accent);
  color: var(--base-3);
}
a.gb-button-secondary .gb-icon {
  padding-left: .5em;
}
a.gb-button-secondary {
  transition: all .5s ease;
}

/********** Secondary Center ********/

a.gb-button-secondary-center {
  display: flex;
  align-items: center;
  justify-content: center;
  width: max-content;
  font-size: 15px;
  letter-spacing: .1em;
  font-weight: 700;
  text-transform: uppercase;
  padding: 10px 18px;
  margin-right: auto;
  margin-left: auto;
  border: 3px solid var(--accent);
  color: var(--accent);
}
a.gb-button-secondary-center:hover, 
a.gb-button-secondary-center:active, a.gb-button-secondary-center:focus {
  border-color: var(--accent);
  background-color: var(--accent);
  color: var(--base-3);
}
a.gb-button-secondary-center .gb-icon {
  padding-left: .5em;
}
a.gb-button-secondary-center {
  transition: all .5s ease;
}

/**** Button Small ********/

a.gb-button-small {
  display: inline-flex;
  align-items: center;
  font-size: 13px;
  letter-spacing: .1em;
  font-weight: 700;
  text-transform: uppercase;
  padding: 4px 12px;
  border: 3px solid var(--accent);
  background-color: transparent;
  color: var(--accent);
}
a.gb-button-small:hover, 
a.gb-button-small:active, 
a.gb-button-small:focus {
  border-color: var(--accent);
  background-color: var(--accent);
  color: var(--base-3);
}
a.gb-button-small {
  transition: all .5s ease;
}
/****** Button underline *******/

a.gb-button-underline {
  display: inline-flex;
  align-items: center;
  font-size: 15px;
  letter-spacing: .1em;
  font-weight: 700;
  text-transform: uppercase;
  padding-bottom: 2px;
  border-bottom: 1px solid var(--accent);
  color: var(--accent);
}
a.gb-button-underline:hover, 
a.gb-button-underline:active, 
a.gb-button-underline:focus {
  border-bottom: 1px solid transparent;
}
a.gb-button-underline .gb-icon {
  padding-left: .5em;
}
.gb-button-underline {
  transition: all .5s ease;
}

/*##################### Fluent Forms ############################*/

/* label style */
.fluentform .frm-fluent-form .ff-el-input--label {
  font-size: 14px;
  font-weight: 700;
  color: var(--contrast-3);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
/* field style */
.fluentform .frm-fluent-form .ff-el-form-control {
  background-color: var(--base-3);
  color: var(--contrast-3);
  border: 3px solid var(--base-3);
  border-radius: 0px;
	font-size: 15px;
	line-height: 1.5em;
	padding: 12px 18px;
}
/* focus field style */
.fluentform .frm-fluent-form .ff-el-form-control:focus {
  border: 3px solid var(--base);
  outline: none;
}
/* placeholder text style */
.fluentform .frm-fluent-form .ff-el-form-control::placeholder {
  color: var(--contrast-3);
  font-size: 15px;
}
/* placeholder focus text style */
.fluentform .frm-fluent-form .ff-el-form-control:focus::placeholder {
  color: var(--base-3);
}
/* button style */
.fluentform .frm-fluent-form .ff-btn-submit {
  background-color: var(--accent);
  color: var(--base-3);
  opacity: 100%;
  border: 3px solid var(--accent);
  border-radius: 0px;
  font-size: 15px;
  font-weight: 700;
  padding: 12px 18px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  line-height: 1.5em;
  transition: all 0.1s ease 0s;
}
/* button hover style */
.fluentform .frm-fluent-form .ff-btn-submit:hover {
  background-color: transparent;
  border: 3px solid var(--accent);
  color: var(--accent);
}
/* mobile full width button */
@media (max-width: 768px) {
  .fluentform .frm-fluent-form .ff-btn-submit {
    width: 100%;
  }
}
/* form error text style */
.fluentform .ff-el-is-error .text-danger {
  font-size: 15px !important;
  color: var(--contrast-2);
}
/* success message style */
.fluentform .ff-message-success {
  position: relative;
  border: none;
  box-shadow: none;
  font-size: 16px;
  font-weight: 700;
  color: var(--contrast-2);
  padding: 0px;
  margin-top: 10px;
}


/*################## Bricks Inspired Patterns #################*/

/*** Pattern 02 ***/

/* Container mit Schatten. Nachteil: lassen sich nicht verlinken */
.shadow-container {
  display: flex;
  align-items: center;
  column-gap: 24px;
  position: relative;
  padding: 24px;
  border-radius: 8px;
  background-color: #fff;
  box-shadow: 0 0 30px -10px rgba(94,56,232,.2);
  transition: all .4s ease;
}
.shadow-container:hover {
  box-shadow: rgba(94, 56, 232, 0.3) 0px 0px 30px -5px;
  transform: translate3d(0px, -4px, 0px); 
}


/* Also: Button mit Schatten. Lässt sich verlinken, aber nur sehr umständlich stylen */
.shadow-button {
  display: flex;
  align-items: center;
  column-gap: 24px;
  position: relative;
  padding: 24px;
  border-radius: 8px;
  background-color: #fff;
  box-shadow: 0 0 30px -10px rgba(94,56,232,.2);
  transition: all .4s ease;
}
.shadow-button:hover {
  box-shadow: rgba(94, 56, 232, 0.3) 0px 0px 30px -5px;
  transform: translate3d(0px, -4px, 0px); 
}
.shadow-button span.gb-button-text {
  line-height: 30px;
  font-size: 16px;
  color: var(--contrast-3);
}
.shadow-button span.gb-button-text::first-line {
  font-weight: 600;
  font-size: 18px;
  color: #5a56c2;
}

/*################## Bricks Design Set: Card 11 ######################*/

[class*="brxe-"] {
  max-width: 100%;
}

.card-11__wrapper.brxe-div {
  position: relative;
  display: flex;
  min-height: 150px;
  border: 0px solid #ccc;
}

@media (max-width: 768px) {
  .card-11__wrapper.brxe-div {
    min-height: 120px;
  }
}

.card-11__wrapper__number.brxe-text-basic {
  position: absolute;
  font-size: 8rem;
  line-height: 1;
  color: #dedede;
  letter-spacing: -5px;
  top: -30px;
  left: -20px;
}

.card-11__wrapper__heading.brxe-heading {
  position: relative;
  z-index: 10;
  font-size: 28px;
  font-weight: 700;
  line-height: 1.2;
  margin-top: 1.5rem;
}

/* Zeilenabstand des Fliesstextes erhöhen, wenn mobile*/
@media (max-width: 768px) {
  .card-11__text {
	  margin-bottom: 60px;
  }
}

/*################## Bricks Design Set: Footer ######################*/



#brxe-radial-bg {
  background-image: radial-gradient(circle at 50% 180%,#075471 0%,#0d2233 50%,#0d2233 100%);
	position: relative;
	min-height: 300px;
}

/*################## Bricks Design Set: Testimonial 3 ######################*/

.testimonial-3-box-shadow {
	box-shadow: rgba(50, 50, 93, 0.25) 0px 30px 60px -12px, rgba(0, 0, 0, 0.3) 0px 18px 36px -18px;
}


/*##################  GB Pattern-Library ######################*/


/*** Sections ***/
.gbp-section {
    /*padding: 8.75rem 30px;*/
}
@media (max-width: 1024px) {
    /*.gbp-section {
        padding: 6rem 30px;
    }*/
}
@media (max-width: 767px) {
    /*.gbp-section {
        padding: 4rem 20px;
    }*/
}
.gbp-section__inner {
    margin-left: auto;
    margin-right: auto;
	padding: 140px 32px;
    position: relative;
    z-index: 1;
}
.gbp-section__headline {
    margin-bottom: 1.5rem;
}
@media (max-width: 767px) {
    .gbp-section__headline {
        margin-bottom: 1.25rem;
    }
}
.gbp-section__text {
    font-size: 1.125rem;
}
.gbp-section__tagline {
    font-size: 1rem;
    font-weight: 600;
    margin-bottom: 0.75rem;
}

/*** Cards ***/
.gbp-card {
    padding: 1.5rem;
}
@media (max-width: 767px) {
    .gbp-card {
        padding: 1.25rem;
    }
}
.gbp-card__title {
    font-size: 1.25rem;
    margin-bottom: 0.5rem;
}
.gbp-card__meta-text {
    font-size: 0.875rem;
    margin-bottom: 0.5rem;
}
.gbp-card--border {
    border: 1px solid #000000;
}

/*** Buttons ***/

.gbp-button--primary {
    display: inline-flex;
    font-size: 1rem;
    padding: 0.75rem 1.5rem;
    border: 1px solid;
    background-color: #000000;
    color: #ffffff;
}
.gbp-button--primary:hover {
    background-color: #000000;
    color: #ffffff;
}
.gbp-button--secondary {
    display: inline-flex;
    font-size: 1rem;
    padding: 0.75rem 1.5rem;
    border: 1px solid #000000;
    color: currentColor;
}
.gbp-button--secondary:hover {
    color: currentColor;
}