/*
 Theme Name:   Hello elementor child theme
 Description:  Customization of the default theme
 Template: hello-elementor
 Version:      1.0.0
*/

body {
    min-height: 100dvh;
    display: flex;
    flex-direction: column;

    > div, > main
    {
        flex: 1;
        display: flex;
        flex-direction: column;
    }

    --e-global-color-primary: #DB0007;
    --e-global-color-secondary: #FFFFFF!important;
    --e-global-color-text: #000000;
    --e-global-color-accent: #DB000700;
    --e-global-color-02682fb: #9CD83E;
    --e-global-color-6fa1d35: #FFBC0D;
    --e-global-color-a9fae40: #8EE7F8;
    --e-global-color-01ee26a: #333333!important;
    --e-global-color-57c3a6b: #91187D;
    --e-global-color-0a0d530: #1B43B2;
    --e-global-color-6314f17: #32610A;
    --e-global-color-6f38932: #FF6E0D;
}

/*
Ronaldhaz2023 vars
--e-global-color-primary: #4872AE;
--e-global-color-secondary: #333333;
--e-global-color-text: #000000;
--e-global-color-accent: #FFC829;
--e-global-color-0273389: #DA1A00;
--e-global-color-37410df: #FFFFFF;
--e-global-color-4cd78a0: #CCCCCC;
--e-global-color-38b250f: #4872AE00;
--e-global-color-451d0de: #606060;
--e-global-color-36e23c3: #DDE0EE;
--e-global-color-19a86db: #BBF0AF;
*/

footer
{    
    & 
    {
        p, a, span
        {
            color: #fff!important;
        }

        a:hover 
        {
            color: #FFC829!important;
        }
    }   
}

header .site-header
{
    background-color: var(--e-global-color-secondary)!important;
}

a 
{
    & 
    {
        span, p 
        {
            color: currentColor!important;
        }
    }
}

.elementor-icon-wrapper
{
    line-height: 0;
}

a:not(:class)
{
    text-decoration: underline;

    &:hover 
    {
        text-decoration: none;
    }
}

.elementor-message.elementor-message-danger 
{
    br 
    {
        display: none;
    }
}

.elementor-form .elementor-field-group > label {
  margin-bottom: 10px;
}

/*Elementor form globals*/

body 
{
    --global-form-gap: 30px;
}

form .elementor-form-fields-wrapper.elementor-labels-above .elementor-field-group.elementor-field-type-textarea
{
    margin-bottom: var(--global-form-gap);
}

form .elementor-form-fields-wrapper.elementor-labels-above .elementor-field-group.elementor-field-type-text
{
    margin-bottom: var(--global-form-gap);
}

form .elementor-form-fields-wrapper.elementor-labels-above .elementor-field-group.elementor-field-type-number
{
    margin-bottom: var(--global-form-gap);
}

form .elementor-form-fields-wrapper.elementor-labels-above .elementor-field-group.elementor-field-type-tel
{
    margin-bottom: var(--global-form-gap);
}

form .elementor-form-fields-wrapper.elementor-labels-above .elementor-field-group.elementor-field-type-email
{
    margin-bottom: var(--global-form-gap);
}

form .elementor-form-fields-wrapper.elementor-labels-above .elementor-field-group.elementor-field-type-acceptance {
    margin-bottom: var(--global-form-gap);
}

form .elementor-form-fields-wrapper.elementor-labels-above .elementor-field-group.elementor-field-type-tooltip_acceptance {
    margin-bottom: var(--global-form-gap);
}

input[type="checkbox"] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

input[type="checkbox"] + label
{
    font-weight: 500;
    font-size: 12px;
    line-height: 16px;
    color: #000;
}

.elementor-field-option {
  display: flex;
  flex-flow: row wrap;
  align-items: flex-start; /* keeps top aligned for multi-line text */
}

.elementor-field-option .elementor-message, .elementor-tooltip-acceptance .elementor-message
{
    flex-basis: 100%;
}

input[type="checkbox"] + label {
  position: relative;
  padding-top: 5px;
  padding-left: 36px;
  cursor: pointer;
  line-height: 1.4;
  display: block;
}

input[type="checkbox"] + label:has(~ .elementor-message):before  {
    border-color: #DA1A00;
}

input[type="checkbox"] + label::before {
    content: '';
    width: 24px;
    height: 24px;
    position: absolute;
    top: 0;
    left: 0;
    border: 1px solid #69727D;
    border-radius: 4px;
    background-color: #fff;
}

input[type="checkbox"]:focus-visible + label:before
{
    outline: 2px solid #4872AE;
}

input[type="checkbox"]:checked + label::after {
    content: '';
    width: 11px;
    height: 11px;
    position: absolute;
    top: 1px;
    left: 1px;
    transform: translate(50%, 50%);
    border-radius: 1px;
    background-color: #4872AE;
}

form input 
{
    transition: background-color .3s, color .3s, border-color .3s, box-shadow .3s!important;
}

form input:focus-visible
{
    outline: 2px solid #4872AE!important;
}

button:focus-visible 
{
    outline: -webkit-focus-ring-color auto 1px;
}

.elementor-forms-admin-errors {
    display: none!important;
}

label a
{
    color: var(--e-global-color-0a0d530)!important;
}

label:has(input[id$="-required"])::after {
    content: "*";
    color: var(--e-global-color-primary); 
    margin-left: 2px;
}

form .elementor-form-fields-wrapper 
{
    align-items: flex-start;
}

form .elementor-message-danger:empty 
{
    display: none;
}

form .elementor-message 
{
    padding-left: 20px;

    font-size: 12px;
    line-height: 16px;
}

form .elementor-message:before
{
    display: none;
}

form input:has(+ .elementor-message) 
{
    border-color: #DA1A00;
}

body a:not([class]) {
    text-decoration: underline;
}

body a:not([class]):hover {
    text-decoration: none;
}

.elementor-icon-list-item a:not([class])
{
    text-decoration: none;
}

#cc--main * {
  font-family: "Raleway", Sans-serif;
}

#cc--main button, #cc--main button:hover {
  font-size: 13.12px;
  line-height: 1.2;
}

#cc--main label, #cc--main label:hover 
{
  font-size: 16px;
}

.elementor-tooltip-acceptance {
    display: flex;
    align-items: center;
}

.elementor-tooltip-acceptance .tippy-content i {
    display: block;
    color: #4872ae;
    font-size: 18px;
}

.elementor-tooltip-acceptance  a
{
    color: #4872AE!important;
}

.elementor-tooltip-acceptance .tippy-content
{
    cursor: pointer;
}

.elementor-tooltip-acceptance .tippy-box .tippy-arrow {
    color: #fff;
}

.elementor-tooltip-acceptance .tippy-box {
    padding: 5px;

    padding: 10px;
    font-size: 12px;
    box-shadow: rgb(31, 31, 31) 0px 0px 8px 0px;

    color: #000;
    background-color: #fff;
}