/* GLOBAL STYLES
-------------------------------------------------- */
/* FONTS
-------------------------------------------------- */
@font-face {
    font-family: 'work_sansregular';
    src: url('../fonts/worksans-regular-webfont.woff2') format('woff2'), url('../fonts/worksans-regular-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: 'work_sansitalic';
    src: url('../fonts/worksans-italic-webfont.woff2') format('woff2'), url('../fonts/worksans-italic-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: 'work_sansbold';
    src: url('../fonts/worksans-bold-webfont.woff2') format('woff2'), url('../fonts/worksans-bold-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: 'work_sansbold_italic';
    src: url('../fonts/worksans-bolditalic-webfont.woff2') format('woff2'), url('../fonts/worksans-bolditalic-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: 'work_sansmedium';
    src: url('../fonts/worksans-medium-webfont.woff2') format('woff2'), url('../fonts/worksans-medium-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: 'work_sansmedium_italic';
    src: url('../fonts/worksans-mediumitalic-webfont.woff2') format('woff2'), url('../fonts/worksans-mediumitalic-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: 'work_sanssemibold';
    src: url('../fonts/worksans-semibold-webfont.woff2') format('woff2'), url('../fonts/worksans-semibold-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: 'work_sanssemibold_italic';
    src: url('../fonts/worksans-semibolditalic-webfont.woff2') format('woff2'), url('../fonts/worksans-semibolditalic-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}
/* GENERAL
-------------------------------------------------- */
html {
    scroll-behavior: smooth;
}

body {
    font-family: 'work_sansregular', Gotham, "Helvetica Neue", Helvetica, Arial, "sans-serif";
}

main {
    padding-top: 130px;
}
.bg-gradient-primary {
    background: rgb(175, 14, 27);
    background: linear-gradient(20deg, rgba(175, 14, 27, 1) 0%, rgba(230, 51, 41, 1) 100%);
}
.bg-gradient-secondary {
    background: rgb(255, 255, 255);
    background: linear-gradient(20deg, rgba(255, 255, 255, 1) 0%, rgba(242, 242, 242, 1) 100%);
}
.bg-gradient-ter {
    background: rgb(162, 3, 5);
    background: linear-gradient(20deg, rgba(162, 3, 5, 1) 0%, rgba(206, 10, 6, 1) 100%);
}

p {
    color: #333333;
    font-size: 1.1rem;
    line-height: 1.4;
}
h1 {
    font-family: 'work_sansmedium', Gotham, "Helvetica Neue", Helvetica, Arial, "sans-serif";
    font-size: 3em;
}
h2 {
    font-family: 'work_sansbold', Gotham, "Helvetica Neue", Helvetica, Arial, "sans-serif";
    font-size: 3em;
}
h3 {
    font-family: 'work_sansbold', Gotham, "Helvetica Neue", Helvetica, Arial, "sans-serif";
    font-size: 1.5em;
    text-transform: uppercase;
}
h4 {
    font-family: 'work_sansregular', Gotham, "Helvetica Neue", Helvetica, Arial, "sans-serif";
    font-size: 1.8em;
}
.legend {
    color: #f29994;
    font-family: 'work_sansitalic';
}
strong.title {
    font-family: 'work_sansbold', Gotham, "Helvetica Neue", Helvetica, Arial, "sans-serif";
    font-weight: normal;
}
strong.txt {
    font-family: 'work_sanssemibold', Gotham, "Helvetica Neue", Helvetica, Arial, "sans-serif";
    font-weight: normal;
}

.txt-light {
    color: #ffffff;
}
.txt-dark {
    color: #af0e1b;
}
.txt-blue {
    color: #e63329;
}
.txt-red {
color: #e63329;
}
.txt-green {
color: #029f75;
}

.title-section {
    text-transform: uppercase;
    text-align: center;
    margin: 0 0 2em 0;
    letter-spacing: 0.01em;
}
.title-services {
    text-transform: uppercase;
    text-align: left;
    margin: 0 0 1em 0;
    letter-spacing: 0.01em;
}


a {
transition: 0.4s;
}

a:hover {
  color: #e63329;
  text-decoration: none;
}

.ancre {
    position: absolute;
    margin-top: -90px;
}

/* NAVBAR
-------------------------------------------------- */

#navbar {
    overflow: hidden;
    background-color: #ffffff;
    padding: 40px 10px 25px 10px;
    transition: 0.4s;
    position: fixed;
    width: 100%;
    top: 0;
    z-index: 99;
}

#navbar a {
    float: left;
    text-align: center;
    margin: 0px;
    text-decoration: none;
    line-height: 25px;
    color: #e63329;
    font-family: 'work_sansmedium', Gotham, "Helvetica Neue", Helvetica, Arial, "sans-serif";
}
#navtext {
    font-size: 20px;
    transition: 0.4s;

}
#logo {
    margin-top: -15px;
    height: 59px;
    transition: 0.4s;
}

#navbar a:hover {
    color: #af0e1b;
}
#navbar a.active {
    color: #af0e1b;
}
.navbar-toggler {
    margin-top: -10px;
}
@media (min-width: 992px) {
#navbar .navbar-nav a:after {
    display: block;
    content: '';
    border-bottom: 2px solid #af0e1b;
    transform: scaleX(0);
    transition: transform 250ms ease-in-out;
    margin-top: 20px;
}
#navbar .navbar-nav a:hover:after {
    transform: scaleX(1);
}
#navbar .navbar-nav a.active:after {
    display: block;
    content: '';
    border-bottom: 2px solid #af0e1b;
    transform: scaleX(1);
    transition: transform 250ms ease-in-out;
    margin-top: 20px;
}
#navbar .navbar-nav a.active:hover:after {
    transform: scaleX(1);
}
}
@media (max-width: 992px) {
    #navbarCollapse {
        padding-top: 30px;
    }
}



/* CAROUSEL */

.carousel {
    /*margin-bottom: 4rem;*/
}

.carousel-caption {
    /*bottom: 3rem;*/
    z-index: 10;
    bottom: inherit;
}

.carousel-item {
    height: 32rem;
}
.carousel-item > img {
    position: absolute;
    top: 0;
    left: 0;
    min-width: 100%;
    height: 32rem;
}
.carousel-caption {
    right: 0%;
    left: 0%;
}
.bd-placeholder-img {
    font-size: 1.125rem;
    text-anchor: middle;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
@media (min-width: 768px) {
    .bd-placeholder-img-lg {
        font-size: 3.5rem;
    }
}

@keyframes pop-in {
  0% {
    opacity: 0;
    transform: translateX(-4rem);
  }
  100% {
    opacity: 1;
    transform: none;
  }
}

.animate-pop-in {
  animation: pop-in .6s  ease-out forwards;
      opacity: 0;
}

@keyframes pop-in2 {
  0% {
    opacity: 0;
    transform: translateX(4rem);
  }
  100% {
    opacity: 1;
    transform: none;
  }
}
.animate-pop-in2 {
  animation: pop-in2 .6s  ease-out forwards;
      opacity: 0;
}


.car-h1  {
  animation-delay: .6s;
    color: #ffffff;
}
.car-h4  {
  animation-delay: .8s;
    color: #ffffff;
}
.car-btn {
  animation-delay: 1.0s;
}
.car-p {
  animation-delay: 1.2s;
}
.car-img {
  animation-delay: 1.4s;
}

/* BUTTONS */


button, button:hover, button:active, button:focus, button:visited, button:target {
border: none!important;
outline: 0 !important;
box-shadow: none !important;
}

.btn-primary {
    font-family: 'work_sanssemibold', Gotham, "Helvetica Neue", Helvetica, Arial, "sans-serif";
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #fff;
    background-color: #e63329;
    border: none;
    padding: 0.6rem 1.2rem 0.5rem 1.2rem;
}

.btn-primary:hover {
    background-color: #f29994;
}

.btn-content {
    font-family: 'work_sansregular', Gotham, "Helvetica Neue", Helvetica, Arial, "sans-serif";
    letter-spacing: 0.01em;
    color: #fff;
    background-color: #f29994;
    border: none;
    padding: 0.6rem 1.2rem 0.6rem 1.2rem;
}

.btn-content:hover {
    color: #fff;
    background-color: #e63329;
}

.btn-red {
color: #fff;
background-color: #e63329;
}
.btn-red:hover {
color: #fff;
background-color: #af0e1b;
}
.btn-green {
color: #fff;
background-color: #80cfba;
}
.btn-green:hover {
color: #fff;
background-color: #029f75;
}




button#btn-back-to-top {
color: #ffffff;
position: fixed;
bottom: 20px;
right: 20px;
transform: rotate(-90deg);
transition: opacity 0.5s ease-in-out;
opacity: 0;
    z-index: 999;
}

/* FORM */

.opti-form {
    width: 100%;
    color: #e63329;
    opacity: 1;
    margin-bottom: 20px;
    background: auto;
    font-size: 1.1rem;
line-height: 1.4;
    
}
select, input,  textarea {
background-color: transparent !important;
border: none !important;
border-bottom: 1px solid #e63329 !important;
opacity: 1 !important;
    padding-bottom: 20px;
}

input:focus,
select:focus,
textarea:focus,
button:focus {
outline: none;
}
textarea {
  resize: none;
}
::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
  color: #e63329;
  opacity: 1; /* Firefox */
}

:-ms-input-placeholder { /* Internet Explorer 10-11 */
  color: #e63329;
}

::-ms-input-placeholder { /* Microsoft Edge */
  color: #e63329;
}


.opti-radio-label {
  display: inline-block;
  padding: ;
  cursor: pointer;
}
.opti-radio-label span {
  position: relative;
  line-height: 22px;
}
.opti-radio-label span:before,
.opti-radio-label span:after {
  content: '';
}
.opti-radio-label span:before {
  border: 1px solid #e63329;
  width: 20px;
  height: 20px;
  margin-right: 10px;
  display: inline-block;
  vertical-align: top;
    margin-top: 1px;
    background-color: #FFF;
    margin-left: -20px;
}
.opti-radio-label span:after {
  background: #e63329;
  width: 20px;
  height: 20px;
  position: absolute;
  top: -2px;
  left: 0px;
  transition: 300ms;
  opacity: 0;
        margin-left: -20px;
}
.opti-radio-label input:checked+span:after {
  opacity: 1;
}

 input.opti-check {
    visibility: hidden;
}
.checkmark {
  position: absolute;
  height: 20px;
  width: 20px;
  border: 1px solid #e63329;
    margin-left: -20px;
    background-color: #FFF;
        transition: 300ms;
}
.opti-check-label {
  cursor: pointer;
}
.opti-check-label .opti-check-label-txt {
    margin-left: 15px;
}


.opti-check-label input:checked ~ .checkmark {
  background-color: #e63329;
}

.checkmark:after {
  position: absolute;
  display: none;
}


.col-input-label {
    width: 100%;
    padding: 4em;
    border: 1px solid #0d6db4 !important;
    text-align: center;
}
.col-input-label:hover {
color: red;
}


.opti-input-file, input.opti-input-file {
    width: 100%;
    padding: 4em;
    border: 1px solid #e63329 !important;
    text-align: center;
}
    div.fileinputs {position: relative; }
    div.fakefile {
    position: relative;
    top: -40px;
    left: 0px;
    z-index: 1;
    }

    input.file {
    position: relative;
    text-align: center;
    width: 100%;
    padding: 4em;
    border: 1px solid #0d6db4 !important;
    -moz-opacity:0 ;
    filter:alpha(opacity: 0);
    opacity: 0;
    z-index: 2;
    cursor: pointer;
    }

    /* Il y a aussi ds le css 2 classes de boutons : buttonBrowse et Button Add ou on peut modifier leurs positions pixels par pixels sur la page pour bien se superposer avec le bouton invisible browse :*/

.buttonAdd {
    width: 55px;
    height: 50px;
    border: none;
    cursor: pointer;
    background: url("add.jpg") no-repeat left top;
    position: relative;
    top: 10px;
    }

.buttonBrowse {
    width: auto;
    height: auto;
    cursor: pointer;
    background-color: #fff;
    position: relative;
    }




/*  CONTENT */

/*.marketing .col-lg-4 {
    margin-bottom: 1.5rem;
    text-align: center;
}
.marketing h2 {
    font-weight: 400;
}
.marketing .col-lg-4 p {
    margin-right: .75rem;
    margin-left: .75rem;
}*/

section.header .container {
    padding: 0;
}
/* section.header .container .row {
    padding: 100px 0;
} */



section .container {
    padding: 100px 0;
}

.services-btn {
    display:    block;
    padding: 10px 0;
}
.services-btn:hover {
    display:    block;
    padding: 5px 0;
}

.services-img {
    background-color: #ffffff;
    width: 140px;
    height: auto;
    border-radius: 50%;
box-shadow: 0px 0px 5px 5px #e3e3e3;
    transition: 0.4s;
    margin-bottom: 1.5rem;
}
.services-img:hover {
    margin-bottom: ;
}

h3.services-txt {
    color: #e63329;
    margin-bottom: 3rem;
    line-height: 2rem;
}

/*.services-btn:hover h3.services-txt {
    color: #243776;
    font-size: 1.7rem;
    margin-bottom: 3rem;
    line-height: 2.9rem;
}*/

.services-btn, h3.services-txt, .services-img {
    transition: 0.4s;
}

.services-btn:hover img {
    width: 150px;
}

.services-bg {
background-image: url("../img/optimalis-security-accueil-services-circles-bg.png") ;
background-repeat: no-repeat;
background-position: 50% 150%;
background-size: 100%;
}

.testimonial {
    color: #ffffff;
    background-color: #858584;
    padding: 2rem;
    border-radius: .5rem;
    margin-bottom: 0px;
    width: 100%;
}
.testi-svg {
    height: 20px;
    width: auto;
    padding: 0 0 0 0;
    margin: -15px 0 0 80px;
}
.testi-img {
    background-color: #ffffff;
    width: 100%;
    height: auto;
    border-radius: 50%;
    box-shadow: 0px 0px 5px 5px #e3e3e3;
}
.testi-name {
    display: flex;
    align-items: center;
    height: auto;
    margin: 0;
}
.swiper-pagination-bullet-active {
    background: #e63329 !important;
}

.cont-img-circle {
    display: block;
}
.section-img {
    display: block;
    width: 60%;
    height: 0;
    padding-bottom: 60%;
    position: absolute;
    left: 20%;
    margin-top: 20%;
    border-radius: 50%;
    overflow: hidden;
    line-height: 0;
    top: -15px;
}
.section-img-services {
    width: 100% !important;
    padding-bottom: 100% !important;
}

.section-img-light {
    box-shadow: 0px 0px 5px 5px #e3e3e3;
}
.section-img-dark {
box-shadow: 0px 0px 5px 5px #e3e3e3;
}
.w-60pc {
    width: 60%;
}
.w-100pc {
    width: 100%;
}
.v-center {
     margin: 0;
  position: absolute;
    
  top: 50%;
  left: 50%;

  -ms-transform: translateY(-50%) translateX(-50%);
  transform: translateY(-50%) translateX(-50%);
 
}

.header-circles-center {
/*display: block;*/
width: 100%;
/*position: sticky;
top: 50%;
left: 50%;*/

/*-ms-transform: translateY(-50%) translateX(-50%);
transform: translateY(-50%) translateX(-50%);*/
}
.header-accueil-bg {
background:  no-repeat  url("../img/optimalis-security-accueil-header-img-bg.png");
background-size: contain;
}
.header-services-bg {
background:  no-repeat  url("../img/optimalis-security-services-header-img-bg.png");
background-size: contain;
}

.header-principes-bg {
background:  no-repeat  url("../img/optimalis-security-principes-header-img-bg.png");
background-size: contain;
}

.header-recrutement-bg {
background:  no-repeat  url("../img/optimalis-security-recrutement-header-img-bg.png");
background-size: contain;
}

.header-contact-bg {
background:  no-repeat  url("../img/optimalis-security-contact-header-img-bg.png");
background-size: contain;
}


.section-img-light img, .section-img-dark img,  .section-img img {
    width: 100%;
}
.section-circles {
    display: block;
    width: 100%;
    height: 100%;
    /* z-index: 0; */
}
.section-circles img, .section-circles-center img, .header-circles-center img {
    width: 100%;
}
.section-circles-center {
display: block;
width: 100%;
margin: 0;
position: absolute;
top: 50%;
left: 50%;

-ms-transform: translateY(-50%) translateX(-50%);
transform: translateY(-50%) translateX(-50%);
}
.header-img-center {
  margin: 0;
  position: absolute;
    
  top: 50%;
  left: 50%;

  -ms-transform: translateY(-50%) translateX(-50%);
  transform: translateY(-50%) translateX(-50%);
    }
.img-center {
  margin: 0;
  position: absolute;
    
  top: 50%;
  left: 50%;

  -ms-transform: translateY(-50%) translateX(-50%);
  transform: translateY(-50%) translateX(-50%);
    }


@media (max-width: 1199.98px) {
/* .header-circles-center {
margin: 0;
position: absolute;
top: 50%;
left: 50%;
-ms-transform: translateY(-46%) translateX(-50%);
transform: translateY(-46%) translateX(-50%);
} 
    
section.header .container .row {
  padding: 25px 0;
} */
    
.testi-svg {
    height: 15px;
        margin: -15px 0 0 70px;
}
.car-h1  {
font-size: 2.4em ;
}
.car-h4  {
font-size: 1.5em ;
}
.car-p {
font-size:1.3em;
}

}

@media (max-width: 991.98px) {

/* .header-circles-center {
margin: 0;
position: absolute;
top: 50%;
left: 50%;
-ms-transform: translateY(-29%) translateX(-50%);
transform: translateY(-29%) translateX(-50%);
}*/
    
.car-h1  {
font-size: 2.1em ;
}
.car-h4  {
font-size: 1.2em ;
}
.car-p {
font-size:1.0em;
}
/* .header-img-center, .header-circles-center {
  -ms-transform: translateY(-45%) translateX(-50%);
  transform: translateY(-45%) translateX(-50%);
}*/
.img-center {
  -ms-transform: translateY(-50%) translateX(-50%);
  transform: translateY(-50%) translateX(-50%);
}

.testi-svg {
    height: 10px;
        margin: -16px 0 0 50px;
}

}
@media (max-width: 768px) {
/*.header-circles-center {
  margin: 0;
  position: relative;
  top: 1.8%;
  left: auto;
  -ms-transform: translateY(0%) translateX(0%);
  transform: translateY(0%) translateX(0%);
} */
 .header-img-center {
  -ms-transform: translateY(-50%) translateX(-50%);
  transform: translateY(-48.2%) translateX(-50%);
}
 .img-center {
  -ms-transform: translateY(-50%) translateX(-50%);
  transform: translateY(-48.2%) translateX(-50%);
}
.services-bg {
background-image: none;
    }
.testi-svg {
    height: 20px;
        margin: -15px 0 0 25px;
}
    .car-h1  {
margin-top: 20px; ;
}

}
@media (max-width: 575.98px) {
section.header .container .row, section .container .row, .footer-primary {
padding: 25px !important;
}
.footer-primary .container .row .col-md-4 {
        margin-bottom: 25px;
}
.row {
  margin-right: 0px;
  margin-left: 0px;
}

#navbar {
    padding-left: 40px !important;
    padding-right: 40px !important;
}
    
.header-circles-center {
margin-bottom: -17px;
}
            .testi-svg {
        height: 15px;
        margin: -15px 0 0 60px;
    }

}


/*.serv-list li {
list-style-type: '› ';
}*/

ul.serv-list, ul.serv-list-ss {
list-style: none;
color: #333333;
font-size: 1.1rem;
line-height: 1.4;
margin-bottom: 3em;
}
ul.serv-list-ss {
padding-left: 20px;
    margin-top: 0.5em;

}

ul.serv-list li::before {
font-family: 'work_sanssemibold', Gotham, "Helvetica Neue", Helvetica, Arial, "sans-serif";
content: "›";
color: #f29994;
display: inline-block;
width: 1em;
margin-left: -1em;
}

ul.serv-list li, ul.serv-list-ss li {
    margin-bottom: 0.5em;
}

ul.serv-list-ss li::before {
font-family: 'work_sanssemibold', Gotham, "Helvetica Neue", Helvetica, Arial, "sans-serif";
content: "»";
color: #66b3e3;
display: inline-block;
width: 1em;
margin-left: -1em;
    
}

ul.serv-list-blue li::before {
color: #66b3e3;
}
ul.serv-list-red li::before {
color: #f29994;
}
ul.serv-list-green li::before {
color: #80cfba;
}



.services-picto-left {
position: absolute;
margin: 0;
top: 50%;
left: 50%;
-ms-transform: translateY(-125%) translateX(25%);
transform: translateY(-125%) translateX(25%);
}
.services-picto-right {
position: absolute;
margin: 0;
top: 50%;
left: 50%;
-ms-transform: translateY(-125%) translateX(-65%);
transform: translateY(-125%) translateX(-65%);
}
.services-picto-iso {
position: absolute;
margin: 0;
top: 50%;
left: 50%;
-ms-transform: translateY(25%) translateX(15%);
transform: translateY(25%) translateX(15%);
}

.services-picto-img {
    background-color: #ffffff;
    width: 50%;
    height: auto;
    border-radius: 50%;
box-shadow: 0px 0px 5px 5px #e3e3e3;
    transition: 0.4s;
}


/* @media (min-width: 768px) and (max-width: 992px) {
.services-picto-left {
-ms-transform: translateY(-190%) translateX(20%);
transform: translateY(-190%) translateX(20%);
}
.services-picto-right {
-ms-transform: translateY(-125%) translateX(-65%);
transform: translateY(-125%) translateX(-65%);
}
} */


@media (max-width: 768px) {
.order-in {
order: 1;
}
.title-space {
padding-top: 50px;        
}
.btn-content-768 {
text-align: left;
line-height: 1.1em;
text-indent: -16px;
padding-left: 32px;
    }
    
    .foot-link {
margin-top: 0 !important;
margin-bottom:16px !important;
}

}

.btn-recrut-video {
    color: #ffffff;
    background-color: #e63329;
    padding: 2rem;
    border-radius: .5rem;
    margin-bottom: 0px;
    width: 100%;
    height: 100%;
    transition: 0.4s;

}
a:hover .btn-recrut-video {
    background-color: #af0e1b;
    transition: 0.4s;
}
a:active .btn-recrut-video {
    background-color: #af0e1b;
    transition: 0.4s;
}





/* FOOTER */

.footer-primary {
padding: 100px 0 25px 0;
}

.footer-secondary {
padding: 10px 0;
}
.footer-secondary p {
font-size: 1rem;
}


footer, footer p, footer a {
color: #ffffff;
}

.logo-footer {
max-height: 60px;
max-width: 100%;
}

.facebook {
margin-right: 10px;
}
.linkedin, .facebook {
fill:#FFF;
transition: 0.4s;
}

.linkedin:hover, .facebook:hover {
fill:#e63329;
}



.foot-link {
margin-top: revert;
margin-bottom: revert;
}


/* RESPONSIVE CSS
-------------------------------------------------- */
@media (min-width: 40em) {
    /* Bump up size of carousel content */
    .carousel-caption p {
        margin-bottom: 1.25rem;
        /*font-size: 1.25rem;*/
        line-height: 1.4;
    }
    .featurette-heading {
        font-size: 50px;
    }
}
@media (min-width: 62em) {
    .featurette-heading {
        margin-top: 7rem;
    }
}