/**
Theme Name: Astoweb
Author: Astoweb
Author URI: https://www.astoweb.fr/
Description: Child theme of Astra starter template customized by Astoweb.
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astoweb
Template: astra
*/


/* ASTO - BASE
--------------------------------*/

a, a:active, a:focus, button, button:focus, button:active {
    outline: none !important;
    outline: 0 !important;
}

/* H1,H2,H3,H4
----------------------*/

/* HEADING TITLE */

.entry-content h1,
.elementor-widget-heading h1.elementor-heading-title { 
    line-height: 1.3em; 
    font-size: 32px; 
    padding: 60px 20px 0px;
}
.elementor-widget-heading.astoweb-site-title h1.elementor-heading-title { padding: 0px; }

/* DEFAULT HEADINGS */

@media only screen and (min-width: 1025px) {

    .entry-content h1,
    .elementor-widget-heading h1.elementor-heading-title { 
        line-height: 1.3em; 
        font-size: 2.625rem !important;
        padding: 80px 20px 0px;
    }
    .elementor-widget-heading.astoweb-site-title h1.elementor-heading-title { padding: 0px; }

    .entry-content h2 { line-height: 1.3em; font-size: 2.25rem !important; }
    .entry-content h3 { line-height: 1.2em; font-size: 1.5625rem !important; }
    .entry-content h4 { line-height: 1.2em; font-size: 1.25rem !important; }

    /*.entry-content .big-title h3 { line-height: 1.3em; font-size: 2.25rem !important; }*/
    .entry-content .big-title h4 { line-height: 1.2em; font-size: 1.5625rem !important; }

    .entry-content .astoweb--box-title h3 {
        line-height: 1.2em !important; 
        font-size: 1.25rem !important;         
    }
}

.astoweb-h3 { 
    line-height: 1.2em; 
    font-size: 1.5625rem !important; 
    font-family: 'Playfair Display',serif;
}
.astoweb--box-title {
    line-height: 1.2em; 
    font-size: 1.25rem !important; 
}

/* UL
----------------------*/

/* CENTER HEADING UL */

.elementor-widget-text-editor {
    justify-content: center;
    display: flex;
}
@media only screen and (min-width: 768px) {

    .elementor-widget-text-editor {
        justify-content: initial;
        display: initial;
    }
}

/* DEFAULT UL */

.elementor-widget-text-editor ul {
	list-style: none;
	margin-left: 0;
}
.elementor-widget-text-editor ul li { display: flex; }
.elementor-widget-text-editor ul li::before {
    content: '\f138';
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    font-size: 13px;
    color: var(--ast-global-color-2);
    margin-right: 8px;
    padding-bottom: 4px;
    display: flex;
    align-items: center;
}

/* BLOCKQUOTE
----------------------*/

/* DEFAULT BLOCKQUOTE */

.entry-content  blockquote {
    margin: 1.5em;
    font-family: "Georgia", Sans-serif;
    font-size: 1em;
    color: #252525;
    background-color: rgba(0,0,0,0.05);
    border-color: rgba(0,0,0,0.75);
    border-radius: 0 6px 6px 0;
}
.entry-content blockquote p { margin: 0; }

/* ASTO BLOCKQUOTE */

.asto--header-blockquote { text-align: center; }
.asto--header-blockquote blockquote {
    margin: 0; 
    font-size: 24px;
    font-style: italic;
    color: var(--ast-global-color-3);
    background-color: transparent;
    border: none;
    border-color: transparent;
    border-radius: 0;
    text-align: center;
}
.asto--header-blockquote blockquote p { font-size: 24px; color: #fafafa; }
.entry-content  p.asto--author {
    margin-bottom: 0;
    color: #fafafa;
    font-weight: 600;   
}
cite, .entry-content p.asto--cite { 
    font-size: 0.9em; 
    font-style: normal!important;
    color: #fafafa;
    line-height: 1em;
}
.asto--header-blockquote.asto--color-black { background-color:#F4F087; padding:20px }
.asto--header-blockquote.asto--color-black blockquote,
.asto--header-blockquote.asto--color-black blockquote p,
.asto--header-blockquote.asto--color-black p.asto--author,
.asto--header-blockquote.asto--color-black p.asto--cite cite {
    color: #212121;
}

/* CAPTION */

.wp-caption .wp-caption-text {
    font-size: 0.85em;
    font-weight: bold;
    margin: 0.85em 0;
}

/* FORM
----------------------*/

/* WP FORMS */

.wpforms-container.inline-fields .wpforms-submit { height: 52px; }
.wpforms-container.inline-fields .wpforms-field { padding-right: 0 !important; }

.wpforms-field-label { margin-bottom: 0.6em; }

input, textarea, select,
.wpforms-field input.wpforms-field-small,
.wpforms-field input.wpforms-field-medium,
.wpforms-field input.wpforms-field-large {
    border: 2px solid rgba(0,0,0, 0.25) !important;
    border-radius: 6px !important;
}

input:focus, textarea:focus, select:focus,
.wpforms-field .wpforms-field-small:focus,
.wpforms-field .wpforms-field-medium:focus,
.wpforms-field .wpforms-field-large:focus {
    border: 2px solid var(--ast-global-color-2) !important;
    border-radius: 12px !important;
}
.wpforms-container .wpforms-field-description {
    background-color: var(--ast-global-color-2);
    color: #efefef;
    padding: 1em 1.2em; margin-top: 12px !important;
    line-height: 1.25em;
    border-radius: 6px;
}

@media only screen and (min-width: 601px) {

    .wpforms-container.inline-fields .wpforms-field { padding-right: 2% !important; }
}

/* ASTO - GLOBAL
--------------------------------*/

/* PAGE
----------------------*/

body {
    background: url("assets/img/bg-code_blue.png") repeat;
    background-color: rgba(0, 0, 0, 0.5);
    background-blend-mode: darken;
}
.page {
    max-width: 1920px;
    margin: 0 auto;
}

@media only screen and (min-width: 2560px) {

    .elementor-1355 .elementor-element.elementor-element-85ccf3a {
        --min-height: auto;
        padding: 140px 40px 120px;
    }
}

/* ANCRE NOMMEE
----------------------*/

#presentation-developpeur, 
#services-developpement,
#technologies-programmation,
#mes-qualites { scroll-margin-top: 40px; }

@media only screen and (min-width: 1025px) {

    #presentation-developpeur, 
    #services-developpement,
    #technologies-programmation,
    #mes-qualites { scroll-margin-top: 140px; }
}

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

.site-below-footer-wrap[data-section="section-below-footer-builder"] { border: none; }

.site-primary-footer-wrap[data-section="section-primary-footer-builder"].ast-footer-row-mobile-stack .site-footer-section {
    display: block;
    margin: 40px 0;
}

/* WIDGET MENU */

.widget.widget_nav_menu { padding: 0 20%; }

.widget-title {
    font-size: 1em !important;
    font-family: 'Open sans';
    letter-spacing: 2px;
    color: #fafafa;
    text-transform: uppercase;
}

.site-footer .menu {
    padding-top: 20px;
    border-top: 2px solid var(--ast-global-color-0);
}
.site-footer .menu-item > .menu-link { color: #eee; }
.site-footer .menu-item > .menu-link:hover,
.site-footer .menu-item:hover > a.menu-link { 
    color: #fff;
    background-color: transparent !important;
    border-bottom: none !important; 
}

@media only screen and (min-width: 1024px) { 

    .site-footer .menu-item:hover > a.menu-link { 
        color: #fff !important;
    }
}

.site-footer .menu-item.current-menu-item > .menu-link:before,
.site-footer .menu-item.current-menu-item > .menu-link:hover:before {
    content: "\f054";
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    font-size: 13px;
    color: var(--ast-global-color-0);
    background-color: transparent;
    padding-right: 10px
}

@media only screen and (min-width: 1025px) {

    .site-primary-footer-wrap[data-section="section-primary-footer-builder"].ast-footer-row-mobile-stack .site-footer-section {
        margin: 20px;
    }
    .widget.widget_nav_menu { padding: 0 15%; }
}

/* ASTO - CLASS
--------------------------------*/

/* reCAPTCHA GOOGLE
----------------------*/

.grecaptcha-badge {
    visibility: hidden !important;
    opacity: 0 !important;
}

.asto--alert-recaptcha-google {
    background-color: #F4F087;
    color: #121212;
    border-radius: 6px;
    padding: 1em 1.5em; margin-top: 20px;
}

/* ASTO ALERT INFO
----------------------*/

p.asto--alert-info_bg-black {
    background-color: rgba(255,255,255, 0.015);
    padding: 0.75em 1.25em;
    border-radius: 12px;
}

/* ASTO SLOGAN
----------------------*/

.asto--slogan_bg-black p {
    margin-bottom: 0 !important;
    font-family: "Georgia", Sans-serif;
    font-size: 24px;
    font-style: italic;
    color: #fafafa;
}

/* ASTO CREDITS LIST
----------------------*/

.asto--post-list {
    position: relative;
    display: flex;
    width: 100%; height: auto;
    max-width: 768px;
    flex-flow: row wrap;  
    align-items: center;
    justify-content: start;
    align-content: start;
    margin: 0 0 1em 0;
}
.asto--post-list {
    width: 100%;
    list-style: none;   
}
.asto--post-list li {
    width: 33.333333%;
    padding: 0 10px;
}
.asto--post-list li:first-child { padding-left: 0px; }
.asto--post-list li:last-child { padding-right: 0px; }

.asto--post-list li a img {
    max-width: 100%; max-height: 100%;
    width: auto; height: auto;
    margin: 0; padding: 0;
    opacity:1;
    border-radius: 6px;
}
.asto--post-list li a img:hover { opacity: 0.5; }

.asto--post-list li.asto--post-title {
    font-size: 1 em;
    font-style: uppercase;  
    font-weight: 600;
    font-family: 'Montserrat',sans-serif;
}
.asto--post-list li.asto--post-title a { color: #212121; }

.asto--post-list li a.asto--button {
    display: inline-block;
    width: auto;
    padding: 7px 14px;
    font-size: 0.85em;
    line-height: 1em;
    background-color: #121212;
    color: #fff;
    border-radius: 14px;
    margin-left: 0px;
}
.asto--post-list li a.asto--button:hover { background-color: var(--ast-global-color-2); }

/* ASTO CREDITS LINK
----------------------*/

.asto--link-credits {
    display: inline-block;
    width: 100%;
    font-size: 0.85em;
    text-align: center;
}

@media only screen and (min-width: 1025px) {

    .asto--link-credits {
        text-align: left;
        margin-left: 20px;
    }
}

/* ASTO MORE LINK
----------------------*/

 a.asto--link-more {
    diqplay: inline-block;
    width: auto;
    margin: 12px 0;
    color: white;
    background-color: #121212;
    border-radius: 20px;
    padding: 0.5em 1.25em;
}
 a.asto--link-more:hover {
    color: white;
    background-color: var(--ast-global-color-2);
}

/* BTN TOP
----------------------*/

.btn-top {
    position: fixed; z-index: 4;
    display: inline-block;
    vertical-align: middle;
    right: calc(50% - 25px);
    opacity: 1;
    width: 50px; height: 35px;
    background-color: var(--ast-global-color-1);
    background-image: url(assets/img/top.png) !important;
    background-repeat: no-repeat;
    background-position: center;
    border-bottom: none;
    border-radius: 25px 25px 0 0;
    box-shadow: 0 10px 15px rgba(0,0,0,.375);
}
.btn-top:hover {
    border-radius: 25px 25px 0 0;
    box-shadow: 0 5px 10px rgba(0,0,0,.45);
}
.btn-top.anim_fromBottom { bottom: 0em; }

/* DISPLAYS
----------------------*/

.display-1024 {
    display: none;
    opacity: 0;
    visibility: hidden;
}
.hidden-1024 {
    display: block;
    opacity: 1;
    visibility: visible;
}
@media only screen and (min-width: 1025px) {

    .display-1024 {
        display: block;
        opacity: 1;
        visibility: visible;
    }
    .hidden-1024 {
        display: none;
        opacity: 0;
        visibility: hidden;
    }
}

/* ANIMATIONS
----------------------*/

/* Anim From Bottom */

@-webkit-keyframes anim_fromBottom {
    from { bottom: -100vh; opacity: 0; box-shadow: 0 0 0 rgba(0,0,0,0); } 
    to { bottom: 0em; opacity: 1; box-shadow: 0 10px 15px rgba(0,0,0,.375); }
}
@keyframes anim_fromBottom {
    from { bottom: -100vh; opacity: 0; box-shadow: 0 0 0 rgba(0,0,0,0); }
    to { bottom: 0em; opacity: 1; box-shadow: 0 10px 15px rgba(0,0,0,.375); }
}
.anim_fromBottom {
    -webkit-animation: anim_fromBottom 0.5s;
    animation: anim_fromBottom 0.5s;
}

/* Anim To Bottom */

@keyframes anim_toBottom {
    from { bottom: 0em; opacity: 1; }
    to { bottom: -100vh; opacity: 0; }    
}
@-webkit-keyframes anim_toBottom {
    from { bottom: 0; opacity: 1; }
    to { bottom: -100vh; opacity: 0; }    
}
.anim_toBottom {
    -webkit-animation: anim_toBottom 0.5s;
    animation: anim_toBottom 0.5s;   
}

/* Anim From Top */

@-webkit-keyframes anim_fromTop {
    from { opacity: 0; transform: translateY(-100vh); } 
    to { opacity: 1; transform: translateY(0); }
}
@keyframes anim_fromTop {
    from { opacity: 0; transform: translateY(-100vh); } 
    to { opacity: 1; transform: translateY(0); }
}
.anim_fromTop {
    -webkit-animation: anim_fromTop 0.5s;
    animation: anim_fromTop 0.5s;
}