/*======================================================
RBC ONLINE BANKING
STYLE.CSS
PARTIE 1
======================================================*/

/* RESET */

*{
margin:0;
padding:0;
box-sizing:border-box;
}

html{
scroll-behavior:smooth;
}

body{

font-family:'Roboto',sans-serif;

background:#f5f7fa;

color:#222;

line-height:1.6;

overflow-x:hidden;

}

/* VARIABLES */

:root{

--blue:#0051A5;

--darkBlue:#003087;

--yellow:#FFD200;

--white:#ffffff;

--light:#f5f7fa;

--gray:#6d6d6d;

--black:#222;

--shadow:0 8px 25px rgba(0,0,0,.08);

--radius:12px;

}

/* LINKS */

a{

text-decoration:none;

color:inherit;

}

/* IMAGES */

img{

max-width:100%;

display:block;

}

/* CONTAINER */

.container{

width:90%;

max-width:1350px;

margin:auto;

}

/*======================================================
HEADER
======================================================*/

.header{

position:fixed;
top:40px;
left:0;
width:100%;

background:#fff;

z-index:9999;

box-shadow:0 2px 15px rgba(0,0,0,.08);

}

.header .container{

display:flex;

justify-content:space-between;

align-items:center;

height:82px;

}

/*======================================================
LOGO
======================================================*/

.logo{

display:flex;

align-items:center;

gap:15px;

}

.logo h2{

font-size:34px;

font-weight:900;

display:flex;

align-items:center;

gap:10px;

}

.logo img{

width:58px;

height:58px;

object-fit:contain;

transition:transform .4s ease;

}

.logo img:hover{

transform:rotate(-5deg) scale(1.08);

}

.logo .blue{

color:var(--blue);

}

.logo .yellow{

color:var(--yellow);

}

/*======================================================
MENU
======================================================*/

.navbar ul{

display:flex;

align-items:center;

gap:35px;

list-style:none;

}

.navbar a{

font-size:16px;

font-weight:500;

color:#222;

position:relative;

transition:.3s;

}

.navbar a:hover{

color:var(--blue);

}

.navbar a::after{

content:"";

position:absolute;

left:0;

bottom:-8px;

width:0;

height:3px;

background:var(--yellow);

transition:.3s;

}

.navbar a:hover::after{

width:100%;

}

/*======================================================
HEADER BUTTONS
======================================================*/

.header-buttons{

display:flex;

align-items:center;

gap:15px;

}

.search{

width:48px;

height:48px;

border:none;

border-radius:50%;

background:#f1f1f1;

cursor:pointer;

font-size:18px;

transition:.3s;

}

.search:hover{

background:var(--yellow);

}

.login{

padding:14px 30px;

border:none;

background:var(--blue);

color:#fff;

border-radius:8px;

font-size:15px;

font-weight:700;

cursor:pointer;

transition:.3s;

}

.login:hover{

background:var(--darkBlue);

transform:translateY(-2px);

}

/*======================================================
GENERAL BUTTONS
======================================================*/

.btn{

display:inline-flex;

align-items:center;

justify-content:center;

padding:15px 35px;

border-radius:8px;

font-weight:700;

font-size:16px;

transition:.35s;

cursor:pointer;

}

.btn.blue{

background:var(--blue);

color:#fff;

}

.btn.blue:hover{

background:var(--darkBlue);

}

.btn.yellow{

background:var(--yellow);

color:#111;

}

.btn.yellow:hover{

transform:translateY(-3px);

box-shadow:var(--shadow);

}
/*======================================================
HERO SECTION
======================================================*/

.hero{

margin-top:122px;

height:92vh;

background:linear-gradient(rgba(0,51,122,.60),rgba(0,81,165,.65)),
url("https://images.unsplash.com/photo-1520607162513-77705c0f0d4a?q=80&w=2070&auto=format&fit=crop");

background-size:cover;

background-position:center;

display:flex;

justify-content:center;

align-items:center;

text-align:center;

color:#fff;

position:relative;

}

.overlay{

position:absolute;

top:0;

left:0;

width:100%;

height:100%;

background:rgba(0,0,0,.10);

}

.hero-content{

position:relative;

z-index:2;

max-width:850px;

padding:20px;

}

.hero h1{

font-size:64px;

font-weight:900;

margin-bottom:25px;

line-height:1.1;

}

.hero p{

font-size:22px;

margin-bottom:45px;

font-weight:300;

}

.hero-btns{

display:flex;

justify-content:center;

gap:20px;

flex-wrap:wrap;

}

/*======================================================
SERVICES
======================================================*/

.services{

padding:100px 0;

background:#fff;

}

.services h2{

font-size:42px;

text-align:center;

margin-bottom:60px;

color:var(--blue);

font-weight:800;

}

.cards{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(260px,1fr));

gap:30px;

}

.card{

background:#fff;

padding:35px;

border-radius:15px;

text-align:center;

box-shadow:var(--shadow);

transition:.4s;

border-top:5px solid transparent;

}

.card:hover{

transform:translateY(-12px);

border-color:var(--yellow);

}

.card i{

font-size:55px;

color:var(--blue);

margin-bottom:25px;

}

.card h3{

font-size:25px;

margin-bottom:15px;

}

.card p{

color:var(--gray);

font-size:15px;

line-height:1.8;

}

/*======================================================
WHY RBC
======================================================*/

.why-rbc{

padding:100px 0;

background:#f7f9fc;

}

.why-rbc h2{

text-align:center;

font-size:42px;

margin-bottom:20px;

color:var(--blue);

}

.section-description{

text-align:center;

max-width:800px;

margin:0 auto 60px;

color:var(--gray);

font-size:18px;

}

.why-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(250px,1fr));

gap:30px;

}

.why-box{

background:#fff;

padding:35px;

border-radius:15px;

box-shadow:var(--shadow);

text-align:center;

transition:.3s;

}

.why-box:hover{

transform:translateY(-8px);

}

.why-box i{

font-size:48px;

color:var(--yellow);

margin-bottom:20px;

}

.why-box h3{

margin-bottom:15px;

font-size:24px;

color:var(--blue);

}

.why-box p{

color:var(--gray);

line-height:1.8;

}
/*======================================================
DIGITAL BANKING
======================================================*/

.digital{

padding:100px 0;

background:#ffffff;

}

.digital-container{

display:grid;

grid-template-columns:1fr 1fr;

gap:70px;

align-items:center;

}

.digital-left h2{

font-size:42px;

color:var(--blue);

margin-bottom:25px;

font-weight:800;

}

.digital-left p{

font-size:18px;

color:var(--gray);

margin-bottom:30px;

line-height:1.8;

}

.digital-left ul{

list-style:none;

margin-bottom:35px;

}

.digital-left ul li{

margin-bottom:18px;

font-size:17px;

display:flex;

align-items:center;

gap:15px;

}

.digital-left ul li i{

color:var(--yellow);

font-size:18px;

}

.digital-right{

display:flex;

justify-content:center;

align-items:center;

}

.digital-right img{

width:100%;

max-width:480px;

border-radius:20px;

box-shadow:var(--shadow);

}

/*======================================================
PRODUCTS
======================================================*/

.products{

padding:100px 0;

background:#f5f7fa;

}

.products h2{

text-align:center;

font-size:42px;

color:var(--blue);

margin-bottom:60px;

font-weight:800;

}

/*======================================================
CONTACT
======================================================*/

.contact{

padding:100px 0;

background:linear-gradient(135deg,#0051A5,#003087);

text-align:center;

color:#fff;

}

.contact h2{

font-size:42px;

margin-bottom:20px;

}

.contact p{

font-size:18px;

margin-bottom:40px;

opacity:.95;

}

.contact-buttons{

display:flex;

justify-content:center;

gap:20px;

flex-wrap:wrap;

}

/*======================================================
FOOTER
======================================================*/

footer{

background:#00264d;

color:#fff;

padding-top:70px;

}

.footer-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(220px,1fr));

gap:40px;

padding-bottom:50px;

}

.footer-grid h3{

font-size:30px;

margin-bottom:20px;

}

.footer-grid h4{

margin-bottom:20px;

font-size:20px;

}

.footer-grid ul{

list-style:none;

}

.footer-grid ul li{

margin-bottom:12px;

}

.footer-grid ul li a{

color:#ddd;

transition:.3s;

}

.footer-grid ul li a:hover{

color:var(--yellow);

}

.socials{

display:flex;

gap:15px;

margin-top:20px;

}

.socials a{

width:45px;

height:45px;

display:flex;

justify-content:center;

align-items:center;

border-radius:50%;

background:rgba(255,255,255,.12);

transition:.3s;

font-size:18px;

}

.socials a:hover{

background:var(--yellow);

color:#000;

}

.copyright{

text-align:center;

padding:25px;

border-top:1px solid rgba(255,255,255,.15);

font-size:15px;

color:#ddd;

}

/*======================================================
RESPONSIVE
======================================================*/

@media(max-width:991px){

.navbar{

display:none;

}

.hero h1{

font-size:46px;

}

.hero p{

font-size:18px;

}

.digital-container{

grid-template-columns:1fr;

text-align:center;

}

.digital-left ul li{

justify-content:center;

}

}

@media(max-width:768px){

.header .container{

height:72px;

}

.logo h2{

font-size:24px;

}

.hero{

padding:40px 20px;

height:auto;

min-height:85vh;

}

.hero h1{

font-size:36px;

}

.hero-btns{

flex-direction:column;

align-items:center;

}

.btn{

width:100%;

max-width:320px;

}

.services,
.products,
.why-rbc,
.digital,
.contact{

padding:70px 0;

}

.services h2,
.products h2,
.why-rbc h2,
.digital h2,
.contact h2{

font-size:32px;

}

.card{

padding:25px;

}

.footer-grid{

text-align:center;

}

.socials{

justify-content:center;

}

}
/*======================================================
OUR MONTREAL AGENCY
======================================================*/

.agency-section{

padding:100px 0;

background:#ffffff;

}

.agency-container{

display:grid;

grid-template-columns:1fr 1fr;

gap:60px;

align-items:center;

}

.agency-image img#mainAgencyImage{

width:100%;

height:450px;

object-fit:cover;

border-radius:18px;

box-shadow:var(--shadow);

transition:.4s;

}

.agency-gallery{

display:flex;

gap:12px;

margin-top:20px;

flex-wrap:wrap;

justify-content:center;

}

.agency-gallery img{

width:90px;

height:70px;

object-fit:cover;

border-radius:10px;

cursor:pointer;

border:3px solid transparent;

transition:.3s;

}

.agency-gallery img:hover{

transform:scale(1.08);

border-color:var(--yellow);

}

.agency-content h2{

font-size:42px;

color:var(--blue);

margin-bottom:25px;

font-weight:800;

}

.agency-content>p{

font-size:17px;

line-height:1.8;

color:var(--gray);

margin-bottom:30px;

}

.agency-info{

display:flex;

flex-direction:column;

gap:15px;

margin-bottom:35px;

}

.agency-info p{

display:flex;

align-items:flex-start;

gap:14px;

font-size:16px;

line-height:1.7;

color:#444;

}

.agency-info i{

color:var(--blue);

font-size:18px;

margin-top:3px;

min-width:22px;

}

.agency-buttons{

display:flex;

gap:18px;

flex-wrap:wrap;

}

.agency-buttons .btn{

min-width:220px;

}

@media(max-width:991px){

.agency-container{

grid-template-columns:1fr;

}

.agency-content{

text-align:center;

}

.agency-info p{

justify-content:center;

}

.agency-buttons{

justify-content:center;

}

}

@media(max-width:768px){

.agency-image img#mainAgencyImage{

height:280px;

}

.agency-gallery img{

width:70px;

height:55px;

}

.agency-content h2{

font-size:32px;

}

}
/*======================================================
TOP BAR
======================================================*/

.topbar{

background:#003087;

color:#fff;

font-size:14px;

padding:8px 0;

}

.topbar-content{

display:flex;

justify-content:space-between;

align-items:center;

flex-wrap:wrap;

gap:10px;

}

.topbar-left,
.topbar-right{

display:flex;

gap:25px;

align-items:center;

}

.topbar i{

color:var(--yellow);

margin-right:6px;

}

@media(max-width:768px){

.topbar-content{

justify-content:center;

text-align:center;

}

.topbar-left,
.topbar-right{

flex-direction:column;

gap:6px;

}

}
/*======================================================
TRUST BAR
======================================================*/

.trust-bar{

background:#ffffff;

padding:25px 0;

box-shadow:0 4px 12px rgba(0,0,0,.05);

}

.trust-items{

display:flex;

justify-content:space-between;

align-items:center;

gap:20px;

flex-wrap:wrap;

}

.trust-item{

display:flex;

align-items:center;

gap:12px;

font-weight:600;

color:var(--blue);

}

.trust-item i{

font-size:22px;

color:var(--yellow);

}

@media(max-width:768px){

.trust-items{

justify-content:center;

}

}
/*======================================================
ANIMATIONS
======================================================*/

.card,
.why-box,
.trust-item,
.agency-image img,
.agency-content,
.btn{

transition:all .35s ease;

}

.card:hover,
.why-box:hover{

transform:translateY(-10px);

box-shadow:0 15px 35px rgba(0,0,0,.15);

}

.btn:hover{

transform:translateY(-3px);

}

.trust-item:hover{

transform:scale(1.05);

}

.logo img{

transition:transform .4s ease;

}

.logo img:hover{

transform:rotate(-5deg) scale(1.08);

}
/*======================================================
QUICK ACTIONS
======================================================*/

.quick-actions{

padding:90px 0;

background:#f7f9fc;

}

.quick-actions h2{

text-align:center;

font-size:42px;

color:var(--blue);

margin-bottom:55px;

font-weight:800;

}

.quick-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(250px,1fr));

gap:30px;

}

.quick-card{

background:#fff;

padding:35px;

border-radius:18px;

text-align:center;

box-shadow:var(--shadow);

transition:.35s;

display:block;

}

.quick-card:hover{

transform:translateY(-10px);

box-shadow:0 18px 40px rgba(0,0,0,.12);

}

.quick-card i{

font-size:55px;

color:var(--yellow);

margin-bottom:25px;

}

.quick-card h3{

font-size:24px;

margin-bottom:15px;

color:var(--blue);

}

.quick-card p{

color:var(--gray);

line-height:1.8;

font-size:15px;

}

@media(max-width:768px){

.quick-actions{

padding:70px 0;

}

.quick-actions h2{

font-size:32px;

}

}
/*======================================================
OUR STRENGTH IN NUMBERS
======================================================*/

.stats{

padding:90px 0;

background:linear-gradient(135deg,#0051A5,#003087);

color:#fff;

}

.stats h2{

text-align:center;

font-size:42px;

margin-bottom:15px;

font-weight:800;

}

.stats .section-description{

text-align:center;

max-width:750px;

margin:0 auto 55px;

color:rgba(255,255,255,.9);

}

.stats-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(220px,1fr));

gap:30px;

}

.stat-box{

background:rgba(255,255,255,.10);

padding:35px;

border-radius:16px;

text-align:center;

backdrop-filter:blur(8px);

transition:.35s;

}

.stat-box:hover{

transform:translateY(-8px);

background:rgba(255,255,255,.18);

}

.stat-box h3{

font-size:48px;

color:var(--yellow);

margin-bottom:12px;

font-weight:900;

}

.stat-box p{

font-size:17px;

}

@media(max-width:768px){

.stats{

padding:70px 0;

}

.stats h2{

font-size:32px;

}

.stat-box h3{

font-size:38px;

}

}
/*======================================================
HEADER CONTACT BUTTON
======================================================*/

.contact-btn{

display:flex;
align-items:center;
justify-content:center;

padding:12px 22px;

height:48px;

background:#ffffff;

border:2px solid #e5e5e5;

border-radius:10px;

font-size:15px;
font-weight:600;

color:#222;

white-space:nowrap;

transition:.3s;

}

.contact-btn:hover{

background:#0051A5;
color:#fff;
border-color:#0051A5;

}

@media(max-width:768px){

.contact-btn{

padding:10px 16px;
font-size:14px;

}

}

/*======================================================
RESPONSIVE HEADER V2
======================================================*/

.menu-toggle{

display:none;

width:48px;
height:48px;

border:none;
border-radius:10px;

background:#0051A5;
color:#fff;

font-size:22px;
cursor:pointer;

}

@media screen and (max-width:768px){

.topbar{

display:none;

}

.header{

top:0;

}

.header .container{

height:75px;

display:flex;

flex-direction:row;

justify-content:space-between;

align-items:center;

padding:0 15px;

}

.logo{

gap:10px;

}

.logo img{

width:42px;
height:42px;

}

.logo h2{

font-size:22px;

display:block;

}

.menu-toggle{

display:flex;

justify-content:center;

align-items:center;

}

.navbar{

position:absolute;

top:75px;

left:0;

width:100%;

background:#fff;

display:none;

box-shadow:0 8px 20px rgba(0,0,0,.12);

}

.navbar.active{

display:block;

}

.navbar ul{

display:flex;

flex-direction:column;

gap:0;

}

.navbar li{

border-bottom:1px solid #ececec;

}

.navbar a{

display:block;

padding:16px 20px;

font-size:16px;

}

.header-buttons{

display:none;

}

.hero{

margin-top:75px;

}

}
/*======================================================
TESTIMONIALS
======================================================*/

.testimonials{

padding:100px 0;

background:#f7f9fc;

}

.testimonials h2{

text-align:center;

font-size:42px;

color:var(--blue);

margin-bottom:20px;

font-weight:800;

}

.testimonial-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(320px,1fr));

gap:30px;

margin-top:60px;

}

.testimonial-card{

background:#fff;

padding:35px;

border-radius:18px;

box-shadow:var(--shadow);

transition:.35s;

}

.testimonial-card:hover{

transform:translateY(-10px);

}

.stars{

font-size:24px;

color:var(--yellow);

margin-bottom:20px;

}

.testimonial-card p{

color:var(--gray);

line-height:1.8;

margin-bottom:25px;

}

.client{

display:flex;

align-items:center;

gap:15px;

}

.client img{

width:60px;

height:60px;

border-radius:50%;

object-fit:cover;

}

.client h4{

color:var(--blue);

margin-bottom:4px;

}

.client span{

font-size:14px;

color:var(--gray);

}

@media(max-width:768px){

.testimonials{

padding:70px 0;

}

.testimonials h2{

font-size:32px;

}

}
