/*
Theme Name: Dynamic Child
Theme URI: http://www.dynamic-creative.com/work/
Author: dynamic-creative.com
Author URI: http://dynamic-creative.com
Template: dynamic
Version: 0.1.0
License: GNU General Public License
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: dynamic-child
Tags: one-column
Description: Dynamic Theme Child custom
*/


/*--------------------------------------------------------------
2.0 Typography
--------------------------------------------------------------*/
body {background:#fff url(img/fd.jpg) center center no-repeat; background-attachment: fixed; overflow-x:hidden; background-size: cover;}
body,
button,
input,
select,
textarea {
	color: #2d2d2d;
	font-size:16px;
	line-height: 1.2;
	font-weight:normal;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	color:#2d2d2d;
	font-weight:300;
}

/*--------------------------------------------------------------
Titre
--------------------------------------------------------------*/
.titre_3 h2 {font-size:20px; font-weight:600; color:#007ac0; margin-bottom:10px;}

/*--------------------------------------------------------------
5.2 Menus
--------------------------------------------------------------*/



/**/
.container {}
[class*="col-"], .col {/*padding-left:10px; padding-right:10px;*/}

button {background:none; border:0;}

.title_1 h2 {color:#fff;}

.c_rose {color:#b42664;}

/*header*/
#masthead {padding:0;z-index: 2;}
body.page:not(.home) #masthead { padding:0 10px; position: fixed; background: #fff; width: 100%; top: 0; left: 0; margin: 0; z-index: 10;}
body.page:not(.home) #content {padding-top:115px;}
#masthead .container > div {height:70px;}
body.page:not(.home) #masthead .container > div {height:115px;}

#site-navigation {z-index: 2;}
.home #masthead .container > div {height: 40px;}
.home #masthead.fix {position: fixed; background:#fff; width:100%; top:0; left:0;}
.home #masthead.fix .main-navigation #menu-menu-top > li > a {color:#2d2d2d;}
.home #masthead .main-navigation ul:first-child > li > a {height:40px; line-height: 40px;}
.home #masthead .main-navigation ul ul {top:40px;}
.home #masthead.fix .main-navigation #menu-menu-top > li:not(:first-child):before {color:#2d2d2d;}


/*menu*/
.main-navigation ul {margin-right:-10px; margin-left:-10px;}
.main-navigation li {position: relative;}
.main-navigation li a { font-weight: 400; color: #6c6c6c; padding:0 10px;}
.main-navigation #menu-menu-top > li:not(:first-child):before { content: '|';  position: relative;    left: -12px; top: -1px; color: #9e9e9e; font-size: 12px; font-weight: 400; }
.main-navigation ul:first-child > li > a {display:inline-block;}
.main-navigation li a:hover, .main-navigation li.current_page_item a {text-decoration: none;}
.home .main-navigation #menu-menu-top > li > a {color:#fff;}
.home .main-navigation #menu-menu-top > li:not(:first-child):before {color:#fff;}

/*footer*/
#map {width: 100%; height: 400px;}
/* fixes potential theme css conflict */
#map img { max-width: inherit !important; }

#firstHeading {font-size:16px; font-weight: bold;}
#bodyContent {font-size:16px; font-weight: 300;}
#bodyContent p {margin:0;}
.gm-style-iw + div {display: none;}

#colophon { background-color: #2e3033;  padding:0; color:#bac0c5;}
#colophon a {color:#bac0c5;}
.foot1 {padding:20px 0;}
.foot2 {background-color: #151515; padding:10px;}
.logo-foot {opacity: 0.5;}

.menu-foot .menu {padding:0}
.menu-foot .menu li { padding:0; font-size:12px;}
#menu-footer a {text-decoration: none;}
#menu-footer a:hover, #menu-footer li.current-menu-item a {color:#fff;}

.bloc-social {margin-top:10px;}
.bloc-social a {margin-left:5px; color:#bac0c5; font-size:30px;}

/*page*/
body.page:not(.home) {background:#fff;}
body.page:not(.home) .entry-header {background:url(img/fd-page-full.jpg) center center no-repeat; height:320px;}
body.mobile.page:not(.home) .entry-header {background:url(img/fd-page.jpg) center center no-repeat;}
body.page:not(.home) .entry-header h1.entry-title { color:#fff; font-size:90px; border-top:3px solid #fff; border-bottom:3px solid #fff; padding:20px; font-weight:300;}
body.page:not(.home) .entry-content {font-size:20px; font-weight:300; line-height: 1.3;}
body.page:not(.home) .entry-content #contact {font-size:16px;}
.entry-content ul {list-style: circle; margin-left:30px;}

.seo-h3 { color: #ecae80; font-size: 20px; font-weight: 500; }
.seo-h2 { font-size: 24px; font-weight: 400; text-transform: uppercase; margin:20px 0;}

/*--------------------------------------------------------------
SITE ORIGIN
--------------------------------------------------------------*/
[id*="pg-"] {margin-bottom: 0!important;}
.bt-1 .ow-button-base a {border-radius:80px!important; background:#ecae80!important; text-transform:uppercase!important; color:#fff!important; padding:1em 2em!important; font-size:18px!important; border:none!important; box-shadow:none!important; text-shadow:none!important;}
.bt-1 .ow-button-base a.ow-button-hover:hover {background:#fff!important; color:#ecae80!important;}

.so-widget-sow-accordion-default-bea58ccc9c60 .sow-accordion .sow-accordion-panel .sow-accordion-panel-header .sow-accordion-open-close-button {display:none;}
.sow-accordion-panel-header {text-align:center!important; font-size:14px!important;}
.sow-accordion-panel-border p:last-child {margin:0}

/*--------------------------------------------------------------
BOOTSTRAP
--------------------------------------------------------------*/
.btn-primary {border-radius: 60px; background-color: #ecae80; border-color: #ecae80; line-height: 1; }
.btn.btn-primary { padding: .85rem 4rem; font-size:18px; font-weight:300;}
div.wpcf7 .ajax-loader {position: absolute; top:15px; right:10px;}

/*--------------------------------------------------------------
PERSO
--------------------------------------------------------------*/
/*HOME*/
#bloc-so {color:#fff; font-size:24px; font-weight:300;}
#bloc-so .item {padding:0 20px;}
#bloc-so .item:before {/*content:"\4a"; font-family: "sophro" !important; position:relative;*/ }
#bloc-so .item .ico {width:60px; margin:0 auto 30px;}
#bloc-so .item strong {font-weight:500; color:#2f69a4;}
.fa-rd .fa {border-radius:80px; border:1px solid #000; height:60px; width:60px; text-align: center; font-size:24px; padding-top:15px;}
.row-icon .col:first-child {width:80px;}
.row-icon .row {margin-bottom:30px;}

#bloc-pl {font-size:18px; font-weight:300;}
#bloc-pl img {padding-bottom:10px;}

.owl-theme .owl-dots .owl-dot span {width:20px; height:20px; background-color: #71cce1;}
.owl-theme .owl-dots .owl-dot.active span, .owl-theme .owl-dots .owl-dot:hover span {background-color: #ecae80; }

#bloc-so.owl-theme .owl-dots .owl-dot span {background-color: #fff;}
#bloc-so.owl-theme .owl-dots .owl-dot.active span, .owl-theme .owl-dots .owl-dot:hover span {background-color: #ecae80; }

.bloc-ct h2 {font-size:30px; text-transform:uppercase; font-weight: 300;}

#bloc-info a {color:#2d2d2d;}

/*CONTACT*/
.price {margin-top:20px;}
.price > div {text-align:center; border-radius:10px; background-color:#3dbffb; padding:30px 10px; color:#fff; height:100%;}
.price h2 {color:#fff; font-weight:normal; font-size:22px; text-transform:uppercase;}
.price h3 {color:#fff; font-size:14px; text-transform:uppercase;}
.price > div > span {border-radius:100px; font-size:60px; line-height:1.6; display:block; height:90px; width:90px; text-align:center; border:2px solid #fff; margin:20px auto;}
.price .prix {font-size:40px; font-weight:500;}
.price .prix span {font-size:20px;}
.price-list > div:first-child {border-right:1px solid #fff;}
.price-list .prix {padding-top:10px;}
.pr2 .prix, .pr3 .prix {padding-top:20px;}
.price.pr3 .prix {font-size:20px;}
.price.pr2 > div {background-color:#f85159;}
.price.pr3 > div {background-color:#ffb212;}

.mutu {color:#fff; border-radius:10px; background-color:#1abc9c; padding:20px;}
.mutu span {border-radius:100px; font-size:60px; line-height:1.6; display:block; height:90px; width:90px; text-align:center; border:2px solid #fff; margin:0 auto;}
.price a.help {position:absolute; right:25px; top:10px; font-size:16px; color:#fff;}
#listeMutu > ul {padding-top:20px; list-style:none; font-size:14px; margin:0;}
#listeMutu li {margin-bottom:10px; padding:0 10px;}
#listeMutu .name {font-size:18px; font-weight:600;}
.blocmutu {position:relative;}
.lienmutu {position:relative; cursor:pointer;}
.lienmutu > i {position:absolute; right:10px; top:calc(50% - 10px); font-size:20px;}

/*FORM*/
.form-control::-webkit-input-placeholder{color:#333;opacity:1}
.form-control:-ms-input-placeholder{color:#333;opacity:1}
.form-control::placeholder{color:#333;opacity:1}
select { -moz-appearance: none; appearance: none; }
.select:after {content: "\67"; position:absolute; right: 12px; top: 16px; pointer-events: none; font-family: "decompressing" !important;}


.form-control {color:#333; border-color:#d5d5d5;}
.form-group [class*="icon-"] {color:#d5d5d5;}

input[type="text"], input[type="email"], input[type="url"], input[type="password"], input[type="search"], textarea.form-control, select {
    background: #f8f8f8; height:40px; border-radius: 0; border:none;
}
textarea.form-control {height:auto;}
.wpcf7 .row {margin-bottom:10px;}

span.wpcf7-list-item {margin:0;}
div.wpcf7 .ajax-loader {position:absolute; top:50%; right:5px; transform: translateY(-50%);}
span.wpcf7-not-valid-tip {position: absolute; font-size:0.65em; top:-7px; right: 20px; background: #fff; z-index: 2;}
.wpcf7-form-control-wrap {position: initial;}
div.wpcf7-validation-errors, div.wpcf7-spam-blocked, div.wpcf7-mail-sent-ng, div.wpcf7-mail-sent-ok {border:0; text-align: center;}
div.wpcf7-validation-errors, div.wpcf7-spam-blocked {color:red;}
div.wpcf7-mail-sent-ok {color:green;}

textarea {height:140px;}

/*checkbox*/
/* Cachons la case à cocher */
[type="checkbox"]:not(:checked),
[type="checkbox"]:checked {
  position: absolute;
  left: -9999px;
}
 
/* on prépare le label */
[type="checkbox"]:not(:checked) + span,
[type="checkbox"]:checked + span {
  position: relative; 
  padding-left: 25px; 
  cursor: pointer;    /
}
/* Aspect des checkboxes */
/* :before sert à créer la case à cocher */
[type="checkbox"]:not(:checked) + span:before,
[type="checkbox"]:checked + span:before {
  content: '';
  position: absolute;
  left:0; top: 2px;
  width: 20px; height: 20px;
  border: 1px solid #c7c9c7;
  background: #f8f8f8;
  border-radius: 3px; 
  box-shadow: inset 0 1px 3px rgba(0,0,0,.3) /* légère ombre interne */
}
 
/* Aspect général de la coche */
[type="checkbox"]:not(:checked) + span:after,
[type="checkbox"]:checked + span:after {
  content: '✔';
  position: absolute;
  top: 2px; left: 4px;
  font-size: 16px;
  color: #09ad7e;
  transition: all .2s;
}
/* Aspect si "pas cochée" */
[type="checkbox"]:not(:checked) + span:after {
  opacity: 0; 
  transform: scale(0); 
}
/* Aspect si "cochée" */
[type="checkbox"]:checked + span:after {
  opacity: 1; 
  transform: scale(1); 
}
/* aspect désactivée */
[type="checkbox"]:disabled:not(:checked) + span:before,
[type="checkbox"]:disabled:checked + span:before {
  box-shadow: none;
  border-color: #bbb;
  background-color: #ddd;
}
/* styles de la coche (si cochée/désactivée) */
[type="checkbox"]:disabled:checked + span:after {
  color: #999;
}
/* on style aussi le label quand désactivé */
[type="checkbox"]:disabled + span {
  color: #aaa;
}
 
/* aspect au focus de l'élément */
[type="checkbox"]:checked:focus + span:before,
[type="checkbox"]:not(:checked):focus + span:before {
  border: 1px dotted blue;
}

/*--------------------------------------------------------------
HOME APPLI
--------------------------------------------------------------*/

/*HEADER*/
#appli {position: relative; min-height: 100vh;}
#appli header .screen {position:fixed; z-index:2; top:0; left:-100px; width:100px; transition:all 350ms ease; height:100%; background:rgba(234, 91, 77,0.8); padding:20px;}
#appli header .screen .open {position:absolute; top:0; right:-40px; background:rgba(234, 91, 77,0.8);}
.screen .choix {position:absolute; top:0; right:-90px;}
.screen .choix span {color:#000; cursor:auto;}
#appli header .screen.active {left:0;}
#appli header li {padding:10px; cursor:pointer;}
#appli header li.active svg path, header li:hover svg path {fill: #fff;}
#appli header li span {font-size:40px;}
#appli header li.active span, header li:hover span {color: #fff;}

header svg {/*display:none;*/}

body.page:not(.home) button#responsive-menu-button {top: 35px!important; right: 10px!important;}

/*FOOTER*/
#appli footer {position:relative; z-index:2; bottom:0; left:0; width:100%;  text-align:center; /*padding:5px;*/}
#appli footer .ct {background:rgba(0,0,0,0.6); padding:5px;}
#appli footer .sstitre {}
/*footer #start span {color:#fff; font-size:20px; height:20px; display:block;}*/
.efds {padding-bottom:10px;}
.efds img {max-width:200px;}
.sstitre {color:#fff; font-size:13px;}

/*sidebar*/
.sidebar {position:absolute; bottom:10px; right:10px;}
.sidebar #start span {color:#fff; font-size:20px; height:20px; display:block;}
/**/
video { position: fixed; right: 0; bottom: 0; min-width: 100%; min-height: 100%; width: auto; height: auto; z-index: -100;}

.bloc {height:calc(100vh - 40px); padding-bottom:40px; min-height:700px;}
#logo-sophro .st0 {fill:#fff; transition:all 5000ms ease;}
#logo h1, #logo h2 {color:#fff; font-size:70px; font-weight:600; text-shadow: 0px 0px 70px rgba(0, 0, 0, 0.6); line-height: 1.1;}
#logo h2 {text-transform: uppercase; font-size:23px;}
#logo h1 .vibes {font-weight: normal; font-size:80px; color:#fff; line-height: 0.7;}
#tel-top {color:#fff; font-weight:600; text-shadow: 0px 0px 70px rgba(0, 0, 0, 0.6); line-height: 1.1; margin-top:20px;}
#logo span.rdv {text-transform: uppercase; font-size:21px; display: block;}
#logo span.lieu {text-transform: uppercase; font-size:21px; display: block;}
#logo a.tel {font-size:70px; letter-spacing: 1.4px; color:#fff;}
#logo span.fct {font-size:65px;}



.vibes {font-family: 'Great Vibes', cursive; font-size:40px;}
#logo h1 span {display:block;}

.group-sons {height:calc(100% - 180px); overflow-y:auto; margin:10px 0;}
.calm {position:fixed; z-index: 10; top:0; right:-600px; width:600px; transition:all 350ms ease; height:100%; background:rgba(68,154,136,0.8); padding:20px;}
.calm > h2 {color:#fff; font-size:16px; height:40px;}
.calm .share {height:50px;}
.calm .open {position:absolute; top:0; left:-40px;}
.calm.active {right:0;}
.calm .mute {position:absolute; top:0; left:-90px;}
.open div, .calm .mute div, .open span, .choix span {font-size:30px; width:40px; height:40px; padding:5px; color:#fff; cursor:pointer; display:block;}
.calm .open div {background:rgba(68,154,136,0.8);}
.calm .mute div {color:#000; font-size:40px; padding:0;}
.calm .mute.active {opacity:0.5;}

.calm .sound {margin:20px auto 40px; max-width:250px; width:50%}
.sound .track_on {margin:10px; opacity:0.5;}
.sound.active .track_on {opacity:1;}
.track_on span {font-size:80px; color:#fff; cursor:pointer;}
.sound .volume_control {opacity:0;}
.sound.active .volume_control {opacity:1;}
.share h2 {font-size:16px; color:#fff;}
.share-button {color:#fff; font-size:28px; padding:5px; cursor:pointer; }


.calm .ui-state-default, .calm .ui-widget-content .ui-state-default, .calm .ui-widget-header .ui-state-default {border:none; background:#fff; border-radius:20px;}
.calm .ui-widget-content {border:none; background:#fff;}
.calm .ui-slider-horizontal {height:2px;}
.calm .ui-slider .ui-slider-handle {width:17px; height:17px;}
.calm .ui-slider-horizontal .ui-slider-handle {top:-8px; margin-left:-8px;}

.calm.active .open div, .screen.active .open div {font-size:20px; padding:10px;}
.calm.active .open div:before, .screen.active .open div:before {content:"\71";}

.mobile .only {display: block;}
.only {display:none; width:100%; height: 100%; position: absolute; top:0; left:0; background:rgba(255,255,255,0.6);}
.only > div { top: 50%; position: relative; transform: translateY(-50%); font-size: 20px; padding: 20px;}

/*rain*/
#background { position:fixed; right: 0; bottom: 0; min-width: 100%; min-height: 100%; width: auto; height: auto;}
.activerain canvas, .activerain #background {z-index:-99; opacity:1; transition:all 350ms ease;}
canvas, #background {z-index:-101; opacity:0;}

/*Joyride*/
.custom {/*right: 0!important; left: auto!important;*/}
.custom.joyride-tip-guide span.joyride-nub {/*right:22px; left:auto!important;*/}
.joyride-tip-guide {border-radius:20px;}
.joyride-tip-guide .joyride-next-tip {color: #2C9AB7; border-radius: 20px; background:#fff; box-shadow:none; border:none; text-shadow:none;}
.joyride-next-tip:hover {color:#2C9AB7!important; border:none; opacity:0.8; border:none!important;}

/*timer*/
.bloc-timer {margin-bottom:20px;}
.bloc-timer > div > div {margin:0 5px;}
.field-timer {background:rgba(255,255,255,0.5); padding:5px 10px; border-radius:30px; width:180px; /*margin:0 auto;*/}
.field-timer input {width:40px; border:none; background:transparent; text-align:center; font-weight:600; font-size:30px; color:#fff; font-family: 'Open Sans', sans-serif;}
.field-timer text {padding-top:15px;}

.timer-bt > div {cursor:pointer; font-size:30px; color:#fff; height:30px; display:block; margin:0 5px;}
.timer-bt > div span {}
.timer-logo {font-size:35px; color:#fff;}
#start-button.stop span:before {content:'\77';}
@keyframes example {
    from {opacity:0;}
    to {opacity:1;}
}
#pause-button.pause {
    animation-name: example;
    animation-duration: 1s;
    animation-iteration-count: infinite;
}

/*popup tel*/
#form-tel {position:fixed; z-index: 9998; top: calc(100% - 40px); left:20%; border-radius:20px; /*background-color:rgb(249,249,249); */ background:linear-gradient(to bottom, #34c4e7 0%,#34c4e7 40px,rgb(249, 249, 249) 40px,rgb(249, 249, 249)100%); text-align:center; max-width:320px; padding:10px 20px 40px; transition:all 350ms ease;}
#form-tel.active {top: calc(100% - 410px);}
#form-tel .top {color:#fff; padding-bottom:20px; cursor:pointer;}
#form-tel .top span {font-size:20px; display:inline-block; vertical-align: top; padding-right:10px;}
#form-tel .titre p {padding:10px 0; margin:0;}
#form-tel .bas {position: relative; height:50px;}
#preloader, #form-tel .bas .btn-fin {display:none;}
#form-tel .fle {position:absolute; top:10px; right:15px;}
#form-tel.active .fa-chevron-down:before { content: "\f077"; }
#form-tel .error {display:none; font-size:11px;}

input[type].typ2 {
    position: relative;
    font-size: 16px;
    width: 100%;
    height: 50px;
    /*margin-bottom: 20px;*/
    border: none;
    background: #fff;
    border-radius: 30px;
    padding: 6px 5px 6px 15px;
    color: #232323;
    font-weight: normal;
    font-family: 'Open Sans', sans-serif;
    -webkit-appearance: none;
    -webkit-text-size-adjust: 100%;
}
.input-group-addon {border-radius: 30px; border:none; position:relative;}
.input-group-addon:not(:last-child) {border-right: 0; height:50px;}
#form-tel .input-group input[type] {/*border-top-left-radius:0; border-bottom-left-radius: 0; border-top-right-radius: 30px; border-bottom-right-radius: 30px;*/ padding-left:40px;}
.picto > i {position:absolute; top:18px; left:20px; z-index:2;}
.input-group input[type] {padding-left:10px;}
#form-tel .btn {border-radius:30px; padding:.75rem 1rem; line-height:1;}
.help-block {display:none; position:absolute; z-index:2; top: -7px; right: 30px; font-size: 12px; color: red; background: #fff; padding: 2px 4px; border-radius: 20px;}
.has-error .help-block {display:block;}
#form-tel .wpcf7-response-output {display:none;}
.sent {}
