/*
 Theme Name:   Graphical Boilerplate
 Theme URI:    https://bricksbuilder.io/
 Description:  Child Theme Graphical - Boilerplate Bricks
 Author:       Graphical
 Author URI:   https://graphical-media.com/
 Template:     bricks
 Version:      1.1
 Text Domain:  bricks
*/

/* -------
Index
-------- */

/* 
- GLOBAL STYLES
    - GRAPHICAL VARIABLES
    - GENERAL
        -Bug Fixes
    - GRAPHICAL UTILITY CLASSES
    - BUTTONS / LINKS

- LAYOUT / THEMER
    - HEADER
        - NAVIGATION
        - MOBILE NAVIGATION OPENED
    - FOOTER
    - CARDS
    - TEMPLATE


- PAGE SPECIFIC CSS
    -HOMEPAGE
    -CONTACT

- GRAVITY FORM STYLING
    - CUSTOM GRAVITY FORM STYLE

*/

/* - GLOBAL STYLES ====================================================================== */

/* --------------------
- GRAPHICAL VARIABLES
-------------------- */

:root {
    --gm-transition: var(--transition-duration) var(--transition-timing) var(--transition-delay);
}


/* --------------------
- GENERAL
-------------------- */

/* Cookie banner link */

#csconsentlink,
.csconsentlink {
    cursor: pointer;
    color: var(--base);
    transition: color var(--gm-transition);
}

.csconsentlink {
    color: var(--accent);
}

#csconsentlink:hover,
.csconsentlink:hover {
    cursor: pointer;
    color: var(--accent-hover);
}

/* WPML dev notification */
.otgs-development-site-front-end {
	display: none;
}

.skip-link, .link--skip {
    --btn-padding-inline: 8px;
}
/* Bug Fixes */

/* debordement lorsque le dropdown menu est ouvert*/
.brxe-nav-nested:not(.brx-open) .brx-nav-nested-items > .brxe-dropdown:not([data-toggle="click"]):hover::before {
    width: auto!important; /* default: width:100% */
}

/* safari mobile menu bug */
.gm-main-header__nav-nested.brx-open ul.gm-main-header__nav-items li {
    height: auto;
}


/* Spacing */

/* Remplacer par ACSS Typo/smart spacing 11-2023
    h1,h2 {
        margin-bottom: 0.5em;
    }

    h3,h4 {
        margin-bottom: 0.3em;
    } 
------------------------*/

ul {
    margin: 0;
}

address {
    font-style: normal;
}


/* --------------------
- GRAPHICAL UTILITY CLASSES
-------------------- */


/* --------------------
BUTTONS / LINKS
-------------------- */

a,
.bricks-button {
    transition: all var(--gm-transition);
}

/* END - GLOBAL STYLES ====================================================================== */

/* LAYOUT / THEMER ======================================================================  */

/* --------------------
HEADER
-------------------- */

.gm-main-header {
    --header-pad-block: var(--space-m);
    --mobile-item-min-height: 4.4rem;
}

/* NAVIGATION */

.gm-main-header__nav-items > .menu-item,
.gm-main-header__nav-nested > ul .gm-main-header__dropdown {
    height: 100%;
    display: flex;
    justify-content: center;
    font-weight: inherit;
}

.gm-main-header__nav-link a {
    white-space: nowrap;
    font-weight: inherit;
}

/* MOBILE NAVIGATION OPENED */

.gm-main-header__nav-nested.brx-open ul.gm-main-header__nav-items {
    /* start under header*/
    position: absolute;
    top: 100%;
    height: fit-content;    
    min-height: 100%;
    /* -------------- */
    padding: var(--space-m) var(--section-padding-x) 0;
    box-shadow: 0 4px 6px -3px var(--neutral-trans-60);
    gap:0;
}

.gm-main-header__nav-nested.brx-open .gm-main-header__nav-items .menu-item a {
    margin-block: auto;
}

.gm-main-header__nav-nested.brx-open ul.gm-main-header__nav-items > li {    
    border-bottom: 1px solid var(--base);
}

.gm-main-header__nav-nested.brx-open ul.gm-main-header__nav-items > li:last-child {
    border: none;
}

.gm-main-header__nav-nested.brx-open ul.gm-main-header__nav-items li {
    display: flex;
    min-height: var(--mobile-item-min-height);
}

.gm-main-header__nav-nested.brx-open .gm-main-header__dropdown .brx-submenu-toggle button[aria-expanded="true"] {
    transform: rotateZ(180deg);
}

.gm-main-header__nav-nested.brx-open .brx-submenu-toggle{
    min-height: var(--mobile-item-min-height);
}

.gm-main-header__nav-nested.brx-open .gm-main-header__dropdown.open ul {
    position: static;
}

.gm-main-header__nav-nested.brx-open .gm-main-header__dropdown__content {
    min-height: var(--mobile-item-min-height);
    padding-bottom: 1rem;
}

.gm-main-header__nav-nested.brx-open .gm-main-header__dropdown__content li {
    min-height: var(--mobile-item-min-height);
    padding-left: var(--space-m);
}

.gm-main-header__nav-nested.brx-open .gm-main-header__dropdown__content li a {
    font-weight: inherit;    
    opacity: 0.75;
}

.gm-main-header__nav-nested.brx-open .gm-main-header__dropdown__content li:hover a {
    opacity: 1;
}

/* End mobile nav opened*/

/* --------------------
FOOTER
-------------------- */


/* stacked address */
.gm-footer__address span {
    display: block;
}

/* inline address */
/* .gm-footer__address span:not(:last-child)::after {
    content: ", ";
} */

.gm-footer__legal--text span#csconsentlink,
.gm-footer__legal--text a {
    cursor: pointer;
    color: var(--base);
    transition: color var(--gm-transition);
}

.gm-footer__legal--text span#csconsentlink:hover,
.gm-footer__legal--text a:hover {
    color: var(--action);
}

/* --------------------
CARDS
-------------------- */

/* --------------------
TEMPLATE
-------------------- */

/* Page standard */

.gm-standard-page { 
    h1, h2, h3, h4, h5 {
    max-width: 100%;
    }
}

/* END - LAYOUT / THEMER ======================================================================  */

/* PAGE SPECIFIC CSS ====================================================================== */

/* Homepage */

/* Contact */
/* END - PAGE SPECIFIC CSS ====================================================================== */

/* CUSTOM GRAVITY FORM STYLING ====================================================================== */

/* GFORM VARIABLES */

:root {
    --gform-col-gap: var(--space-l);
    --gform-row-gap: var(--space-l);
    /* Input */
    --gfield-padding-block: var(--space-m);
    --gfield-padding-inline: var(--space-m);
    --gfield-padding: var(--gfield-padding-block) var(--gfield-padding-inline);
    --gfield--min-height: 4.8rem;
    --gfield-font-size: var(--text-m);/*var(--btn-font-size)*/
    --gfield-line-height: 1;
    --gfield-color: var(--base);
    --gfield-placeholder-opacity: 1;
    --gfield-border: 1px solid var(--base);
    --gfield-border--radius: 0; /*var(--btn-border-radius)*/
    --gfield-border--focus:  1px solid var(--primary);    
    --gfield-bg-color: transparent; /* default transparent */
    --gfield-bg--focus:  var(--white);
    --textarea-height: 15rem;
    --required-icn: url(./images/asterisk.svg);
    /* Submit button - Default = Acss action btn*/
    --gfield-submit--align: flex-start;
    --gfield-submit--padding: var(--btn-padding-block) var(--btn-padding-inline);
    --gfield-submit--min-width: 150px;
    --gfield-submit--bg: transparent;
    --gfield-submit--hov-bg: var(--base);
    --gfield-submit--font-size: 16px;
    --gfield-submit--color: var(--base);
    --gfield-submit--hov-color: var(--white);
    --gfield-submit--weight: 400; /* var(--btn-font-weight) */
    --gfield-submit--text-transform: uppercase; /*var(--btn-text-transform)*/
    --gfield-submit--border: 1px solid var(--base);
    --gfield-submit--border-rad: var(--gfield-border--radius); /*var(--btn-border-radius)*/
    --gfield-submit--hov-border:  1px solid var(--base);
    /* Orbital */
    --gfield-border-color: var(--base-medium);
    /* Label */
    --glabel-size: var(--text-m);
    --glabel-color: var(--base);
    --gdesc-color:  var(--base);
}


/* Gravity form defaults styles reset */

@media (max-width:641px) {
    /* Overwrite gravity form default style */
    .gform_wrapper.gravity-theme input:not([type="radio"]):not([type="checkbox"]):not([type="image"]):not([type="file"]) {
        line-height: var(--gfield-line-height)!important;
        min-height: var(--gfield--min-height)!important;
    }
}

/* Hide label over gfields but kept for screen reader */

body .gform_wrapper .gfield_label,
body .gform_wrapper .gform_heading,
body .gform_wrapper .gform_required_legend,
body .gform_wrapper .gfield--type-name legend {
    visibility: hidden;
    position: absolute;
}

body .gform_wrapper .gform_body .gform_fields,
body .gform_wrapper.gravity-theme .ginput_complex {
    column-gap: var(--gform-col-gap);
    row-gap: var(--gform-row-gap);
}

body .gform_wrapper.gravity-theme .ginput_complex span{
    padding-left: 0!important;
    padding-right: 0!important;
    margin-bottom: 0px;
}


/* Gform input fields */

body .gform_wrapper .gform_body .gform_fields .gfield input[type=text],
body .gform_wrapper .gform_body .gform_fields .gfield input[type=tel],
body .gform_wrapper .gform_body .gform_fields .gfield input[type='url'],
body .gform_wrapper .gform_body .gform_fields .gfield input[type='number'],
body .gform_wrapper .gform_body .gform_fields .gfield input[type='password'],
body .gform_wrapper .gform_body .gform_fields .gfield input[type='file'],
body .gform_wrapper .gform_body .gform_fields .gfield input[type=email],
body .gform_wrapper .gform_body .gform_fields .gfield textarea {
    padding: var(--gfield-padding);
    min-height: var(--gfield-min-height);
    background-color: var(--gfield-bg-color);
    font-size: var(--gfield-font-size);
    text-transform: uppercase;
    line-height: var(--gfield-line-height);
    color: var(--gfield-color);
    border: var(--gfield-border);
    border-radius: var(--gfield-border--radius);
    outline: none;    
    transition: all var(--gm-transition);
    /* outline-offset: ; */
    font-family: 'neuzeit-grotesk';
}

body .gform_wrapper .gform_body .gform_fields .gfield textarea {
    height: var(--textarea-height);
    width: 100%;
    resize: none;
}


/*Styling actif*/

body .gform_wrapper .gform_body .gform_fields .gfield input[type='text']:focus,
body .gform_wrapper .gform_body .gform_fields .gfield input[type='url']:focus,
body .gform_wrapper .gform_body .gform_fields .gfield input[type='email']:focus,
body .gform_wrapper .gform_body .gform_fields .gfield input[type='tel']:focus,
body .gform_wrapper .gform_body .gform_fields .gfield input[type='number']:focus,
body .gform_wrapper .gform_body .gform_fields .gfield input[type='password']:focus,
body .gform_wrapper .gform_body .gform_fields .gfield input[type='file']:focus,
body .gform_wrapper .gform_body .gform_fields .gfield textarea:focus {
    border: var(--gfield-border--focus);;
    background-color: var( --gfield-bg--focus);
}

/* Required fields */

.gfield_contains_required .ginput_container input[aria-required="true"] {
	background-image: var(--required-icn);
	background-size: 1em;
	background-repeat: no-repeat;
    background-position: calc(100% - var(--space-s)) 50%;
}

.gfield_contains_required .ginput_container input[aria-required="true"]:focus,
.gfield_contains_required .ginput_container input[aria-required="true"]:not(:placeholder-shown) {
	background-image: none;
}



/* ----- END input fields----- */

/* Submit button style */

body .gform_wrapper .gform_footer {
    display: flex;
    justify-content: var(--gfield-submit--align);
    padding: 0;
}

body .gform_wrapper .gform_footer input[type=submit] {
    min-width: var(--gfield-submit--min-width);
    --gf-local-min-width: var(--gfield-submit--min-width)!important;
    background-color: var(--gfield-submit--bg);
    padding: var(--gfield-submit--padding);
    border: var(--gfield-submit--border);
    border-radius: var(--gfield-submit--border-rad);
    color: var(--gfield-submit--color);
    font-weight: var(--gfield-submit--weight);
    text-transform: var(--gfield-submit--text-transform);
    text-align: center;
    font-size: var(--gfield-submit--font-size);
    transition: all var(--gm-transition);
    letter-spacing: 3px;
    line-height: 1.2;
}

body .gform_wrapper .gform_footer input[type="submit"]:hover {
    background-color: var(--gfield-submit--hov-bg);
    border: var(--gfield-submit--hov-border);
    color: var(--gfield-submit--hov-color);
}


/* ----- END Submit button ------ */


/* Placeholder */

.gform_fields .gfield input::-webkit-input-placeholder {
    /* Chrome/Opera/Safari */
    font-size: var(--gfield-font-size)!important;
    color: var(--gfield-color);
    opacity: var(--gfield-placeholder-opacity);
}

.gform_fields .gfield input::-moz-placeholder {
    /* Firefox 19+ */
    font-size: var(--gfield-font-size);
    color: var(--gfield-color);
    opacity: var(--gfield-placeholder-opacity);
}

.gform_fields .gfield input:-ms-input-placeholder {
    /* IE 10+ */
    font-size: var(--gfield-font-size);
    color: var(--gfield-color);
    opacity: var(--gfield-placeholder-opacity);
}

.gform_fields .gfield input:-moz-placeholder {
    /* Firefox 18- */
    font-size: var(--gfield-font-size);
    color: var(--gfield-color);
    opacity: var(--gfield-placeholder-opacity);
}

.gform_fields .gfield textarea::placeholder,
.gform_fields .gfield textarea::-webkit-input-placeholder {
    font-size: var(--gfield-font-size);
    color: var(--gfield-color);
    opacity: var(--gfield-placeholder-opacity);
}


/* ------ END placeholder ------ */


/* Error / validation message */

body .gform_wrapper .gform_validation_errors {
    border-radius: 0;
}

body .gform_wrapper .gform_validation_errors>h2 {
    /* color: blueviolet; */
}

body .gform_wrapper .gfield_validation_message,
body .gform_wrapper .validation_message {
    display: none;
}

body .gform_wrapper .gfield--type-phone .gfield_validation_message {
    display: block;
}

/* Error fields style */

body .gform_wrapper .gform_validation_errors:focus {
    outline: none;
}

body .gform_wrapper .gform_body .gform_fields .gfield.gfield_error input {
    color: #c02b0a;
    border-color: #c02b0a!important;
  }

  /* ORBITAL MODIFICATION */
 body .gform-theme--framework form {
    --gf-ctrl-btn-bg-color-primary: var(--gfield-submit--bg);
    --gf-ctrl-btn-bg-color-hover-primary: var(--gfield-submit--hov-bg);
    --gf-field-list-btn-size: 16px;
    --gf-field-list-btn-radius: 50%;
    --gf-field-list-btn-font-size: 0;
    --gf-field-list-btn-padding-y: var(--space-m);
    --gf-field-list-btn-padding-x: var(--space-m);
    --gf-form-footer-margin-y-start: var(--gform-row-gap);
    /* Submit button */
    --gf-local-min-width: var(--gfield-submit--min-width);
    --gf-ctrl-btn-color-primary: var(--gfield-submit--color);
    --gf-ctrl-btn-color-hover-primary: var(--gfield-submit--hov-color);
    --gf-ctrl-btn-padding-y: var(--gfield-padding-block); /* submit button padding*/
    --gf-ctrl-btn-padding-x: var(--gfield-padding-inline); /* submit button padding*/
    --gf-ctrl-btn-radius: var(--gfield-submit--border-rad);/*Submit-btn radius*/
    --gf-ctrl-btn-font-size: var(--gfield-submit--font-size);
    --gf-ctrl-btn-font-weight: var(--gfield-submit--weight); /* Submit font-weight*/
    --gf-ctrl-btn-border-color-primary: var(--base);
    --gf-ctrl-btn-font-family: 'FaktConTT';
   /* Submit focus*/
    --gf-ctrl-btn-color-focus-primary: var(--gfield-submit--hov-color);
    --gf-ctrl-btn-bg-color-focus-primary: var(--gfield-submit--hov-bg);
    --gf-ctrl-btn-border-color-focus-primary: var(--gfield-submit--hov-bg);
    --gf-ctrl-outline-color-focus: transparent;
    --gf-ctrl-btn-text-transform: uppercase;
   /* Other */
    --gf-ctrl-radio-check-radius: 0; /* radio btn radius */
    --gf-ctrl-transition: all var(--gm-transition);
}

/* Gform Container query */


/* GForm default reset */

body .gform-theme--foundation .gfield--width-half {
    grid-column: span 6;
}
body .gform-theme--foundation .gfield--width-third {
    grid-column: span 4;
}body .gform-theme--foundation .gfield--width-quarter {
    grid-column: span 3;
}

/* End Reset*/

.gm-form-wrapper {
container-type: inline-size
}
/* //2 columns */

@container (max-width:45rem) {
.gm-form-wrapper .gform-theme--foundation .gform_fields > .gfield--width-half:not(.gfield--type-select) {
    grid-column: span 12;
}
}

/* // 3 columns */
@container (max-width:50rem) {
.gm-form-wrapper .gform-theme--foundation .gform_fields > .gfield.gfield--width-third {
    grid-column: span 12;
}

.gm-form-wrapper .gform-theme--foundation .gform_fields > .gfield.gfield--width-third ~ .gfield.gfield--width-third {
    grid-column: span 6;
}
}

@container (max-width:40rem) {
.gm-form-wrapper .gform-theme--foundation .gform_fields > .gfield.gfield--width-third ~ .gfield.gfield--width-third {
    grid-column: span 12;
}
}

/* 4 columns */

@container (max-width:110rem) {
.gm-form-wrapper .gform-theme--foundation .gform_fields > .gfield--width-quarter {
    grid-column: span 6;
}
}
@container (max-width:52rem) {
.gm-form-wrapper .gform-theme--foundation .gform_fields > .gfield--width-quarter {
    grid-column: span 12;
}
.gm-form-wrapper .gform-theme--foundation .gfield select.medium {
    inline-size: 100%;
}
}

@media (max-width:478px) {
    body .gform_wrapper .gform_body .gform_fields .gfield input[type=text],
    body .gform_wrapper .gform_body .gform_fields .gfield input[type=tel],
    body .gform_wrapper .gform_body .gform_fields .gfield input[type='url'],
    body .gform_wrapper .gform_body .gform_fields .gfield input[type='number'],
    body .gform_wrapper .gform_body .gform_fields .gfield input[type='password'],
    body .gform_wrapper .gform_body .gform_fields .gfield input[type='file'],
    body .gform_wrapper .gform_body .gform_fields .gfield input[type=email],
    body .gform_wrapper .gform_body .gform_fields .gfield textarea {
        font-size: 16px;
    }
}


/* END gravity form styling ====================================================================== */

