/*
 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: 300ms ease-in-out;
}


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

/* 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% */
}

/* 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);
}

.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__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: ", ";
} */

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

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

/* Page standard */

.gm-standard-page h1 {
    margin-bottom: 0;
}

.gm-standard-page .brxe-post-content {
    margin-top: var(--space-m);
 }
.gm-standard-page .brxe-post-content > *:first-child {
    margin-top: 0;
}

.gm-standard-page h2 {
    margin-top: var(--space-m);
}

.gm-standard-page h3 {
    margin-top: var(--space-m);
}

.gm-standard-page ol,
.gm-standard-page ul {
    margin-bottom: var(--space-m);
}

.gm-standard-page li:not(:first-child) {
    margin-top: var(--space-s);
}

.gm-standard-page a {
    color: var(--action);
}
.gm-standard-page a:hover {
    color: var(--action-dark);
}

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

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

/* Homepage */

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

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

/* GFORM VARIABLES */

:root {
    --gform-col-gap: var(--space-m);
    --gform-row-gap: var(--space-m);
    /* Input */
    --gfield-padding-block: var(--btn-padding-block);
    --gfield-padding-inline: var(--btn-padding-inline);
    --gfield-padding: var(--gfield-padding-block) var(--gfield-padding-inline);
    --gfield--min-height: 4.8rem;
    --gfield-font-size: var(--btn-font-size);
    --gfield-line-height: 1;
    --gfield-color: var(--base);
    --gfield-placeholder-opacity: 0.60;
    --gfield-border: var(--btn-border-size) solid var(--base);
    --gfield-border--radius: var(--btn-border-radius);
    --gfield-border--focus:  var(--btn-border-size) solid var(--primary);    
    --gfield-bg-color: transparent; /* default transparent */
    --gfield-bg--focus:  #fff;
    --textarea-height: 25rem;
    --required-icn: url();
    /* Submit button - Default = Acss action btn*/
    --gfield-submit--align: center;
    --gfield-submit--padding: var(--btn-padding-block) var(--btn-padding-inline);
    --gfield-submit--min-width: var(--btn-min-width);
    --gfield-submit--bg: var(--action);
    --gfield-submit--hov-bg: var(--action-hover);
    --gfield-submit--font-size: var(--text-l);
    --gfield-submit--color: var(--btn-text-color);
    --gfield-submit--hov-color: var(--btn-hover-text-color);
    --gfield-submit--weight: var(--btn-font-weight);
    --gfield-submit--text-transform: var(--btn-text-transform);
    --gfield-submit--border: var(--btn-border-size) solid var(--action);
    --gfield-submit--border-rad: var(--gfield-border--radius); /*var(--btn-border-radius)*/
    --gfield-submit--hov-border:  var(--btn-border-size) solid var(--action-hover);
}


/* 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);
    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: ; */
}

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: var(--gfield-submit--padding);
}

body .gform_wrapper .gform_footer input[type=submit] {
    min-width: var(--gfield-submit--min-width);
    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);
}

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;
}

/* 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;
  }




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

