/**
 * All elements
 */

.form-item { margin-bottom: 15px; position:relative; }
.form-item label { display: inline-block; margin:0; }

.form-item.required label { position:relative; }
.form-item.required label:after { content:'*'; color:#d9534f; }

.form-item .message { font-size:10px; position:absolute; right:0; top:8px; }

/**
 * Textfields & Textarea
 */

.form-item.textfield input,
.form-item.textarea textarea { display: block; width: 100%; padding: 10px; border: 1px solid rgba(0, 0, 0, 0.15); }
.form-item.textfield input:focus,
.form-item.textarea textarea:focus { outline: none; border-color: rgba(0, 0, 0, 0.40); }

.form-item.textfield.success,
.form-item.textarea.success { color:#5cb85c; }
.form-item.textfield.success input { border-color:#5cb85c; }
.form-item.textarea.success textarea { border-color:#5cb85c; }

.form-item.textfield.error,
.form-item.textarea.error { color:#d9534f; }
.form-item.textfield.error input { border-color:#d9534f; }
.form-item.textarea.error textarea { border-color:#d9534f; }


/**
 * Checkbox & Radio
 */

.form-item.checkbox,
.form-item.radio { line-height: 20px; }
.form-item.checkbox input,
.form-item.radio input { width:20px; height:20px; float:left; margin-right:10px; }
.form-item.checkbox label,
.form-item.radio label { position:relative; margin-bottom: 0; cursor: pointer; }

.form-item.checkbox span:before,
.form-item.radio span:before { content:''; position:absolute; left:0; top:0; width:20px; height:20px; border:1px solid rgba(0, 0, 0, 0.15); background:#fff; }

.form-item.checkbox span:after,
.form-item.radio span:after { content:''; position:absolute; left:3px; top:3px; width: 14px; height:14px; background:rgba(0, 0, 0, 0.15); opacity:0; transition:all 0.5s ease 0s; }

.form-item.checkbox input:checked+span:after,
.form-item.radio input:checked+span:after { opacity: 1; }

.form-item.checkbox.error,
.form-item.radio.error { color:#d9534f; }
.form-item.checkbox.error span:before,
.form-item.radio.error span:before{ border-color:#d9534f; }
.form-item.checkbox.error span:after,
.form-item.radio.error span:after{ background-color:#d9534f; }

.form-item.checkbox.success,
.form-item.radio.success { color:#5cb85c; }
.form-item.checkbox.success span:before,
.form-item.radio.success span:before{ border-color:#5cb85c; }
.form-item.checkbox.success span:after,
.form-item.radio.success span:after{ background-color:#5cb85c; }

.form-item.checkbox .message:before,
.form-item.checkbox .message:after,
.form-item.radio .message:before,
.form-item.radio .message:after { content:none; }

/* checkbox */

.form-item.checkbox span:before,
.form-item.checkbox span:after { border-radius: 0; }

/* Radio */

.form-item.radio span:before,
.form-item.radio span:after { border-radius: 50%; }

/**
 * Switch
 */

.form-item.switch .bootstrap-switch { border-radius:0; }
.form-item.switch .bootstrap-switch .bootstrap-switch-handle-on { border-radius:0; background-color:#5cb85c; color:#fff; }
.form-item.switch .bootstrap-switch .bootstrap-switch-handle-off { border-radius:0; background-color:#d9534f; color:#fff; }

.form-item.switch.required .bootstrap-switch-label { position:relative; }
.form-item.switch.required .bootstrap-switch-label:after { content:'*'; color:#d9534f; }

.form-item.switch.error .bootstrap-switch { border-color:#d9534f; }
.form-item.switch.error .bootstrap-switch-label { color:#d9534f; }

.form-item.switch.success .bootstrap-switch { border-color:#5cb85c; }
.form-item.switch.success .bootstrap-switch-label { color:#5cb85c; }

/**
 * Select
 */

.form-item.select .selectize-control { line-height:normal; }
.form-item.select .selectize-input { padding:13px; display:block; }
.form-item.select .selectize-input,
.form-item.select .selectize-input.focus { border-radius: 0; box-shadow: none; }
.form-item.select .selectize-input.focus,
.form-item.select .selectize-dropdown { border-color:rgba(0, 0, 0, 0.40); }
.form-item.select .selectize-dropdown .optgroup-header { color: #aaa; text-transform: uppercase; font-size: 12px }
.form-item.select .selectize-control.multi .selectize-input > div { padding:7px 5px; }

.form-item.select.error { color:#d9534f; }
.form-item.select.error .selectize-input { border-color:#d9534f; }
.form-item.select.success { color:#5cb85c; }
.form-item.select.success .selectize-input { border-color:#5cb85c; }

/**
 * Addresses
 */

.form-item.address .ap-input { height:auto; line-height:auto; border-radius:0; }
.form-item.address .ap-dropdown-menu { color:#000; }

/**
 * Submit
 */

.form-item.submit { margin-top:15px; text-align:center; }
/*
.form-item.submit button { padding: 10px 20px; border: 1px solid rgba(0, 0, 0, 0.15); background: none; cursor: pointer; transition:all 0.5s ease 0s; }
.form-item.submit button:focus,
.form-item.submit button:active { outline: none; border-color: rgba(0, 0, 0, 0.40); }
*/

.form-item.submit.loading button { position:relative; }
.form-item.submit.loading button:before { content:''; position:absolute; left:0; top:0; width:100%; height:100%; background:rgba(255, 255, 255, 0.95); }
.form-item.submit.loading button:after { content:"\f021"; animation: fa-spin 2s infinite linear; font-family:'fontAwesome'; font-size:20px; width:20px; height:20px; line-height: 20px; position:absolute; left:50%; top:50%; margin:-10px 0 0 -10px; }
body { font-family:'Raleway'; font-weight:normal; }

h1 { color:#8a683b; font-weight:bold; font-size:70px; line-height:1em; padding-top:30px; overflow:hidden; position:relative; }
h1 span { font-weight:normal; color:#626262; display:block; font-size:40px; }
h1 span.hline { height:8px; }

h2 { color:#8a683b; font-weight:bold; font-size:70px; line-height:1em; text-transform:uppercase; position:relative; padding-top:30px;}
h2 span.hline { height:8px; }

img { max-width:100%; height:auto; }

a {  }
a:hover { text-decoration:none; }

.btn { display:inline-block; padding:15px 50px; margin-bottom:15px; background:#fff; cursor:pointer; border:2px solid #8a683b; color:#8a683b; text-transform:uppercase; font-weight:bold; transition:all 0.5s ease 0s; }
.btn:hover { background:#8a683b; color:#fff; }

button:focus { outline:0; }

.rellax.stay { transform:translate3d(0px, 0px, 0px) !important; }

.hline { position:absolute; left:0; top:0; width:50px; height:3px; overflow:hidden; }
.hline:before { content:''; position:absolute; top:0; height:8px; width:100%; display:block; background:#8a683b; animation:2s ease 0s forwards 2.5 running lineH }

.vline { position:absolute; display:block; left:0; bottom:20px; width:3px; height:100px; overflow:hidden; }
.vline:before { content:''; display:block; position:absolute; left:0; bottom:0; height:100%; width:3px; background:#8a683b; animation:3s ease 1s forwards infinite running lineV; width:100%; }


.swiper-wrapper { box-sizing:border-box; }
.swiper-button-prev,
.swiper-button-next { background:rgba(0,0,0,0.3); border:none; width:60px; height:60px; }
.swiper-button-prev { left:0; }
.swiper-button-next { right:0; }
.swiper-button-prev:before { font-family:'Fontawesome'; color:#fff; content:"\f177"; left:0; }
.swiper-button-next:before { font-family:'Fontawesome'; color:#fff; content:"\f178"; right:0; }

.hamburger { padding:0; outline:0; position:relative; z-index:3; }
.hamburger:hover { opacity:1; }
.hamburger .text { position:relative; bottom:6px; margin-right:10px; color:#a2a2a2; text-transform:uppercase; }
.hamburger-inner, .hamburger-inner:after, .hamburger-inner:before { background:#707070; border-radius:0; }


#header { padding:50px 0; text-align:right; position:fixed; left:0; top:0; width:100%;  z-index:100; background:#fff; transition:all 0.5s ease 0s; }
#header .menu { position:fixed; left:0; top:0; width:100%; padding:150px 0; overflow:hidden; background:#e9edef; z-index:2; transition:all 0.5s ease 0s; text-align:center; transform:translateX(100%);}
#header .menu ul { padding:0; }
#header .menu li { display:block; margin:15px 0; }
#header .menu a { text-transform:uppercase; color:#707070; font-size:26px; }
#header .menu a:hover { color:#8a683b; font-weight:bold; }
#header.open .menu { transform:translateX(0); }
#header.headroom--unpinned { transform:translateY(-100%); }
#header.headroom--not-top { background:#fff; padding:20px 0; }
#header .hline { left:50%; transform:translateX(-50%); top:100px; }

#accueil { margin-top:130px; }
#accueil .swiper-slide { padding:0 40px;  }

#intro { margin:20px 0; }
#intro h2 { color:#626262; font-weight:normal; font-size:24px; text-transform:none; line-height:1.5em; margin-bottom:40px; }
#intro .container-fluid { padding-left:0; padding-right:0; }
#intro .row { margin-left:0; margin-right:0; }
#intro .left { padding-left:0; padding-right:40px; }
#intro .right { display:flex; flex-direction:column; justify-content:center; margin-left:70px; }
#intro .right p { font-style:italic; }
#intro .right p.more { font-style:normal; }
#intro .more { font-weight:bold; text-transform:uppercase; color:#8a683b; font-size:24px; position:relative; padding-top:20px; margin-top:20px; display:block; }
#intro .hline:before { animation:4s ease 1.5s forwards 4.5 running lineH; }

#presentation { background:#dcdcdc; z-index:2; position:relative; }
#presentation .swiper-container { padding:150px 0; }
#presentation .swiper-wrapper { box-sizing:border-box; }
#presentation .swiper-slide { padding-top:50px; padding-right:50px; }
#presentation .swiper-nav { position:absolute; left:50%; bottom:155px; transform:translateX(-50%); z-index:10; }
#presentation .swiper-button-prev, 
#presentation .swiper-button-next { width:auto; height:auto; background:none; top:20px; }
#presentation .swiper-button-prev { left:-40px; }
#presentation .swiper-button-next { right:-40px; }
#presentation .swiper-button-prev:before, 
#presentation .swiper-button-next:before { color:#535353; }
#presentation .swiper-pagination { bottom:-30px; }
#presentation .swiper-pagination-bullet { margin:0 5px; }
#presentation .swiper-pagination-bullet-active { background:#8a683b; }

#presentation .row { background:#fff; min-height:460px; }
#presentation .left { padding:50px; }
#presentation .left p { position:relative; padding-top:30px; overflow:hidden; }

#presentation .vright { left:auto; right:0; }
#presentation .vright:before {animation:3s ease 2s forwards infinite running lineV2; }


#presentation .right img { position:absolute; right:-50px; top:50px; }


#mignonettes { padding:80px 0; }
#mignonettes h2 { margin-bottom:80px; }

#mignonettes .sidebar { border:1px solid #d9d9d9; padding:20px 20px 20px 40px; }
#mignonettes .sidebar .pays { padding:0; margin:0; list-style:none; font-weight:bold; text-transform:uppercase; }
#mignonettes .sidebar .pays a { color:#a2a2a2; }
#mignonettes .sidebar .pays a:hover { text-decoration:none; }
#mignonettes .sidebar .region { padding-left:30px; list-style:none; font-weight:normal; color:#626262; text-transform:none; font-size:15px; }
#mignonettes .sidebar .region li { margin:5px 0; display:block; }
#mignonettes .sidebar .children { }
#mignonettes .sidebar .children:before { float:right; display:block; content:"\f105"; font-family:'Fontawesome'; color:#a7a7a7; transition:all 0.2s ease 0s; }
#mignonettes .sidebar .children.active:before { transform:rotate(90deg); }
#mignonettes .sidebar label { margin:0; padding:0; cursor:pointer; color:#a2a2a2; }
#mignonettes .sidebar input { display:none; }
#mignonettes .sidebar li li.active label span { font-weight:bold; }

#mignonettes .sidebar .form-item.select .selectize-dropdown .option { font-weight:bold; color:#777; text-transform:uppercase; font-size:12px; }
#mignonettes .sidebar .form-item.select .selectize-dropdown .optgroup .option { font-weight:normal; color:#777; text-transform:none; font-size:13px; }

#mignonettes article .image { position:relative; overflow:hidden; min-height:240px; margin-bottom:30px; }
#mignonettes article .image img {  transition:all 0.5s ease 0s; position:absolute; }
#mignonettes article h3 { text-align:center; }
#mignonettes article h3 span { display:block; }
#mignonettes article h3 .pays { text-transform:uppercase; color:#a2a2a2; font-weight:bold; }
#mignonettes article h3 .region { color:#626262; font-weight:normal; }
#mignonettes article:hover img { transform:scale(1.1); }

#mignonettes .pagination { list-style:none; text-align:right; margin:20px 0; }
#mignonettes .pagination li { display:inline-block; }
#mignonettes .pagination li a { display:inline-block; width:30px; height:30px; line-height:30px; text-align:center; color:#535353; }
#mignonettes .pagination li.active a { color:#8a683b; font-weight:bold; }
#mignonettes .pagination li.disabled { display:none; }
body #mignonettes .results i { position:absolute; left:50%; top:50px; width:50px; height:50px; transform:translate(-50%, -50%); font-size:50px; display:none; }
body #mignonettes .results .empty { font-size:30px; border:1px solid #ddd; padding:20px 50px; }
body #mignonettes .results .empty i { position:static; display:inline-block; font-size:40px; left:auto; top:auto; right:auto; bottom:auto; transform:none; }

body.oc-loading #mignonettes .results:before { content:''; position:absolute; left:0; top:0; width:100%; height:100%; background:rgba(255,255,255,0.8); z-index:2; }
body.oc-loading #mignonettes .results i { display:block; }

#contact .swiper-container { background:#dcdcdc; }
#contact .swiper-slide { padding:80px 0; }
#contact .container { background:#fff; padding:80px; }

#contact .text { background:url(../themes/mignonettes/assets/img/contact-bg.jpg) no-repeat left top; background-size:cover; text-align:center; }
#contact .text h2 { font-size:30px; margin-bottom:40px; position:relative; padding-top:50px; }
#contact .text h2 .hline { left:50%; transform:translateX(-50%); }

#contact .text p { font-size:20px; color:#707070; line-height:1.8em; }
#contact .text em { font-size:16px; }
#contact .text .btn { margin-top:40px; }

#contact .close { position:absolute; right:20px; top:20px; color:#707070; font-size:22px; width:20px; height:20px; }
#contact .close:before { content:''; width:20px; height:3px; background:#707070; transform:rotate(-45deg); display:block; position:absolute; left:0; top:0; }
#contact .close:after { content:''; width:20px; height:3px; background:#707070; transform:rotate(45deg); display:block; position:absolute; left:0; top:0; }

#contact .form { background:#dcdcdc; }

.form-item { margin-bottom:15px; padding-bottom:20px; }
.form-item .message { top:auto; bottom:0; }
.form-item.required label { position:absolute; top:50%; transform:translateY(-50%); transition:all 0.3s ease 0s; cursor:text; }

.form-item.textfield input { border:none; border-bottom:1px solid #cccccc; padding:15px 0 10px 0; }
.form-item.textarea textarea { overflow:hidden; height:0; border:none; border-bottom:1px solid #cccccc; padding:15px 0 10px 0; height:50px; transition:all 0.5s ease 0s; }
.form-item.submit { margin-top:50px; margin-bottom:0; padding-bottom:0; text-align:left; }

.form-item.active label { top:0; font-size:14px; }
.form-item.textarea.active textarea { height:150px; }

.form-item.select .selectize-dropdown .optgroup-header { font-weight:bold; color:#777; }

@keyframes lineH {
  0% { left: -100%; }
  50% { left: 0; }
  100% { left: 100%; }
}
@keyframes lineV {
  0% { top: -100%; }
  50% { top: 0; }
  100% { top: 100%; }
}
@keyframes lineV2 {
  0% { bottom: -100%; }
  50% { bottom: 0; }
  100% { bottom: 100%; }
}

.merci { text-align:center; margin-top:100px; } 
.merci h1 { margin-bottom:20px; line-height:1.4em; } 

footer{
  text-align: center;
}

footer ul{
  display: flex;
  flex-direction: row;
  justify-content: center;
}
footer li{
  list-style-type: none;
  margin: 15px;
}

.legal table { width:100%; margin:2em 0; }
.legal table th,
.legal table td { padding:1em; border:1px solid rgba(0,0,0,0.25); }
.legal { margin:60px auto; }
.legal h1 { font-size:4rem; margin:150px 0 1em 0; }
.legal h2 { font-size:3rem; margin:1em 0; }
.legal h3 { font-size:2.5rem; margin:1em 0; }
.legal h4 { font-size:2rem; margin:1em 0; }
.legal h5 { font-size:1.5rem; margin:1em 0; }
.legal table { width:100%; margin:2em 0; }
.legal table th,
.legal table td { padding:1em; border:1px solid rgba(0,0,0,0.25); }
/**
 * Large devices (desktops, less than 1200px)
 **/
@media (max-width: 1199px) {
  #intro .right { margin-left:20px; }
  #intro h2 { font-size:18px; margin-bottom:20px; }
  #intro .right p { font-size:14px; }
  #intro .more { margin-top:20px; margin-bottom:20px; font-size:18px; }
  #intro .more:before { margin-top:20px; margin-bottom:20px; }
}

/**
 * Medium devices (tablets, less than 992px)
 **/
@media (max-width: 991px) {
  h1 { position:relative; font-size:50px; margin-top:20px; }
  h1:before { top:auto; bottom:0; left:0; position:absolute; margin:0; }
  h2 { font-size:50px; }
  
  #accueil .left { order:2; }
  #accueil .right { order:1; }
  #accueil .swiper-slide { padding:0; }
  
  #intro { padding-bottom:50px; }
  #intro .left { display:none; }
  #intro .right { margin-left:0; }
  #intro .container-fluid { width:720px; }
  
  #mignonettes .sidebar { padding:10px; font-size:15px; }
  #mignonettes .sidebar .region { font-size:14px; }
  
  #mignonettes .right .image { min-height:0; }
  #mignonettes .right .image img { position:static; }
  
  
}

/**
 * Small devices (landscape phones, less than 768px)
 **/
@media (max-width: 767px) {
  
  #intro .container-fluid { width:540px; }
  
  #presentation { padding:100px 0; }
  #presentation .left { order:2; }
  #presentation .right { order:1; }
  #presentation .right img { position:static; right:auto; top:auto; }
  #presentation .swiper-container { background:#fff; padding:0 0 30px 0; }
  #presentation .swiper-slide { padding-top:0; padding-right:0; }
  #presentation .swiper-nav { bottom:5px; }
  #presentation .vline { display:none; }
  
  #mignonettes { display:none; }
  #mignonettes .sidebar { border:none; padding:0; }
  
}

/**
 * Extra small devices (portrait phones, less than 544px)
 **/
@media (max-width: 543px) {
  h1 { }
  h2 { font-size:30px; }

  #mignonettes article .image { text-align:center; }
  #intro .container-fluid { width:auto; }
  
  #contact .container { margin:15px; padding:40px 20px; }

  
}