/* reset css */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video { padding: 0; margin: 0; }

.v2_page.pagewrap { display: flex; width: 100%; min-height: 100vh; flex-direction: column; justify-content: space-between; }
.v2_page.pagewrap > div, .v2_page.pagewrap > header, .v2_page.pagewrap > footer, .v2_page.pagewrap > main { width: 100%; }

html { font-size: 100%; } /* 16px */
html, body { min-width: 340px; }

table { border-collapse: collapse; border-spacing: 0; }
*, *::before, *::after { box-sizing: border-box; }

body  { width: 100%; font-size: 1.5rem; font-family: 'Poppins', sans-serif; color: #212121; line-height: 1.5; overflow-x: hidden; background: #ffffff; }

h1, h2, h3, h4, h5, h6  { font-family: 'Montserrat', sans-serif; font-weight: 700; margin-bottom: 40px; }
h1  { font-size: 3rem; }
h2  { font-size: 2.25rem; }
h3 { font-size: 1.375rem; }
h4  { font-size: 1.25rem; }
h5  { font-size: 1.125rem; }
h6  { font-size: 1rem; }

p  { padding: 0; margin-top: 0; margin-bottom: 20px; }
ul, ol { padding: 0; margin: 0 0 25px 2.5%; }
li { padding: 0; margin: 0 0 2px 2.5%; }
span { margin: 0; padding: 0; }

a:link, a:visited  { text-decoration: none; }

h1 a:link, h1 a:visited, h2 a:link, h2 a:visited, h3 a:link, h3 a:visited, h4 a:link, h4 a:visited, h5 a:link, h5 a:visited, h6 a:link, h6 a:visited  { text-decoration: none; }
q { font-family: 'Poppins', sans-serif; font-weight: 300; font-style: italic; color: #d65780; margin-left: 4%; }
blockquote { font-family: 'Poppins', sans-serif; font-weight: 300; font-style: italic; color: #d65780; margin: 0 0 25px; position: relative; }

.wrapcontent, .is-layout-flex.wrapcontent { max-width: 1400px; width: 90%; margin: 0 auto; position: relative; }
.wrap_ext { max-width: 1700px; }
.wrapcontent.minheightdefa { min-height: 45vh; }

.flex_centered { display: flex; justify-content: center; align-items: center; gap: 20px;  }
.sec_half { width: 50%; }
.grow { flex-grow: 1; }

.center { text-align: center; }
.clearsides { clear: both; }

.v2_divtop { position: relative; z-index: 77; }
.v2_bg { width: 100%; height: 100%; position: absolute; top: 0; left: 0; z-index: 1; }

/* HOMEPAGE-ELEMENTOR */
.rrv5 .menu-main-menu-container ul.menu { list-style: none; display: flex; font-size: 1rem; font-family: "Orbitron", sans-serif; font-weight: 400; color: #ffffff; justify-content: flex-end; gap: 0;  padding: 0; margin: 0; }
.rrv5 .menu-main-menu-container ul.menu li { padding: 0; margin: 0; }
.rrv5 .menu-main-menu-container ul.menu li a { color: inherit; text-transform: uppercase; text-shadow: 5px 5px 8px rgb(6, 59, 59, 0.5); padding: 10px 12px; border-radius: 4px; transition: background-color 0.3s, color 0.3s; }
.rrv5 .menu-main-menu-container ul.menu li a:hover { background-color: rgba(0, 255, 255, 0.2); color: #00ffff; }
.rrv5 .menumainres .menu-main-menu-container ul.menu { list-style: none; display: flex; flex-direction: column; align-items: flex-end; gap: 25px; padding-right: 15px; }
#v2-main-menu-res-panel, #v2-btnclosemenu { opacity: 0; visibility: hidden; transition: all 0.3s ease; }
#v2-main-menu-res-panel.show-menu, #v2-btnclosemenu.show-btn { opacity: 1; visibility: visible; }
.cursor_pointer { cursor: pointer; }

.v2_aboutcolblk { max-width: 980px; width: 100%; }
.title_vertical { writing-mode: vertical-rl; text-orientation: upright; }
.v2_titlebackblk1 { height: 100%; }
.v2_servblk { max-width: 450px; }

.v2_footerlinks ul { list-style: none; display: flex; font-size: 1rem; color: #ffffff; justify-content: flex-end; gap: 10px; padding: 0; margin: 0; }
.v2_footerlinks ul li a { color: inherit; }
/* END - HOMEPAGE-ELEMENTOR */


/* PAGES */
.elementor-element .elementor-element-62567e5 { position: static; }
.hidden { visibility: hidden; }

.v2hd { font-family: "Orbitron", sans-serif; }

/* V2 Page Header */
.v2_page.pagewrap .v2pageheader { background: url(https://rodrivz.com/wp-content/uploads/2025/11/v5_herobg.webp) top center no-repeat; background-size: cover; }
.v2pageheader .wrapcontent { display: flex; width: 100%; flex-direction: column; gap: 25px; }
.v2pageheader .is-menu-open.is-menu-open#modal-1 { color: #fff; padding: 20px; background-color: #06366c; }
.v2pageheader .is-menu-open.is-menu-open#modal-1 ul { gap: 10px }
.v2pageheader .is-menu-open.is-menu-open#modal-1 ul li a { padding: 2px 10px; }
.v2headertxtlogo a { text-decoration: none; }
.v2mainmenu { font-size: 1rem; text-transform: uppercase; }
.v2mainmenu li { padding: 0; margin: 0;}
.v2mainmenu li a { color: inherit; text-transform: uppercase; text-shadow: 5px 5px 8px rgb(6, 59, 59, 0.5); padding: 10px 12px; border-radius: 4px; transition: background-color 0.3s, color 0.3s; }
.wp-block-navigation.v2mainmenu li a:hover { color: #00ffff; background-color: rgba(0, 255, 255, 0.2); }
.v2headertxtlogo { font-size: 1.25rem; }
.v2pageheader h1 { display: flex; font-size: 5.25rem; font-weight: 900; color:#00ffff; text-transform: uppercase; justify-content: center; align-items: flex-start; gap: 4px; }
.v2pageheader h1::before { content: "“"; }
.v2pageheader h1::after { content: "”"; }
.v2pageheader h3 { font-size: 1.5rem; font-weight: 400; }

/* V2 Page Footer */
.v2_footer { font-size: 1.25rem; color: #ffffff; background: url(https://rodrivz.com/wp-content/uploads/2025/11/v5_herobg.webp) center top no-repeat; background-size: cover; }
.v2_footer .wrapcontent { padding: 50px 0; }
.v2_logotext { font-size: 2rem; font-family: "Orbitron", sans-serif; font-weight: 500; font-style: italic; color:#00ffff; }
.v2_footersig { padding-bottom: 20px; }
.v2_quicklink { padding-bottom: 25px; }
.v2_footer_info { flex-basis: 45%; flex-grow: 0; }
.v2_ftinfo_contact_blk .wp-block-image img { vertical-align: middle; }
.v2_ql_cols { flex-basis: 35%; flex-grow: 0; gap: 40px; }
.v2_ql_colblk h4 { font-weight: 600; text-transform: uppercase; }
.v2_ql_colblk ul.wp-block-list, .v2_ql_colblk ul.wp-block-navigation { display: flex; flex-direction: column; list-style: none; padding: 0; margin: 0; gap: 5px; }
.v2_ql_colblk ul.wp-block-list li, .v2_ql_colblk ul.wp-block-navigation li { list-style: none; padding: 0; margin: 0; }
.v2_ql_colblk ul.wp-block-list li a, .v2_ql_colblk ul.wp-block-navigation li a { display: block; color: #fff; padding: 2px 10px; margin: 0; }
.v2_ql_colblk ul.wp-block-list li a:hover, .v2_ql_colblk ul.wp-block-navigation li a:hover { color: #00ffff; background-color: rgba(0, 255, 255, 0.2); }
.v2_footerbtm { padding-top: 20px; border-top: #00ffff groove 2px; }
ul.v2_footer_menu { list-style: none; display: flex; justify-content: flex-end; align-items: flex-start; padding: 0; margin: 0; }
ul.v2_footer_menu li { padding: 0; margin: 0; }
ul.v2_footer_menu li a { display: block; color: inherit; padding: 2px 10px; margin: 0; }
ul.v2_footer_menu li a:hover { color: #00ffff; background-color: rgba(0, 255, 255, 0.2); }

/* EFFECTS */
#particleWrapper { width: 100%; height: 100%; position: relative; overflow: hidden; z-index: 4; }
#particleCanvas { position: absolute; top: 0; left: 0; width: 100%; height: 100%; display: block; z-index: 5; }
.elementor-element.elementor-element-62567e5.elementor-widget.elementor-widget-html { width: 100%; position: absolute;z-index: 3; top: 0; left: 0; }

/* Line Separator Glow effect */
.glow-container { display: flex; justify-content: center; align-items: center; width: 100%; position: relative; overflow: hidden; }
.glow-line { width: 100%; max-width: 884px; height: 28px; background: url(https://rodrivz.com/wp-content/uploads/2025/11/glow01.webp) no-repeat center; background-size: cover; animation: glowPulse 8s ease-in-out infinite; opacity: 0.9; }
@keyframes glowPulse {
  0% {
    filter: brightness(1) blur(0px);
    opacity: 0.9;
    transform: scale(1);
  }
  25% {
    filter: brightness(1) blur(0px);
    opacity: 0.58;
    transform: scale(0.75);
  }
  50% {
    filter: brightness(2.2) blur(2px);
    opacity: 0.9;
    transform: scale(1.4);
  }
  75% {
    filter: brightness(1) blur(0px);
    opacity: 0.58;
    transform: scale(0.75);
  }
  100% {
    filter: brightness(1) blur(0px);
    opacity: 0.9;
    transform: scale(1);
  }
}
/* Sparkling particles included with the glow effect */
.particle1 { width: 2px; height: 2px; background: rgba(0, 191, 255, 0.8); position: absolute;  border-radius: 50%; animation: twinkle 4s infinite ease-in-out; }
@keyframes twinkle {
0%, 100% { opacity: 0.2; transform: scale(1); }
50% { opacity: 1; transform: scale(1.5); }
}

/* Sparkling particles */
#particles-container { max-width: none; width: 100%; height: 100%; position: absolute; top: 0; left: 0; z-index: 2; pointer-events: none; overflow: hidden; }
.particle { position: absolute; background: rgba(0, 255, 255, 0.8); border-radius: 50%; filter: drop-shadow(0 0 6px rgba(0, 255, 255, 0.8)); animation: floatMove 10s infinite ease-in-out; }
@keyframes floatMove {
  0% {
    transform: translate(0, 0) scale(1);
    opacity: 0.8;
  }
  25% {
    transform: translate(10px, -20px) scale(1.1);
    opacity: 0.9;
  }
  50% {
    transform: translate(-10px, 15px) scale(0.95);
    opacity: 0.7;
  }
  75% {
    transform: translate(15px, 10px) scale(1.05);
    opacity: 0.85;
  }
  100% {
    transform: translate(0, 0) scale(1);
    opacity: 0.8;
  }
}


/* Carousel */
.owl-carousel { position: relative; }
.owl-carousel .owl-stage-outer { margin-bottom: 25px; }
.owl-carousel.template_gallery .owl-stage-outer { height: 70vh; }
.owl-carousel .nav-btn { width: 26px; height: 47px; position: absolute; top: 45% !important; cursor: pointer; }
.owl-carousel .owl-prev.disabled, .owl-carousel .owl-next.disabled { opacity: 0.2; pointer-events: none; }
.owl-carousel .prev-slide { left: -33px; background: url(../images/nav-icon.png) no-repeat scroll 0 0; }
.owl-carousel .next-slide { right: -33px; background: url(../images/nav-icon.png) no-repeat scroll -24px 0px; }
.owl-carousel .prev-slide:hover{ background-position: 0px -53px; }
.owl-carousel .next-slide:hover { background-position: -24px -53px; }

/* Carousel - dots */
.owl-carousel .owl-dots { display: flex; justify-content: center; align-items: center; gap: 4px; }
.owl-carousel button.owl-dot, button.owl-dot { display: block; width: 10px; height: 10px; border: #4e82c0 solid 1px; border-radius: 50%; }
.owl-carousel button.owl-dot.active, button.owl-dot.active { background-color: #a2c7f3; border: #365aa7 solid 2px; }

/* Carousel - next/prev navs */
.owl-nav { width: 100%; position: absolute; top: 50%; transform: translateY(-50%); }
.owl-nav .owl-prev, .owl-nav .owl-next { display: flex; width: 70px; height: 70px; justify-content: center; align-items: center; margin-top: -35px; position: absolute; z-index: 200; }
.owl-nav .owl-prev span, .owl-nav .owl-next span { margin: 0 auto; }
.owl-nav .owl-prev { left: -85px; }
.owl-nav .owl-next { right: -85px; }
.owl-carousel .owl-nav button.owl-prev, .owl-carousel .owl-nav button.owl-next { font-size: 5rem; line-height: 1; padding: 5px 10px 10px!important; background-color: rgba(255, 255, 255, 0.85); border: #cccccc solid 1px; border-radius: 50%; }


/* CONTENT */
.v2_maincontent { padding-top: 50px; padding-bottom: 50px; background-color: #e6fefe; }

.v2_titleblk { max-width: 800px; width: 95%; padding: 10px 20px 10px 4%; background-color: #06366c; border-radius: 0 8px 8px 0; }
.v2_titleblk h2 { font-size: 3.25rem; font-family: "Orbitron", sans-serif; font-weight: 600; color: #06ebe5; text-transform: uppercase; }

.wrap_carousel { display: none; }
.v2_grid_gallery { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; align-items: center; padding: 25px 4%; }
.v2_grid_gallery_2col { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; align-items: center; padding: 25px 4%; }

/* CONTACT SECTION */
.v2_contactsec { padding: 50px 20px; position: relative; }
.v2_contactsec::after { content: ''; display: block; width: 100%; height: 100%; position: absolute; top: 0; left: 0; z-index: 1; background: url(https://rodrivz.com/wp-content/uploads/2026/01/v2_contactbg.webp) right top no-repeat; background-size: cover; }

.v2_contactformpanel { max-width: 1040px; width: 100%; padding: 20px 4%; background: rgba(0, 204, 204, 0.35); border: #00ffff solid 2px; border-radius: 8px; }



/* templates */
.pgsingle { padding-bottom: calc(15px + 1.5%); }
.wp-block-post-excerpt { font-size: 1.25rem; }
.post_list_page h2 { font-size: 1.675rem; color: #0f2d73; line-height: 1.2; }
.post_list_page h2 a { color: inherit; }
.post_list_page h2 + * { margin-block-start: 15px; }
.post_list_page p { margin-block-start: 15px; }
.wrapreadmore { width: 100%; text-align: right; padding-right: 1%; margin-block-start: 15px; }
.wrapreadmore a { font-size: 0.875rem; color: #0f2d73; padding: 2px 25px; border-radius: 50px; transform: scale(1); transition: transform 0.5s linear; }
.wrapreadmore a:hover { transform: scale(1.25); background-color: #cfdcfa; }

.post_single h1 { font-size: 2.5rem; color: #0f2d73; line-height: 1.2; margin-bottom: 25px; margin-block-end: 25px; }
.post_single h1 a { color: inherit; }
.post_single h2 { font-size: 2rem; font-weight: 600; color: #487cf5; }
.post_single ol.wp-block-list, .post_single ul.wp-block-list { margin-block-start: 10px; }
.post_single p { margin-block-start: 20px; }
.post_single h2 + p { margin-block-start: 10px; }




/* RESPONSIVE */
@media screen and (max-width: 1600px) {
    .owl-nav .owl-prev, .owl-nav .owl-next { width: 58px; height: 58px;  margin-top: -29px; }
    .owl-nav .owl-prev { left: -1.5%; }
    .owl-nav .owl-next { right: -1.5%; }
    .owl-carousel .owl-nav button.owl-prev, .owl-carousel .owl-nav button.owl-next { font-size: 4rem; }
}

@media screen and (max-width: 1300px) {
  .v2_ql_cols { flex-basis: 40%; }
}

@media screen and (max-width: 900px) {
    .owl-nav .owl-prev, .owl-nav .owl-next { width: 40px; height: 40px;  margin-top: -20px; }
    .owl-carousel .owl-nav button.owl-prev, .owl-carousel .owl-nav button.owl-next { font-size: 3rem; }

    .v2_quicklink { flex-direction: column; }
	.v2_footer_info, .v2_ql_cols { flex-basis: auto; width: 100%; }
	.v2_ql_cols { justify-content: flex-start; }
	.v2_ql_cols > div { flex-grow: 1; }

    .v2_footerbtm { flex-direction: column; justify-content: flex-start; }

	.v2_grid_gallery { grid-template-columns: repeat(3, 1fr); }
}

@media screen and (max-width: 800px) {
	.owl-carousel .prev-slide { left: -10px; }
	.owl-carousel .next-slide { right: -10px; }
}

@media screen and (max-width: 767px) {
  .title_vertical { writing-mode: horizontal-tb; text-orientation: mixed; }
}

@media screen and (max-width: 700px) {
    /* html  { font-size: 75%; } */
	
    .owl-nav .owl-prev, .owl-nav .owl-next { width: 40px; height: 40px;  margin-top: -20px; }
    .owl-carousel .owl-nav button.owl-prev, .owl-carousel .owl-nav button.owl-next { font-size: 3rem; }

	.v2_titleblk h2 { font-size: 3rem; }

	.v2_grid_gallery { grid-template-columns: repeat(2, 1fr); }
}

@media screen and (max-width: 600px){
    html  { font-size: 15px; }
	
	.v2_titleblk h2 { font-size: 2.5rem; }
}

@media screen and (max-width: 500px){
    html  { font-size: 14px; }

	/* v2 page header */
	.v2pageheader h1 { font-size: 3.5rem; margin-bottom: 0; }
	.v2pageheader h3 { font-size: 1.25rem; }
	
	.v2_titleblk h2 { font-size: 2rem; }
	
	.wrap_carousel { display: flex; flex-direction: column; padding: 0 5%; margin: 30px 0 0; gap: 20px; }
	.v2_grid_gallery { grid-template-columns: repeat(1, 1fr); }
	.v2_grid_gallery, .v2_grid_gallery_2col, .is-layout-grid.v2_grid_gallery, .is-layout-grid.v2_grid_gallery_2col { display: none; }
}
@media screen and (max-width: 400px){
	html  { font-size: 12.8px; }
	
	/* v2 page header */
	.v2pageheader h1 { font-size: 3rem; }
	.v2pageheader h3 { font-size: 1.125rem; }
	
	.v2_titleblk h2 { font-size: 1.75rem; }
}
