/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */

:root{
    --bleu-ciel: #38A8FF;
    --bleu: #017CF5;
    --bleu-fonce: #054AA3;
    --bleu-turquoise: #22E2DC;

    --header-h: 100px;
    --max-fw: 1920px;
    --max-w: 1520px;
    --container-w: 1440px;
    --admin-top: 0;
    --svc-form-width: 438px;
    --svg-left-space: clamp(20px, 6vw, 114px);

    --container-max-space: calc((var(--max-fw) - var(--container-w)) / 2);
    --container-space: calc((var(--max-w) - var(--container-w)) / 2);
}

@media (max-width: 1920px){
    :root {
        --container-max-space: calc((100vw - var(--container-w)) / 2);
    }
}

@media (max-width: 1470px){
    :root{
        --container-max-space: 15px;
        --container-space: var(--container-max-space);
    }

    .container{padding-left: 15px; padding-right: 15px;}
}

@media (max-width: 768px){
    :root{--header-h: 80px;}
}

body.admin-bar{ --admin-top: 32px; }
@media (max-width: 782px){
    body.admin-bar{--admin-top: 46px;}
}

@media (max-width: 600px){
    body.admin-bar{--admin-top: 0;}
}

html, body {margin: 0; padding: 0}
*, *:before, *:after {box-sizing: border-box;}
*{font-family: 'Montserrat', sans-serif;}
h2{font-family: 'Boldonse';}

body{
    width: 100%;
    max-width: 100vw;
    min-height: 100vh;
}

.container{
    width: 100%;
    max-width: var(--container-w);
    margin: 0 auto;
}

#content,
[data-elementor-type="archive"],
[data-elementor-type="single-post"]{
    position: relative;
    margin-top: calc(var(--header-h));
    overflow: hidden;
}

.cust-btn{
    --btn-h: 40px;
    font-size: clamp(16px, 2vw, 20px);
    background-color: var(--bleu-fonce);
    color: white;
    font-weight: 300;
    transition: background-color .3s ease, color .3s ease, border-color .3s ease;
    will-change: background-color, color, border-color;
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: var(--btn-h);
    border-radius: calc(var(--btn-h) / 2);
    padding: 0 clamp(15px, 3vw, 30px);
    border: white 2px solid;
    box-shadow: rgba(0,0,0,.11) 0 1px 4px!important;
}

.cust-btn:hover{
    background-color: white;
    color: var(--bleu-fonce);
    border-color: var(--bleu-fonce);
}

.cust-btn svg{margin-left: 10px;}

.cust-btn svg path{
    transition: fill .3s ease;
    will-change: fill;
    fill: white;
}

.cust-btn:hover svg path{fill: var(--bleu-fonce);}

.cust-btn.shrink-to-content{max-width: max-content;}
.cust-btn.left{margin: 0 auto 0 0;}
.cust-btn.center{margin: 0 auto;}
.cust-btn.right{margin: 0 0 0 auto;}

.keep-form-space{
    width: 100%!important;
    max-width: calc(100% - var(--svc-form-width) - var(--svg-left-space))!important;
}

.grecaptcha-badge{
    display: none!important;
}

@media (max-width: 1024px) {
    .keep-form-space{
        max-width: 100%!important;
    }
}