/*
Theme Name: Revive DC
Author: Kubiak Creative
Author URI: https://kubiakcreative.com
Description: Custom Theme for Revive DC - Requires The7 theme to be installed for base structure.
Version: 1.0.0
License: This WordPress theme is comprised of two parts: (1) The PHP code and integrated HTML are licensed under the GPL license as is WordPress itself.  You will find a copy of the license text in the same directory as this text file. Or you can read it here: http://wordpress.org/about/gpl/ (2) All other parts of the theme including, but not limited to the CSS code, images, and design are licensed according to the license purchased. Read about licensing details here: http://themeforest.net/licenses/regular_extended
Template: dt-the7
*/


.hide {
    display: none !important;
}

:root {
    --revive-blue: #1E3CB4;
    --revive-green: #00D7AF;
    --revive-yellow: #FFC846;
    --revive-red: #EA5F46;
}

body {
    font-family: "Sen", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: auto;
    text-rendering: auto;
    /* letter-spacing: -2px; */
}

.revive-blue    {  color: var(--revive-blue) }
.revive-green   {  color: var(--revive-green); }
.revive-yellow  {  color: var(--revive-yellow); }
.revive-red     {  color: var(--revive-red); }


/* ----------------------------------- TYPOGRAPHY ----------------------------------- */

h1, h2, h3, h4, h5, h6 { letter-spacing: -1px !important; }

h2.larger { font-size: 4rem;}

.p-no-margin { margin-bottom: 0; padding-bottom: 0; }

.white p, .white a, .white, .white h1, .white h2, .white h3, .white h4, .white h5, .white h6 { color: white;}

.center-align, .text-center { text-align: center; }

.larger-x1 { font-size: 1.4rem; line-height: 2rem; }


p.preheader {
    font-weight: 500;
}

p.preheader + h4, p.preheader + h3, p.preheader + h2, p.preheader + h1 {
    margin-top: 0;
}

p + h4, p + h3, p + h5, p + ul {
    margin-top: 40px
}


/* ----------------------------------- BUTTONS ----------------------------------- */

.dt-btn { position: relative; min-width: 230px;}

.white a.dt-btn,
.dt-btn.white {
    border: solid 1px white;
    color: white !important;
}

.white a.dt-btn:hover,
.dt-btn.white:hover {
    background: white  !important;
    border: solid 1px white  !important;
    color:  var(--revive-blue) !important;
}

.dt-btn.post-details > i {
    display: none;
}

.dt-btn.post-details {
    min-width: auto;
}

form .dt-btn.send-button i {
    color: var(--revive-green) !important;
    margin-left:10px;
    margin-right: 0;
}

.icon::before {
    display: inline-block;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    margin-right:10px;
  }

  .report::before {
    font: var(--fa-font-solid);
    content: '\f659';
  }

  .proposal::before {
    font: var(--fa-font-solid);
    content: '\f0ae';
  }

  .contact::before {
    font: var(--fa-font-solid);
    content: '\f075';
  }

  .solutions::before {
    font: var(--fa-font-solid);
    content: '\f649';
  }

  .calendar::before {
    font: var(--fa-font-solid);
    content: '\f133';
  }

  .telephone::before {
    font: var(--fa-font-solid);
    content: '\f095';
  }

  .email::before {
    font: var(--fa-font-solid);
    content: '\f0e0';
  }

  .tags::before {
    font: var(--fa-font-solid);
    content: '\f02c';
  }

/* ----------------------------------- LISTS ----------------------------------- */

.content ul, 
.content ol {
    padding-top:5px;
    padding-bottom: 15px;
    padding-left: 10px;
}

.content ul li 
.content 0l li {
    margin-bottom: 6px;
}

.content ul li::marker,
.content ol li::marker {
    color: var(--revive-green);
}

.circle-bullets p + ul {
    margin-top: 20px;
}

.circle-bullets ul { 
    padding-left: 15px;
    list-style:none; 
}
.circle-bullets ul li {
    margin-bottom: 20px; 
    position: relative; 
}

.circle-bullets ul li::before {
	font-family: 'Font Awesome 6 Pro';
    /* font-weight: 400; */
    content: '\f111';
    position: absolute;
    left: -30px;
	color: var(--revive-green);
  }


  .arrow-bullets ul { 
    padding-left: 10px;
    list-style:none; 
}
.arrow-bullets ul li { 
    margin-bottom: 10px; 
    position: relative; 
}

.arrow-bullets ul li::before {
	font-family: 'Font Awesome 6 Pro';
    /* font-weight: 400; */
    content: '\f061';
    position: absolute;
    left: -30px;
	color: var(--revive-yellow);
  }

ol.breadcrumbs li.current { color: var(--revive-green);}


ul.footnote {
    list-style-type: none;
    margin: 20px 0;
    padding: 0;
    text-align: center;
}

ul.footnote li {
    display: block;
    margin-left: 10px;
    padding-right: 0;
}

@media (min-width: 768px) { 
    ul.footnote {
        text-align: right;
    }
    ul.footnote li {
        display: inline-block;
    }
}


/* ----------------------------------- OBJECTS ----------------------------------- */

.page-title-head {  display: none; }

.archive .page-title-head,
.single-post .page-title-head  {  display: inline-block; }


#hero {
    min-height: 90vh;
    display: flex;
    align-items: center;
}

.box-outline .vc_column-inner {
    border: solid 1px #ffffff;
    padding: 40px;
}

.hide-background-mobile > div { background-size:0% !important;}
.icon-graphic figure { max-width: 120px !important; }
.max-width-600 figure { max-width: 600px !important;}
.max-width-500 figure { max-width: 500px !important;}
.max-width-400 figure { max-width: 400px !important;}

.min-height-500 {  min-height: 500px; }

.padded-text-area { padding: 50px}
.side-padding { padding-left: auto; padding-right: auto; }

.border-top-blue { border-top: solid 1px var(--revive-blue); padding-top: 30px }
.border-top-green { border-top: solid 1px var(--revive-green); padding-top: 30px }
.border-top-yellow { border-top: solid 1px var(--revive-yellow); padding-top: 30px }
.border-top-red { border-top: solid 1px var(--revive-red); padding-top: 30px }

.swap-column .wpb_wrapper { display: flex; flex-direction: column-reverse; }
.swap-column .wpb_wrapper > div > * {flex-direction: column; }
.swap-row {  flex-direction: column-reverse; }

.wp-block-zoho-zoho-forms iframe {
	min-height: 800px;
}
.contact-form .wp-block-zoho-zoho-forms  iframe {
	min-height: inherit;
}

.solutions-pie .wpb_wrapper.vc_figure,
.solutions-pie .wpb_wrapper.vc_figure img,
.solutions-pie .wpb_wrapper.vc_figure .vc_single_image-wrapper {
    width: 100%;
    height: auto;
}





/* ----------------------------------- ROTATING TEXT ----------------------------------- */


.animated-text h2 { font-size: 2.2rem }

@media (min-width: 576px) { 
    .animated-text h2 {font-size: 3rem;}
    .animated-text {margin-bottom: 50px}
}

@media (min-width: 1200px) { 
    .animated-text h2 {font-size: 4rem;}
}

.animated-text {margin-bottom: 100px;}


.dropping-texts {
    display: inline-block;
    text-align: left;
    color: var(--revive-green);
  }
  
  .dropping-texts > div {
    opacity:0;
    position: absolute;
    top:0
  }
  
  .dropping-texts > div:nth-child(1) {
    animation: roll 10s linear infinite 0s;
    color: var(--revive-green);
  }
  .dropping-texts > div:nth-child(2) {
    animation: roll 10s linear infinite 2s;
    color: var(--revive-yellow);
  }
  .dropping-texts > div:nth-child(3) {
    animation: roll 10s linear infinite 4s;
    color: var(--revive-red);
  }
  .dropping-texts > div:nth-child(4) {
    animation: roll 10s linear infinite 6s;
    color: var(--revive-green);
  }
  .dropping-texts > div:nth-child(5) {
    animation: roll 10s linear infinite 8s;
    color: var(--revive-yellow);
  }
  
  @keyframes roll {
    0% { opacity:0; }
    2% { opacity:1; }
    3% { opacity:1; }
    15% { opacity:1;}
    17% { opacity:0; }
    100% { opacity:0; }
  }


/* ----------------------------------- ICON GRID ----------------------------------- */

.aio-icon-component {
    width: 100%;
    padding-top: 15px !important;
    margin-bottom: 10px !important
}
@media (min-width: 768px) {
    .aio-icon-component {
        padding-top: 25px !important;
        margin-bottom: 35px !important
    }
}

.aio-icon-component h5 { font-size: 16px; }
@media (min-width: 992px) { .aio-icon-component h5 { font-size: 20px; }}

.aio-icon-component .aio-icon-img { max-width: 40px;}
@media (min-width: 768px) {.aio-icon-component .aio-icon-img { max-width: inherit;} }

.icon-grid-container .wpb_wrapper {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-column-gap: 30px;
}

@media (min-width: 576px)       { .icon-grid-container .wpb_wrapper {grid-template-columns: repeat(2, 1fr);} }
@media (min-width: 768px)       { .icon-grid-container .wpb_wrapper {grid-template-columns: repeat(3, 1fr);} }
@media (min-width: 1200px)      { .icon-grid-container .wpb_wrapper {grid-template-columns: repeat(4, 1fr); }}
@media (min-width: 1400px)      { .icon-grid-container .wpb_wrapper {grid-template-columns: repeat(5, 1fr);} }



/* ----------------------------------- TESTIMONIAL ----------------------------------- */

.testimonial {
    padding-right: 70px;
    border-right: solid 0px #333333;
}

.testimonial .vc_column-inner {
    position: relative;
    padding-left: 60px;
    padding-top:20px;
    padding-bottom: 20px;

}

.testimonial .vc_column-inner::before {
    font-family: 'Font Awesome 6 Pro';
    font-size: 25px;
    font-weight: 900;
    content: '\f10d';
    position: absolute;
    left: 20px;
    top: 0px;
	color: #333333;
}

.testimonial-logo {
    padding-left: 40px
}

.testimonial-logo img {
    max-width: 220px
}


.quotemarks::before {
    font-family: 'Font Awesome 6 Pro';
    font-size: 25px;
    font-weight: 900;
    content: '\f10d';
    position: absolute;
    left: 20px;
    top: 0px;
	color: #333333;
}

#main blockquote {
    font-size: 120%;
    line-height: 140%;
    color: var(--revive-blue);
    background-color: transparent !important;
    padding: 0 0 0 40px;
    margin: 30px 0;
    position: relative;
}

#main blockquote::before {
    font-family: 'Font Awesome 6 Pro';
    font-size: 25px;
    font-weight: 900;
    content: '\f10d';
    position: absolute;
    left: 0px;
    top: 0px;
	color: var(--revive-green);
}


/* ----------------------------------- ACCORDION ----------------------------------- */


.revive-accordion .wpb_accordion_header > a span{
    color: var(--revive-green);
    font-size: 1.3rem;
}


.revive-accordion .wpb_accordion_header>a:before {
    background: none !important;
}

.revive-accordion .wpb_accordion_header>a:after {
    margin-top: -16px;
    content: "\f067";
    font-family: 'Font Awesome 6 Pro';
    font-weight: 400;
    font-size: 16px;
    line-height: 24px;
}

.revive-accordion .wpb_accordion_header.ui-state-active>a:after {
    content: "\f068";
}


.wpb_content_element.dt-style .wpb_accordion_wrapper .wpb_accordion_section:first-child .wpb_accordion_header,
.wpb_content_element.dt-accordion-line-on .wpb_accordion_wrapper .wpb_accordion_header {
    margin: 15px 0 0;
    padding: 14px 0 0;
    border-top: 1px solid var(--revive-green);
}

/* Large Accordipon */
.revive-accordion.large-blue .wpb_accordion_header>a:after {
    margin-top: -15px;
    content: "\f067";
    font-family: 'Font Awesome 6 Pro';
    font-weight: 400;
    font-size: 24px;
    line-height: 30px;
}

.revive-accordion.large-blue .wpb_accordion_header.ui-state-active>a:after {
    content: "\f068";
}

.revive-accordion.large-blue h3 a span {
    color: var(--revive-blue) !important;
    font-weight: 400;
}

.revive-accordion.large-blue h3.ui-state-active a span,
.revive-accordion.large-blue h3:hover a span {
    color: var(--revive-green) !important;
}

.revive-accordion.large-blue .ui-accordion-header-active {
    margin-bottom: 20px !important;
}

.wpb_accordion_header > a span {
    color: var(--revive-green) !important;
}


.revive-accordion .wpb_accordion_content >div:last-of-type {
    margin-bottom: 30px !important;
}


.revive-accordion.solutions-accordion .wpb_accordion_section h3 a span                 { font-weight: 600x  ;}
.revive-accordion.solutions-accordion .wpb_accordion_section h3 a span                 { color: var(--revive-yellow) !important;}
.revive-accordion.solutions-accordion .wpb_accordion_section:nth-of-type(2) h3 a span  { color: #f39200 !important;}
.revive-accordion.solutions-accordion .wpb_accordion_section:nth-of-type(3) h3 a span  { color: #eb5f46 !important;}
.revive-accordion.solutions-accordion .wpb_accordion_section:nth-of-type(4) h3 a span  { color: #b418bf !important;}
.revive-accordion.solutions-accordion .wpb_accordion_section:nth-of-type(5) h3 a span  { color: #00a1c7 !important;}
.revive-accordion.solutions-accordion .wpb_accordion_section:nth-of-type(6) h3 a span  { color: #00d7af !important;}




/* ----------------------------------- TABS ----------------------------------- */



.revive-tabs ul.wpb_tabs_nav::after {
    border-bottom: solid 1px var(--revive-green);
    width: 200vw;
    margin-left: -100vw;
}

.revive-tabs ul.wpb_tabs_nav li.ui-tabs-tab {
    font-size: 1.1rem;
    padding-bottom: 20px;
    position: relative;
    display: block;
    width: 100%;
}



.revive-tabs ul.wpb_tabs_nav li.ui-tabs-tab a {
    color: #333333;
}

.revive-tabs ul.wpb_tabs_nav li.ui-tabs-tab:hover a,
.revive-tabs ul.wpb_tabs_nav li.ui-tabs-active a {
    color: var(--revive-blue) !important;
}

.revive-tabs ul.wpb_tabs_nav li.ui-tabs-active a {
    font-weight: 500;
}

.revive-tabs ul.wpb_tabs_nav li.ui-tabs-active:hover a {
    color: var(--revive-green) !important;
}

.revive-tabs ul.wpb_tabs_nav li.ui-tabs-tab a::after  {
    content: '';
    position: absolute;
    width: 100%;
    transform: scaleX(0);
    height: 0px;
    bottom: 0;
    left: 0;
    background-color: var(--revive-green);
    transform-origin: bottom right;
    transition: transform 0.25s ease-out;
  }

.revive-tabs ul.wpb_tabs_nav li.ui-tabs-active a::after,
.revive-tabs ul.wpb_tabs_nav li.ui-tabs-tab a:hover::after {
    transform: scaleX(1);
    transform-origin: bottom left;
}

.revive-tabs ul.wpb_tabs_nav li.ui-tabs-tab:first-of-type a::before  { content: "01 "; color: var(--revive-blue); font-weight: 600; }
.revive-tabs ul.wpb_tabs_nav li.ui-tabs-tab:nth-of-type(2) a::before { content: "02 "; color: var(--revive-blue); font-weight: 600; }
.revive-tabs ul.wpb_tabs_nav li.ui-tabs-tab:nth-of-type(3) a::before { content: "03 "; color: var(--revive-blue); font-weight: 600; }
.revive-tabs ul.wpb_tabs_nav li.ui-tabs-tab:nth-of-type(4) a::before { content: "04 "; color: var(--revive-blue); font-weight: 600; }
.revive-tabs ul.wpb_tabs_nav li.ui-tabs-tab:nth-of-type(5) a::before { content: "05 "; color: var(--revive-blue); font-weight: 600; }
.revive-tabs ul.wpb_tabs_nav li.ui-tabs-tab:nth-of-type(6) a::before { content: "06 "; color: var(--revive-blue); font-weight: 600; }


@media (min-width: 800px) { 
    .revive-tabs ul.wpb_tabs_nav li.ui-tabs-tab {
        display: inline-block;
        width: auto;
    }
    .revive-tabs ul.wpb_tabs_nav li.ui-tabs-tab a::after {
        height: 4px;
    }
}


/* SOLUTIONS TAB - NOT USED */


.revive-tabs.solution-tabs ul.wpb_tabs_nav li.ui-tabs-tab a {
    color: #ffffff;
}

.revive-tabs.solution-tabs ul.wpb_tabs_nav li.ui-tabs-tab:hover a,
.revive-tabs.solution-tabs ul.wpb_tabs_nav li.ui-tabs-active a {
    color: var(--revive-yellow) !important;
}

.revive-tabs.solution-tabs ul.wpb_tabs_nav li.ui-tabs-tab:first-of-type a::before  { content: "01 "; color: var(--revive-yellow); font-weight: 600; }
.revive-tabs.solution-tabs ul.wpb_tabs_nav li.ui-tabs-tab:nth-of-type(2) a::before { content: "02 "; color: var(--revive-yellow); font-weight: 600; }
.revive-tabs.solution-tabs ul.wpb_tabs_nav li.ui-tabs-tab:nth-of-type(3) a::before { content: "03 "; color: var(--revive-yellow); font-weight: 600; }
.revive-tabs.solution-tabs ul.wpb_tabs_nav li.ui-tabs-tab:nth-of-type(4) a::before { content: "04 "; color: var(--revive-yellow); font-weight: 600; }
.revive-tabs.solution-tabs ul.wpb_tabs_nav li.ui-tabs-tab:nth-of-type(5) a::before { content: "05 "; color: var(--revive-yellow); font-weight: 600; }
.revive-tabs.solution-tabs ul.wpb_tabs_nav li.ui-tabs-tab:nth-of-type(6) a::before { content: "06 "; color: var(--revive-yellow); font-weight: 600; }



/* ----------------------------------- BLOG ----------------------------------- */

.filter {
    justify-content: flex-start;
}

.filter::after {
    border-bottom: solid 1px var(--revive-green);
    position: absolute;
    bottom: 0;
    left:-51vw;
    width: 200vw;
}

.filter .filter-categories a {
    padding-top: 20px;
    padding-bottom: 25px;
}

.filter .filter-categories a::after  {
    content: '';
    position: absolute;
    width: 100%;
    transform: scaleX(0);
    height: 4px;
    bottom: 0;
    left: 0;
    background-color: var(--revive-green);
    transform-origin: bottom right;
    transition: transform 0.25s ease-out;
  }

.filter .filter-categories a.act::after,
.filter .filter-categories a:hover::after {
    transform: scaleX(1);
    transform-origin: bottom left;
}


/* Grid listing page */

.blog.layout-grid .post h3.entry-title {
    margin-bottom: 0;
}

.blog.layout-grid .post .entry-meta a {
    font-family: "Sen", sans-serif;
    font-size: 20px;
    line-height: 30px;
    letter-spacing: -0.3px;
    font-weight: 400;
    color: var(--revive-green);
}

.blog.layout-grid .post .entry-meta a * {
    color: var(--revive-green);
}

.blog.layout-grid .post .details {
    border: solid 1px var(--revive-blue);
    display: inline-block;
    padding: 10px 40px 10px !important;
    border-radius: 100px;
}

.blog.layout-grid .post .details.more-link:hover {
    background-color: var(--revive-blue);
    color: white;
}

.blog.layout-grid .post .details.more-link:after,
.blog.layout-grid .post .details.more-link:before {
    display: none;
}

/* Homepage carousel */

.blog-carousel-shortcode h3.entry-title {
    font-family: "Sen", sans-serif;
    font-size: 26px;
    line-height: 30px;
}

.blog-carousel-shortcode .entry-meta{
    font-family: "Sen", sans-serif;
    font-size: 20px;
    line-height: 30px;
    letter-spacing: -0.3px;
}

/* Article page */

.category .page-title,
.single-post .page-title {
    display: flex;
}

.category .page-title-breadcrumbs,
.single-post .page-title-breadcrumbs {
    order: 1;
    padding: 25px 0;
}

.category  .page-title-head,
.single-post .page-title-head {
    order: 2;
}

.post-navigation .nav-links {
    border-bottom-style: none;
    border-bottom: none;
}

.post-navigation .nav-links .post-title.h4-size {
    font-size: 22px !important;
}

.post-meta p { font-size: 1.2rem; line-height: 1.5rem; }
.post-meta a { text-decoration: none;}
.post-meta a:hover { color: var(--revive-green);}

.post-meta .post-date::before { color: var(--revive-green) !important; }
.post-meta .post-category::before { color: var(--revive-yellow) !important; }



/* ----------------------------------- NAVIGATION ----------------------------------- */

.fade-big-menu-close-icon .hide-overlay .close-line { width: 34px; height: 4px; border-radius: 10px;}
.menu-toggle .menu-line:first-of-type:before { background-color: var(--revive-green) !important;}
.menu-toggle .menu-line:nth-of-type(2):before { background-color: var(--revive-yellow) !important;}
.menu-toggle .menu-line:nth-of-type(3):before { background-color: var(--revive-red) !important;}
.x-move-icon .menu-toggle .menu-line { height:4px;}
.x-move-icon .menu-toggle .lines-button { width: 40px}
.x-move-icon .menu-toggle .menu-line:first-of-type { width: 80%;}
.x-move-icon .menu-toggle .menu-line:nth-of-type(2) {top: 12px; width: 60%;}
.x-move-icon .menu-toggle .menu-line:nth-of-type(3) { top: 24px; width: 40%;}
.x-move-icon .menu-toggle .menu-line:first-of-type,
.x-move-icon .menu-toggle:hover .menu-line:nth-of-type(2),
.x-move-icon .menu-toggle:hover .menu-line:nth-of-type(3) { width: 100%;}



/* ----------------------------------- FOOTER ----------------------------------- */

footer p {
    line-height: 22px;
}

footer h2, footer h4 {
    font-family: "Sen", sans-serif;
    font-size: 22px;
    margin-bottom: 30px;
}

footer a {
    color: white !important;
}

.footer .widget {
    margin-bottom:30px;
}

.footer .logos {
    padding-left: 0px;
    text-align: center;
}

.footer .logos figure {
    display: inline-block;
    margin-left:15px;
    margin-right: 15px;
    vertical-align: top;
}

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

.footer .logo-wide {
    max-width: 180px;
    /* max-height:100px; */
}

.footer .widget ul li a span { color: white }
.footer .widget ul li a:hover span { color: var(--revive-green) }

/* -----------------------------------  BREAKPOINTS  ----------------------------------- */




@media (min-width: 992px) { 
    .hide-background-mobile > div { background-size: contain !important;}
    .padded-text-area { padding: 70px }
    .side-padding { padding-left: 50px; padding-right: 50px; }
    .swap-column .wpb_wrapper { flex-direction: column; }
    .swap-row {  flex-direction: row; }
    .testimonial { border-right: solid 1px #333333; }
    .testimonial-logo { padding-left: 0px }
    .footer .logos { padding-left: 40px; text-align: right;}
}

@media (min-width: 768px) { 
}

@media (min-width: 1200px) { 
}


@media (min-width: 1400px) { 
    .padded-text-area { padding: 100px }
}

