@import url(https://use.typekit.net/jvl0jwy.css);
@font-face {
font-family: 'gotham-narrow-light';
src: url(//optifinance.ca/wp-content/themes/optifinance/fonts/GothamNarrow-Light.otf);
font-weight: 300;
font-display: swap;
}
@font-face {
font-family: 'gotham-narrow-medium';
src: url(//optifinance.ca/wp-content/themes/optifinance/fonts/GothamNarrow-Medium.otf);
font-weight: 500;
font-display: swap;
}
@font-face {
font-family: 'gotham-narrow-bold';
src: url(//optifinance.ca/wp-content/themes/optifinance/fonts/GothamNarrow-Bold.otf);
font-weight: 700;
font-display: swap;
} :root {
--couleur-blanc: #ffffff;
--couleur-noir: #000000;
--couleur-primaire: #3E454F;
--couleur-secondaire: #EEECED;
--couleur-tierce: #C7A04F;
--global-font-family: "gotham-narrow-light";
--title-font-family: "scotch-display";
--menu-font-family: 'gotham-narrow-light';
--global-font-size: 1.5rem;
--global-line-height: 2.1rem;
--global-font-weight: 300;
--global-letter-spacing: 0;
--menu-font-size: 1.6rem;
--menu-line-height: 2.2rem;
--menu-font-weight: 600;
--menu-letter-spacing: 0;
--h1-font-family: var(--title-font-family);
--h1-font-size: 2.8rem;
--h1-line-height: 4.5rem;
--h1-font-weight: 700;
--h1-letter-spacing: 0;
--h2-font-family: var(--title-font-family);
--h2-font-size: 2.3rem;
--h2-line-height: 2.9rem;
--h2-font-weight: 700;
--h2-letter-spacing: 0;
--h3-font-family: var(--global-font-family);
--h3-font-size: 1.8rem;
--h3-line-height: 2.6rem;
--h3-font-weight: 300;
--h3-letter-spacing: 0;
--h4-font-family: var(--global-font-family);
--h4-font-size: 1.5rem;
--h4-line-height: 2.2rem;
--h4-font-weight: 400;
--h4-letter-spacing: 0;
--cta-font-family: var(--menu-font-family);
--cta-font-size: 1.8rem;
--cta-line-height: 2.3rem;
--cta-font-weight: 300;
--cta-letter-spacing: 0;
--padding-y-section: 50px;
--bs-custom-gutter-x: 15px!important;
}
@media (min-width:992px) {
:root {
--menu-font-size: 1.5em;
--menu-line-height: 2.1rem;
--global-font-size: 1.7rem;
--global-line-height: 2.3rem;
--h1-font-size: 4rem;
--h1-line-height: 6.1rem;
--h2-font-size: 3.7rem;
--h2-line-height: 4.7rem;
--h3-font-size: 2rem;
--h3-line-height: 2.8rem;
--h4-font-size: 1.5rem;
--h4-line-height: 2.2rem;
--cta-font-size: 2rem;
--cta-line-height: 2rem;
--padding-y-section: 100px;
}
} .row{
--bs-custom-gutter-x: 15px!important;
margin-right: calc(var(--bs-custom-gutter-x)/ -1);
margin-left: calc(var(--bs-custom-gutter-x)/ -1);
}
.row>* {
--bs-custom-gutter-x: 15px!important;
padding-right: calc(var(--bs-custom-gutter-x)/ 1);
padding-left: calc(var(--bs-custom-gutter-x)/ 1);
}
.container,
.container-fluid,
.container-lg,
.container-md,
.container-sm,
.container-xl,
.container-xxl {
width: 100%;
--bs-custom-gutter-x: 15px!important;
padding-right: var(--bs-custom-gutter-x,.5rem);
padding-left: var(--bs-custom-gutter-x,.5rem);
margin-right: auto;
margin-left: auto;
} *{
margin: 0;
padding: 0;
}
html{
font-size: 10px;
}
body{
font-family: var(--global-font-family);
background-color: var(--couleur-secondaire);
color: var(--couleur-primaire);
}
h1{
position: relative;
font-family: var(--h1-font-family);
font-size: var(--h1-font-size);
line-height: var(--h1-line-height);
font-weight: var(--h1-font-weight);
letter-spacing: var(--h1-letter-spacing);
margin-bottom: 90px;
}
h1 span{
font-family: var(--h1-font-family);
font-size: var(--h1-font-size);
line-height: var(--h1-line-height);
font-weight: 600;
font-style: italic;
color: var(--couleur-tierce);
}
h2{
position: relative;
font-family: var(--h2-font-family);
font-size: var(--h2-font-size);
line-height: var(--h2-line-height);
font-weight: var(--h2-font-weight);
letter-spacing: var(--h2-letter-spacing);
margin-bottom: 0;
}
h2 span{
font-family: var(--h2-font-family-span);
font-size: var(--h2-font-size-span);
line-height: var(--h2-line-height-span);
font-weight: var(--h2-font-weight-span);
letter-spacing: var(--h2-letter-spacing-span);
}
h2.h2{
position: relative;
font-size: 3.6rem;
line-height: 4.5rem;
font-weight: 600;
letter-spacing: 1.8px;
text-transform: none;
}
h3{
position: relative;
font-family: var(--h3-font-family);
font-size: var(--h3-font-size);
line-height: var(--h3-line-height);
font-weight: var(--h3-font-weight);
letter-spacing: var(--h3-letter-spacing);
text-transform: uppercase;
}
h4,
.h4{
position: relative;
font-family: var(--h4-font-family);
font-size: var(--h4-font-size);
line-height: var(--h4-line-height);
font-weight: var(--h4-font-weight);
color: var(--couleur-pale);
letter-spacing: var(--h4-letter-spacing);
text-transform: uppercase;
}
p,
a,
span,
li,
i{
font-family: var(--global-font-family);
font-size: var(--global-font-size);
line-height: var(--global-line-height);
font-weight: var(--global-font-weight);
letter-spacing: var(--global-letter-spacing);
}
strong, b{
font-family: "gotham-narrow-bold", sans-serif;
font-weight: 700;
}
ul,
li{
list-style-type: none;
padding-left: 0;
}
ul.menu{
margin-bottom: 0;
}
a{
display: inline-block;
text-decoration: none;
opacity: 1;
transition: all .3s ease;
}
a:hover{
color: inherit;
transition: all .3s ease;
}
[class*="menu-item"] a{
display: inline-block;
text-decoration: none;
opacity: 1;
transition: all .3s ease;
}
[class*="menu-item"] a:hover,
.current-menu-item a{
color: inherit;
transition: all .3s ease;
}
.cta-small{
position: relative;
display: inline-flex;
visibility: visible;
opacity: 1;
width: max-content;
align-items: center;
font-family: var(--cta-font-family);
font-size: var(--cta-font-size);
line-height: var(--cta-line-height);
font-weight: var(--cta-font-weight);
color: var(--couleur-primaire);
text-transform: uppercase;
letter-spacing: var(--cta-letter-spacing);
padding-right: 50px;
}
.cta-small:before{
content: '';
display: block;
position: absolute;
top: 0;
right: 0px;
width: 16px;
height: 16px;
border-top: 5px solid var(--couleur-tierce);
border-right: 5px solid var(--couleur-tierce);
background-color: transparent;
transform: rotateZ(0) translate(0);
transition: all .3s;
}
.cta-small:hover:before{
transform: rotateZ(0) translate(-20%,20%);
transition: all .3s;
animation: scrollDown 2s .3s infinite;
}
@keyframes scrollDown {
0%{
transform: rotateZ(0) translate(-20%,20%);
}
25%{
transform: rotateZ(0) translate(20%,-20%);
}
50%{
transform: rotateZ(0) translate(-40%,40%);
}
75%{
transform: rotateZ(0) translate(20%,-20%);
}
100%{
transform: rotateZ(0) translate(-20%,20%);
}
} .cta-full{
position: relative;
display: inline-flex;
align-items: center;
justify-content: center;
font-family: var(--cta-font-family);
font-size: var(--cta-font-size);
line-height: var(--cta-line-height);
font-weight: var(--cta-font-weight);
color: var(--couleur-blanc);
font-style: italic;
letter-spacing: var(--cta-letter-spacing);
width: 120px;
height: 120px;
border-radius: 50%;
background-color: var(--couleur-bleu);
z-index: 1;
}
.cta-full:before{
content: '';
display: block;
position: absolute;
width: 120px;
height: 120px;
border-radius: 50%;
background-color: var(--couleur-bleu);
transition: all .3s;
z-index: -1;
}
.cta-full:hover:before{
width: 140px;
height: 140px;
transition: all .3s ease;
}
img{
width: 100%;
max-width: 100%;
height: auto;
object-fit: cover;
}
section,
.section{
display: block;
position: relative;
padding-top: var(--padding-y-section);
padding-bottom: var(--padding-y-section);
}
@media (min-width: 992px) {
section,
.section{
padding-top: var(--padding-y-section);
padding-bottom: var(--padding-y-section);
}
header + section{
padding-top: 200px;
}
}
label{
font-size: 1.5rem;
line-height: 2.2rem;
font-weight: 600;
letter-spacing: 0;
margin-top: 15px;
}
.wpcf7-form-control{
color: #fff;
}
label .wpcf7-form-control{
margin-top: 7px;
}
label span{ }
label,
label span,
label input,
label textarea{
width: 100%;
}
label input,
label textarea{
background-color: transparent;
border-width: 1px;
border: none;
border-bottom: 1px solid var(--couleur-tierce);
border-radius: 0;
padding: 10px 0;
}
label textarea{
height: 150px;
min-height: 150px;
}
input[type="submit"]{
-moz-appearance: none;
-webkit-appearance: none;
appearance: none;
border: none;
padding: 10px 20px;
margin-top: 20px;
background-color: var(--couleur-tierce);
border: none;
border-radius: 0;
color: var(--couleur-blanc);
font-weight: 300;
text-transform: uppercase;
}
input::placeholder,
textarea::placeholder{
text-transform: uppercase;
font-weight: 300;
}      #menu-mobile{
height: 80px;
display: flex;
align-items: center;
}
#menu-mobile .container > .row > [class*="col"]{
z-index: 111;
}
@media (min-width:992px) {
#menu-mobile{
display: none;
}
}
.logo-mobile{
position: relative;
object-fit: contain;
z-index: 0;
}
.logo-mobile{
max-width: 100px;
}
#menu-hamburger{
position: fixed;
top: 0;
right: -100%;
width: 100%;
height: 100%;
color: var(--couleur-blanc);
background: linear-gradient(
var(--couleur-noir),
var(--couleur-noir)
);
z-index: 99;
box-sizing: border-box;
overflow: hidden;
overflow-y: scroll;
transition: all 0.5s ease;
}
#menu-hamburger.slide{
right: 0;
}
#menu-hamburger .menu-reservation{
margin-top: 50px;
}
#menu-hamburger li:not(:last-child){
margin-bottom: 35px;
}
#menu-hamburger li a{
display: inline-block;
font-family: var(--menu-font-family);
font-size: 1.6rem;
line-height: 2.2rem;
font-weight: 300;
color: var(--couleur-blanc);
}
#menu-hamburger .menu{
display: flex;
flex-direction: column;
justify-content: center;
align-items: self-start;
margin-top: 175px;
}
#menu-hamburger a{
font-family: var(--menu-font-family);
text-transform: uppercase;
}
.hamburger{
position: fixed;
display: flex;
width: 50px;
height: 27px;
border-radius: 50%;
z-index: 100;
cursor: pointer;
transition: all 0.5s ease;
}
.hamburger span,
.hamburger span:before,
.hamburger span:after{
display: block;
position: absolute;
height: 1px;
border-radius: 1px;
background: var(--couleur-primaire);
padding: 1px 0;
}
.hamburger span{
background-color: transparent;
}
.hamburger span:before,
.hamburger span:after{
background: var(--couleur-primaire);
box-shadow: 0px 0px 1px 0.7px var(--couleur-secondaire);
}
.hamburger:hover span:before,
.hamburger:hover span:after{
background: var(--couleur-primaire);
}
.hamburger span{
width: 25px;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
transition: all 0.5s ease;
}
.hamburger span:before,
.hamburger span:after{
width: 25px;
transition: all 0.5s ease;
}
.hamburger span:before{
content: "";
top: 5px
}
.hamburger span:after{
content: "";
bottom: 5px
}
.hamburger.ouvert{ transition: all 0.5s ease;
}
.hamburger.ouvert span{
transition: all 0.3s ease;
background: transparent;
}
.hamburger.ouvert span:before{
transform: rotate(135deg);
top: 0;
transition: all 0.5s ease;
}
.hamburger.ouvert span:after{
transform: rotate(-135deg);
bottom: 0;
transition: all 0.5s ease;
}     #menu-desktop{
display: none;
align-items: flex-end;
height: 120px;
}
#menu-desktop > .container > .row{
display: flex;
justify-content: space-between;
}
#menu-desktop li:not(:last-of-type){
margin-right: 70px;
}
#menu-desktop li a{
position: relative;
font-family: var(--menu-font-family);
text-transform: uppercase;
transition: all .3s;
}
#menu-desktop li a:before{
content: '';
display: block;
position: absolute;
bottom: 0;
left: 0;
width: 0;
height: 1px;
background-color: var(--couleur-primaire);
}
#menu-desktop li a:hover:before{
width: 100%;
transition: all .3s;
}
@media (min-width: 992px) {
#menu-desktop{
display: flex;
}
} section h2{
margin-bottom: 15px;
}
section h3{
margin-bottom: 15px
}
section ul{
padding-left: 20px;
}
section li{
list-style-type: disc;
}
section li:not(:last-of-type){
margin-bottom: 15px;
}
@media (min-width:992px) {
section h2{
margin-bottom: 40px;
}
section h3{
margin-bottom: 30px
}
}
.coins{
--b: 5px; --c: var(--couleur-tierce); --w: 20px; border: var(--b) solid transparent; --_g: transparent 90deg,var(--c) 0;
--_p: var(--w) var(--w) border-box no-repeat;
background:
conic-gradient(from 90deg  at top    var(--b) left  var(--b),var(--_g)) 0    0    / var(--_p),
conic-gradient(from 180deg at top    var(--b) right var(--b),var(--_g)) 100% 0    / var(--_p),
conic-gradient(from 0deg   at bottom var(--b) left  var(--b),var(--_g)) 0    100% / var(--_p),
conic-gradient(from -90deg at bottom var(--b) right var(--b),var(--_g)) 100% 100% / var(--_p);
padding: 30px;
margin-bottom: 50px;
}
@media (min-width:992px) {
.coins{
padding: 50px;
}
}
.coins ul{
margin-bottom: 0;
}
.grid{
display: grid; grid-gap: 15px;
grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
grid-template-rows: repeat(2, minmax(175px, auto));
}
.img-banniere{
position: absolute;
top: 100px;
left: 0;
right: 0;
z-index: -1;
}
.video-banniere{
position: absolute;
top: calc( var(--padding-y-section) * -1 );
left: 0;
right: 0;
z-index: -1;
width: 100vw;
}
#a-propos .reverse-desktop{
display: flex;
flex-direction: row-reverse;
margin-top: 30px;
}
#a-propos .img-superposee{
display: none;
position: absolute;
bottom: var(--padding-y-section);
left: -5vw;
width: 25vw;
}
.img-a-propos{
height: 40vh;
}
@media (min-width:992px) {
#a-propos .img-superposee{
display: block;
}
.img-a-propos{
height: auto;
}
}
#nos-services{
padding-bottom: 0;
}
.img-services{
position: absolute;
width: 100vw;
right: 0;
bottom: var(--padding-y-section);
z-index: -1;
}
@media (min-width:992px) {
#nos-services{
padding-bottom: var(--padding-y-section);
}
.img-services{
position: absolute;
width: 50vw;
right: calc( 50% + 8px );
}
}
#select-services{
appearance: none;
width: 100%;
font-size: 12px;
text-transform: uppercase;
background: transparent;
border-color: var(--couleur-tierce);
color: var(--couleur-primaire);
padding: 10px;
margin-bottom: 40px;
}
#tabs{
position: relative;
}
#tabs:after{
content: '';
display: block;
position: absolute;
top: 12px;
right: 16px;
width: 8px;
height: 8px;
border-right: 2px solid var(--couleur-tierce);
border-bottom: 2px solid var(--couleur-tierce);
transform: rotateZ(45deg);
}
#tabs select{
display: block;
}
#tabs > ul{
display: flex;
justify-content: space-between;
height: 50px;
padding-left: 0;
margin-bottom: 85px;
border-bottom: 1px solid var(--couleur-tierce);
}
#tabs .menu-tabs{
display: none;
}
#tabs > ul li{
list-style-type: none;
margin-bottom: 0;
cursor: pointer;
}
#tabs > ul li{
color: var(--couleur-primaire);
text-transform: uppercase;
transition: none;
}
#tabs > ul li:hover,
#tabs > ul li.actif{
font-weight: 500;
padding-bottom: 25px;
border-bottom: 4px solid var(--couleur-tierce);
transition: none;
}
#tabs h3.titre-onglet{
font-weight: 600;
font-size: 2rem;
color: var(--couleur-tierce);
}
#tabs .mid-line{
height: 100%;
border-top: 1px solid var(--couleur-tierce);
border-right: none;
margin-top: 20px;
}
#tabs .cta-small{
margin-top: 50px;
margin-bottom: 50px;
margin-left: auto;
margin-right: auto;
}
#tabs .section-droite{
margin-top: 30px;
}
#tabs .section-droite{
margin-top: 30px;
}
#tabs .section-droite ul{
margin-top: 20px;
}
@media (min-width:992px) {
#tabs:after{
display: none;
}
#tabs select{
display: none;
}
#tabs .menu-tabs{
display: flex;
}
#tabs .mid-line{
border-top: none;
border-right: 1px solid var(--couleur-tierce);
margin-top: 0;
}
#tabs .cta-small{
margin-top: 130px;
margin-left: 0;
margin-right: auto;
}
#tabs .section-droite{
margin-top: 0;
}
}
#partenaires{
margin-bottom: calc( var(--padding-y-section ) * -6 );
}
#partenaires .img-superposee{
position: absolute;
bottom: -37px;
left: 50vw;
transform: translateX(-50%);
width: 200px;
}
#partenaires .reverse-desktop{
display: flex;
flex-direction: row-reverse;
margin-top: 30px;
}
.img-partenaires{
height: 300px;
margin-top: 40px;
}
@media (min-width:992px) {
#partenaires{
margin-bottom: -50px;
padding-bottom: 0;
}
.img-partenaires{
height: auto;
margin-top: 0;
}
#partenaires .img-superposee{
bottom: -30px;
width: 25vw;
}
}
.partenaire{
display: flex;
justify-content: center;
align-items: center; padding: 45px 25px;
border: 1px solid var(--couleur-tierce);
}
.carrousel-partenaires{
width: 100vw;
margin-bottom: 40px;
}
.tableau-partenaires{
margin-top: 40px;
margin-bottom: 100px;
}
#contact{
padding-top: 400px;
}
@media (min-width:992px) {
#contact{
padding-top: calc( var(--padding-y-section) * 2 );
margin-top: -50px;
}
}
.slick-slider{
margin-top: 30px;
}
.slick-track{ display: flex !important;
}
.slick-list { }
.slick-slide > div,
.slick-slide .inner{
display: flex!important;
width: 95%!important;
height: 100px;
margin: auto;
}
.slick-slide  .inner.partenaire{
padding: 20px;
}
@media (min-width:992px) {
.slick-slide > div,
.slick-slide .inner{
width: 200px!important;
height: 200px;
}
.inner.partenaire{
padding: 20px;
}
}
footer{
color: var(--couleur-blanc);
background-color: var(--couleur-primaire);
}
footer a{
color: var(--couleur-tierce);
margin-bottom: 25px;
}
footer .logo-footer{
width: 75px;
margin-top: 55px;
margin-bottom: 45px;
}
footer .coordonnees-mobile{
margin-top: 50px;
}
footer .coordonnees-desktop{
display: none;
}
@media (min-width:992px) {
footer .coordonnees-mobile{
display: none;
}
footer .coordonnees-desktop{
display: block;
}
}
#droits{
padding-top: 20px;
padding-bottom: 20px;
padding-left: 30px;
padding-right: 30px;
border-top: 1px solid var(--couleur-tierce);
}
#droits .logo-marketing{
margin-top: 15px;
}
.logo-marketing a svg{
height: 15px;
}
#droits .logo-marketing a{
margin: 0;
}
#droits span{
font-size: 1.4rem;
}
#droits > .container-fluid > .row{
display: flex;
flex-direction: column;
justify-content: space-between;
}
#droits .col{
display: flex;
justify-content: center;
}
@media (min-width:992px) {
#droits > .container-fluid > .row{
flex-direction: row;
}
#droits .col{
display: flex;
justify-content: space-between;
}
#droits .logo-marketing{
display: flex;
justify-content: flex-end;
margin-top: 0;
}
}