
@keyframes flipInY {
    from { transform: perspective(400px) rotate3d(0, 1, 0, 90deg); animation-timing-function: ease-in; opacity: 0; }
    40% { transform: perspective(400px) rotate3d(0, 1, 0, -20deg); animation-timing-function: ease-in; }
    60% { transform: perspective(400px) rotate3d(0, 1, 0, 10deg); opacity: 1; }
    80% { transform: perspective(400px) rotate3d(0, 1, 0, -5deg); }
    to { transform: perspective(400px); }
}
@keyframes flipOutY {
    from { transform: perspective(400px); }
    30% { transform: perspective(400px) rotate3d(0, 1, 0, -15deg); opacity: 1; }
    to { transform: perspective(400px) rotate3d(0, 1, 0, 90deg); opacity: 0; }
}
@keyframes headShake {
    0% { transform: translateX(0); }
    6.5% { transform: translateX(-2px); }
    18.5% { transform: translateX(1px); }
    31.5% { transform: translateX(-2px); }
    43.5% { transform: translateX(1px); }
    50% { transform: translateX(0); }
}
@keyframes shake {
    0% { transform: translate(1px, 1px) rotate(0deg); }
    10% { transform: translate(-1px, -2px) rotate(-1deg); }
    20% { transform: translate(-3px, 0px) rotate(1deg); }
    30% { transform: translate(3px, 2px) rotate(0deg); }
    40% { transform: translate(1px, -1px) rotate(1deg); }
    50% { transform: translate(-1px, 2px) rotate(-1deg); }
    60% { transform: translate(-3px, 1px) rotate(0deg); }
    70% { transform: translate(3px, 1px) rotate(-1deg); }
    80% { transform: translate(-1px, -1px) rotate(1deg); }
    90% { transform: translate(1px, 2px) rotate(0deg); }
    100% { transform: translate(1px, -2px) rotate(-1deg); }
}

p { margin-bottom: 0.5rem; }
.hide { display: none !important; }

/*
a:hover, .bloc_social img:hover { animation-timing-function: ease-in-out; animation-name: headShake; animation: headShake 1.0s; }
a:active, .bloc_social img:active { animation-timing-function: ease-in-out; animation-name: headShake; animation: headShake 1.0s; }
button:hover { animation-timing-function: ease-in-out; animation-name: headShake; animation: headShake 1.0s; }
button:active { animation-timing-function: ease-in-out; animation-name: headShake; animation: headShake 1.0s; }
input:hover { animation-timing-function: ease-in-out; animation-name: headShake; animation: headShake 1.0s; }
input:active { animation-timing-function: ease-in-out; animation-name: headShake; animation: headShake 1.0s; }
*/

.img-responsive { max-width: 100%; height:auto; }
.no-gutters > .col, .no-gutters > [class*="col-"] { padding-right: 0; padding-left: 0; }
.no-margins { margin-right:0px; margin-left:0px; }
.text-right { text-align: right; }
.dFlexEnd { display: flex; align-items: end; }
.pRelative { position:relative; }
.text-right { text-align:right; }
.text-left { text-align:left; }
.text-center { text-align:center; }

section .menu-compte { z-index: 1000; }

.bloc-chapo h2 { font-size: 1.2em; }
.filer-gris { background-color: #ccc; height: 10px; margin-top:1em; margin-bottom:3em; }

.bloc_social { background-color: #009de0; padding: 1.5em 3em; text-align: center; margin-bottom:1.5em; margin-top: 20px; }
.bloc_social span { text-transform: uppercase; font-size: 1.5em; }
.bloc_social img { margin: 0px 8px; margin-bottom: 8px; }

.bloc-sdomaine { background-color: #FFD25F; text-align: center; width: 100%; min-height: 135px; display: flex; align-items: center; justify-content: center; margin-bottom: 1.5em; }
.bloc-sdomaine div { text-align:center; }
.bloc-sdomaine .logo { background-color: #fff; border-radius: 50px; height: 75px; width: 75px; display: flex; align-items: center; justify-content: center; margin-right: auto; margin-left: auto; margin-bottom: 1em; }

.bloc-bandeau { position:relative; }
.bloc-bandeau h1 { position:absolute; left: 0; bottom:0px; z-index: 100; margin: 35px 18px; background-color: rgba(0, 0, 0, 0.5); width: 50%; color: #fff; padding: 0.5em 1em; }

.page_article .bloc-contenu { font-size: 1.1rem; }
.page_article .bloc-contenu p, .page_article .bloc-contenu ul li { font-size: 1.1rem; }
.page_article .bloc-contenu a { color:#009DE0; }
.page_article .bloc-contenu h2 { margin:20px 0px; }
.page_article .bloc-contenu h4 { margin:20px 0px; }
#page_article .bloc-stitre { margin-top:3em; }
.page_recherche_formation .panel-container { margin-bottom:1em; }
.carre_content small { font-size: 1em; }

#page_rubrique .carre { min-height: 320px; }
#page_rubrique .carre_content .logo img { max-width: 125px; }

.navbar-all .navbar-header { position: absolute; z-index: 4; top: 16px; left: 16px; }
.moncompte_content { min-height: 532px; }

@media (max-width: 575.98px) { 

    .bloc-bandeau h1 { margin: 25px 14px; width: calc(100% - 28px); font-size: 1.6em; }
    .bloc_social { padding: 1em 0.8em; margin-bottom: 1em; margin-top:1em;}
    .bloc_social img { width:20px; height: 20px; }
    .bloc_social span { font-size: 1em; }
    .page_formation .bloc-intro-texte { padding: 25px; text-align: center; }
    .page_formation .bloc-intro .nopad { padding-right: 15px; padding-left: 15px; }
    .page_formation .bloc-intro-texte h1 { font-size: 1.4rem; }
    .page_formation .banniere-formation { margin-right: 0px; }
    .page_formation .banniere-formation .element { border-right: none; margin-top: 5px; margin-bottom: 5px; }
    .page_formation .plus-de-dates { position:relative; margin-left: 0px; }
    .page_formation .banniere-formation .value { font-size: 1.2rem; line-height: 1em; }
    .page_formation .banniere-formation .title { font-size: 1.1rem; }
    .page_article .ajax-bloc-article { height: 570px; }

}

@media (max-width: 767.9px) { /* X-Small devices (phones, 0px and up) + Small devices (landscape phones, 576px and up) */
    .carre_content small { font-size: 1em; }
}

@media (min-width: 768px) and (max-width: 991.9px) { /* Medium devices (tablets, 768px and up) + Large devices (desktops, 992px and up) */
    .carre_content small { font-size: 0.9em; }
}

@media (min-width: 992px) and (max-width: 1199.9px) { /* Medium devices (tablets, 768px and up) + Large devices (desktops, 992px and up) */
    .carre_content small { font-size: 0.9em; }
}

.spip_documents_center { clear: both; display: block; width: 100%; text-align: center; margin-top: 1.5em; margin-bottom: 1.5em; }
.spip_documents_left { float: left; margin-right: 1.5em; max-width: 33%; }
.spip_documents_right { float: right; margin-left: 1.5em; max-width: 33%; }
.spip_documents img { max-width: 100%; height: auto; }
.btn-content { display:inline-block !important; margin:1em 0em; }
.ajax-externe { width: 50%; float: right; padding:0px 10px; }
.spip_doc_legende { display: none; }

.dis_prov { display: none; }