/*==========================================================
    * TABLE OF CONTENTS
    * 01. Global Styling
    * 02. Gloabal Elements
    * 03. Gloabal Classes
    * 04. Header and Nav Bar
        * 04.a Mobile Menu
    * 05. Homepage
    * 06. Interior Pages
    * 07. 
    * 08. 
    * 09. 
    * 10. 404
    * 11. Footer
    * 00. Mobile
==========================================================*/




/*==========================================================
    * 01. Global Styling
==========================================================*/
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;600;900&display=swap');


:root{
    --primary-link-color: #00529E;
    --primary-link-color-hover: #00529E;

        --header-background-color: #f8f9fa;
    --header-menu-link: #00529e;
    --header-menu-link-hover: #57c2e9;
    --header-menu-link-color:  #57c2e9;
        --header-social-link-background-color: #f8f9fa;
        --header-social-link-color-hover: #007bff;
        --header-social-link-background-color-hover: #f8f9fa;
        --header-social-link-color-hover: #007bff;

    --submenu-header: #363636;
    --submenu-header-text: #656565;
    --submenu-background: #515151;
    --submenu-text: #909090;
    --submenu-text-highlighted: #FFF;

    --primary-button-color: #00529E;
    --primary-button-background-color: transparent;
    --primary-button-color-hover: #FFF;
    --primary-button-background-color-hover: #00529E;

    --primary-text-color: #454648;

    --footer-background-color: #454647;
    --footer-color: #afb1b2;
    --footer-link-color: #58c9f2;
    --footer-menu-link-color: #e6e7e8;
    --footer-menu-link-color-hover: #e6e7e8;


    --black: #000000;
    --white: #FFFFFF;
    --whitesmoke: #F5F5F5;


    --main-color: #00529e;
    --light-gray: #e6e7e8;
    
}

body {
  background: #FFF;
  font-family: 'Montserrat', sans-serif;
}





/*==========================================================
    * 02. Gloabal Elements
==========================================================*/
a, a:visited{
    color: var(--primary-link-color);
    text-decoration: none;
}
a:hover{
    color: var(--primary-link-color-hover);
    text-decoration: none;
}

img{
    width: 100%;
}

iframe{
    border: none;
    height: 100%;
    width: 100%;
}


table{
    width: 100%;
}
table tbody tr td{
    word-wrap: break-word;
}

/*==========================================================
    * 03. Gloabal Classes
==========================================================*/
.primary-button,
#login-form-container .form-content form input.button{
    color: var(--primary-button-color);
    background-color: var(--primary-button-background-color);
    border: 1px solid var(--primary-button-color);
    display: inline-block;
    font-weight: bold;
    padding:  20px;
    text-transform: uppercase;
}
.primary-button:hover,
#login-form-container .form-content form input.button:hover{
    color: var(--primary-button-color-hover);
    background-color: var(--primary-button-background-color-hover);
    border-color: var(--primary-button-color-hover);
}


    /*----------------------------------------------------------
        * 03.a Cards
    ----------------------------------------------------------*/
    .card{
        background-color: var(--light-gray);
        border-radius: 0;
        border-width: 0;
        height: calc(100% - 30px);
        margin-bottom: 30px;
    }
    .card.h-auto{
        height: auto;
    }
    .card .card-header{
        background-color: var(--main-color);
        border-radius: 0;
        border-width: 0;
        color:  white;
        display: grid;
        font-weight: bold;
        grid-template-columns: auto 31px;
    }
    .card .card-header .card-header-icon{
        width: 30px;
    }
    .card .card-body.scroll{
        max-height: 250px;
        overflow-y: auto;
    }
    .card .card-body.child-overflow-visible > div{
            overflow: auto;
    }
    .card .card-body ul{
        list-style: none;
        margin: 0;
        padding:  0;
    }
    .card .card-body ul li a{
        display: grid;
        grid-template-columns: 35px auto;
        font-weight: bold;
        padding: 4px 0;
    }
    .card .card-body ul li a .icon{
        display: inline-block;
        margin-top: 2px;
        width: 14px;
    }
    .card .card-body ul li a .title{
        font-size: 12px;
        text-decoration: underline;
        text-transform: uppercase;
    }

    .card .card-body.simple-list ul li a{
        display: inline-block;
        grid-template-columns: unset;
    }
    .card .card-body.simple-list .use-list-icons ul li{
        font-size: 12px;
        padding-left: 20px;
        position: relative;
        text-decoration: underline;
        text-transform: uppercase;
        
    }
    .card .card-body.simple-list .use-list-icons ul li a{
        text-decoration: underline;
    }
    .card .card-body.simple-list .use-list-icons ul li a::before{
        background-image:url('/wp-content/themes/cfn/assets/images/arrow.jpg');
        background-size: 100% 100%;
        content:  '';
        display: inline-block;
        height: 14px;
        left: 0;
        position: absolute;
        top: 6px;
        width: 14px;
    }

    .network-notification{
        max-height: 500px; 
        min-height: 500px;
    }
    .network-notification #campaign-table {
        width: 100% !important;
    }
    .network-notification span.date span {
        background-color: var(--main-color);
        color: white;
        padding: 5px;
    }


/*==========================================================
    * 04. Header and Nav Bar
==========================================================*/
header.header{
    background-color: var(--header-background-color);
}
header.header .nav-container{
    padding: 22px 80px;
}
header.header nav.navbar{
    margin: 0 auto;
    max-width: 1550px;
}
header.header nav.navbar a.navbar-brand{
    position: absolute;
    top: -8px;
}
header.header nav.navbar a.navbar-brand img{
    width: 105px; 
}
header.header nav.navbar .navbar-collapse ul li a,
header.header nav.navbar .navbar-collapse ul li a:visited{
    color: var(--header-menu-link);
    display: inline-block;
    font-weight: bold;
    padding: 5px 10px;
}
header.header nav.navbar .navbar-collapse ul li a:hover{
    text-decoration: none;
}
header.header nav.navbar .navbar-collapse ul li a img {
    display: inline-block;
    width: 50px;
}
header.header nav.navbar .navbar-collapse ul li a span {
    border-top: 1px solid transparent;
    border-bottom: 1px solid transparent;
    display: inline-block;
    padding: 5px 10px;
}
header.header nav.navbar .navbar-collapse ul li a:hover span,
header.header nav.navbar .navbar-collapse ul li a.active span  {
    border-top-color: var(--header-menu-link-hover);
    border-bottom-color: var(--header-menu-link-hover);
    color: var(--header-menu-link-hover);
}
header.header nav.navbar .navbar-collapse ul li span.separator{
    color: var(--header-menu-link-color);
}
header.header nav.navbar .navbar-collapse ul li:last-child span.separator {
    display: none;
}
header.header nav.navbar .navbar-collapse ul.social-links{
    list-style: none;
}
header.header nav.navbar .navbar-collapse ul.social-links li{
    display: inline-block;
}
header.header nav.navbar .navbar-collapse ul.social-links li a{
    padding: 5px 10px;
}
header.header nav.navbar .navbar-collapse ul.social-links li a .icon{
    background-color: var(--header-social-link-background-color);
    border-radius: 50px;
    color: var(--header-social-link-color-hover);
    display: inline-block;
    padding: 6px 0;
    text-align: center;
    width: 27px;
}
header.header nav.navbar .navbar-collapse ul.social-links li a:hover .icon{
    background-color: var(--header-social-link-background-color-hover);
    color: var(--header-social-link-color-hover);
}
header.header .color-bar{
    background-color: var(--main-color);
    height: 50px;
}

    /*----------------------------------------------------------
        * 04.a Mobile Menu
    ----------------------------------------------------------*/
    @media (max-width: 991px) {
        header.header .nav-container.menu-open{
                padding: 22px 0;
        }
        header.header .nav-container.menu-open nav.navbar a.navbar-brand{
            position: static;
        }
        header.header nav.navbar .navbar-collapse.show{
            background-color: var(--header-background-color);
            height: calc( 100vh - 73px);
            left: 0;
            top: 100px;
            width: 100%;
            z-index: 10;
        }
        header.header nav.navbar .navbar-collapse.show ul.navbar-nav{
            margin-top: 0;
            padding: 15px 0;
        }
        header.header nav.navbar .navbar-collapse.show ul.navbar-nav li{
            border-bottom: 1px solid var(--header-menu-link);
        }
        header.header nav.navbar .navbar-collapse.show ul.navbar-nav li a{
            font-size: 17px;
            padding: 17px 0;
        }
        header.header nav.navbar .navbar-collapse.show ul li a span,
        header.header nav.navbar .navbar-collapse.show ul li a:hover span, 
        header.header nav.navbar .navbar-collapse.show ul li a.active span{
            border-top-width:  0;
            border-bottom-width:  0;
        }
        header.header nav.navbar .navbar-collapse.show ul.navbar-nav li span.separator{
            display: none;
        }
        header.header nav.navbar .navbar-collapse.show ul.social-links{
            display: block;
            text-align: center;
        }
        header.header nav.navbar .navbar-collapse.show ul.social-links li{
            border-bottom: none;
        }

        header.header nav.navbar .navbar-collapse.show ul.social-links li a .icon{
            margin: 0 10px;
            width: 32px;
        }

        header.header nav.navbar .navbar-collapse.show form{
            display: block;
            padding: 0 30px;
            text-align: center;
        }
        header.header nav.navbar .navbar-collapse.show form .search-submit{
            display: inline-block;
        }

        body:not(.page-template-template-home) header.header nav.navbar .navbar-collapse.show{
            display: block !important;
            height: calc( 100vh - 100px);
            top: 100px;
        }
    }

    /* MOBILE HEADER BTN */
    .mobile-menu-btn {
        background-color: transparent;
        border: 0;
        display: inline-block;
        height: 50px;
        right: 9px;
        margin: 0;
        margin-top: 1px;
        min-width: inherit;
        position: absolute;
        top: 11px;
        transform: translateY(-50%);
        width: 50px;
        z-index: 2;
    }
    @media only screen and (min-width: 992px) {
        .mobile-menu-btn {
            display: none;
        }
    }
    .mobile-menu-btn span {
        left: 13px;
        top: 24px;
    }
    .mobile-menu-btn span::before, .mobile-menu-btn span::after {
        content: '';
        transform: rotate(0);
    }
    .mobile-menu-btn span::before {
        top: -8px;
    }
    .mobile-menu-btn span::after {
        bottom: -8px;
    }
    .mobile-menu-btn span,
    .mobile-menu-btn span::before,
    .mobile-menu-btn span::after {
        background-color: var(--header-menu-link-color);
        display: block;
        height: 3px;
        transition: all .3s ease-in-out;
        position: absolute;
        width: 40px;
    }
    .mobile-menu-btn:hover, .mobile-menu-btn:focus, .mobile-menu-btn:active, .mobile-menu-btn:not(.collapsed) {
        background-color: transparent;
        border: 0;
        outline: none;
    }
    .mobile-menu-btn:not(.collapsed) span {
        background-color: transparent;
    }
    .mobile-menu-btn:not(.collapsed) span::before, .mobile-menu-btn:not(.collapsed) span::after {
        background-color: var(--header-menu-link-color);
        top: 0;
    }
    .mobile-menu-btn:not(.collapsed) span::before {
        transform: rotate(45deg);
    }
    .mobile-menu-btn:not(.collapsed) span::after {
        transform: rotate(-45deg);
    }

    
@media (max-width: 1303px) {
    header.header nav.navbar .navbar-collapse ul li a img {
        display: none;
    }
}

/*
.main-menu {
    display: inline-block;
    font-size: 0;
}
.main-menu li {
    list-style: none;
    margin: 0;
}
.main-menu > li {
    border-top: 1px solid #00529e;
    padding: 0;
    position: relative;
}
.main-menu a {
    color: #00529e;
    display: block;
    font-family: "Montserrat", sans-serif;
    font-size: 1.063rem;
    font-weight: 700;
    line-height: 1.2;
    padding: 1.1rem;
    text-decoration: none;
    transition: color .3s ease-in-out;
}

@media only screen and (max-width: 929px){
    .main-menu {
        display: block;
        margin-top: 145px;
    }
    .main-menu > li > a {
        padding-right: 4rem;
    }
}

*/


/*==========================================================
    * 05. Homepage
==========================================================*/
#login-form-container{
    background-color: var(--light-gray);
    margin: 50px auto;
    max-width: 800px;
}
#login-form-container .header{
    background-color: var(--main-color);
    color:  white;
    padding:  25px;
}
#login-form-container .form-content{
    display: inline-block;
    padding: 50px;
    width: 100%;
}
#login-form-container .form-content form label{
    display: none;
}
#login-form-container .form-content form input{
    border-width: 0;
    padding: 15px;
    width: 100%;
}

#login-form-container .form-content form .login-submit{
    float:  left;
}
#login-form-container .form-content .login-forgot-password{
    float: right;
    line-height: 66px;
    font-weight: bold;
    text-decoration: underline;
    text-transform: uppercase;
}


/*==========================================================
    * 06. Interior Pages
==========================================================*/
main.interior{
    margin: 100px 0;
}


    /*----------------------------------------------------------
        * 06.a Submenu
    ----------------------------------------------------------*/
    nav.submenu{
        background-color: var(--submenu-background);
        margin-bottom: 30px;
    }


    nav.submenu .header{
        background-color: var(--submenu-header);
        color: var(--submenu-header-text);
        font-size: 20px;
        font-weight: bold;
        padding: 20px 30px;
        text-transform: uppercase;
    }

    nav.submenu ul{
        list-style: none;
        margin: 0;
        padding: 20px 0 20px 30px;
    }
    nav.submenu ul li{
        border-bottom: 2px solid var(--submenu-text);
    }
    nav.submenu ul li:last-child{
        border-bottom: none;
    }
    nav.submenu ul li a{
        color: var(--submenu-text);
        display: block;
        font-weight: bold;
        text-transform: uppercase;
        padding: 10px 0;
    }
    nav.submenu ul li.current-menu-item a{
        color: var(--submenu-text-highlighted);
    }
    nav.submenu ul li.current-menu-item a:after{
        color: var(--submenu-text-highlighted);
        content: '>';
        font-weight: bold;
        margin-left: 10px;
    }

    

/*==========================================================
    * 08. Mobile Fueling
==========================================================*/
main.mobile-fueling form,
main.mobile-fueling .section{
    background-color: var(--light-gray);
    padding:  50px;
}
main.mobile-fueling form .form-group label{
    color:  var(--main-color);
    font-size: 16px;
    font-weight: bold;
    margin-top: 30px;
    margin-bottom: 20px;
    text-transform: uppercase;
}

main.mobile-fueling form button#submit{
    border: 2px solid  var(--primary-link-color);
    color:  var(--primary-link-color);
    font-size: 15px;
    font-weight: bold;
    line-height: 15px;
    padding: 22px;
}
main.mobile-fueling form button#submit:hover{
    cursor: pointer;
}
main.mobile-fueling form button#submit .icon{
    display: inline;
    font-size: 30px;
    font-weight: normal;
    line-height: 19px;
    vertical-align: bottom;
}

/*==========================================================
    * 08. Template:  Mobile Fueling
==========================================================*/
    
main.template-mobile-fueling #edit-profile-link-container{
    margin-bottom: 15px;
    text-align: right;
}
        
main.template-mobile-fueling #edit-profile-link-container #edit-profile-link{
    display: inline-grid;
    grid-template-columns: 35px auto;
    font-weight: bold;
    padding: 4px 0;
}
main.template-mobile-fueling #edit-profile-link-container #edit-profile-link .icon{
    display: inline-block;
    margin-top: 2px;
    width: 17px;
}
main.template-mobile-fueling #edit-profile-link-container #edit-profile-link span{
    font-size: 14px;
    font-weight: bold;
    text-decoration: underline;
    text-transform: uppercase;
}
main.template-mobile-fueling h2{
    color:  var(--main-color);
    font-size: 16px;
    font-weight: bold;
    margin-top: 30px;
    margin-bottom: 20px;
    text-transform: uppercase;
}

main.template-mobile-fueling form select{
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image: url("data:image/svg+xml;utf8,<svg fill='black' height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'><path d='M7 10l5 5 5-5z'/><path d='M0 0h24v24H0z' fill='none'/></svg>");
    background-repeat: no-repeat;
    background-position-x: 95%;
    background-position-y: 14px;
    height: 57px !important;
}
main.template-mobile-fueling form button#submit{
    padding: 17px 22px;
}

main.template-mobile-fueling hr{
    border-bottom: 1px solid var(--primary-text-color);
}

main.template-mobile-fueling #companies .company{
    border-bottom: 1px solid var(--primary-text-color);
    padding: 47px 0;
}

main.template-mobile-fueling #companies .company .company-name{
    font-size: 17px;
    font-weight: bold;
    margin-bottom: 0;
    text-transform: uppercase;
}
main.template-mobile-fueling #companies .company div{
    color:  var(--primary-text-color);
    font-size: 14px;
    font-weight: bold;
    text-transform: uppercase;
}
main.template-mobile-fueling #companies .company .contact-email a{
    color:  var(--main-color);
    text-decoration: underline;
}
main.template-mobile-fueling #companies .company div.services-description{
    font-weight: unset;
    margin-top: 15px;
    text-transform: unset;
}
main.template-mobile-fueling #companies .company div.contact-links{
    margin-top: 15px; 
}
main.template-mobile-fueling #companies .company div.contact-links a{
    display: inline-block;
    margin-right: 30px;
    text-decoration: underline;
}

/*==========================================================
    * 09. Template:  Edit Profile
==========================================================*/

main.template-edit-profile form .form-group{
    margin-bottom: 0;
}


main.template-edit-profile form label input[type="checkbox"]{
    -webkit-appearance: unset;
    background-color: var(--light-gray);
    border: 1px solid var(--primary-text-color);
    height: 18px;
    position: relative;
    width: 18px;
}
main.template-edit-profile form label input[type="checkbox"]:checked{
    background-color:  var(--main-color);
    border-color:  var(--main-color);
}
main.template-edit-profile form input[type="checkbox"]:checked::after{
    color:  white;
    content: '\2714';
    left: 50%;
    font-size: 11px;
    position: absolute;
    text-align: center;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
}
main.template-edit-profile form label input[type="checkbox"] + span{
    margin-left: 10px;
}

main.template-edit-profile form ul.form-list{
    columns: 3;
   -webkit-columns: 3;
   -moz-columns: 3;
    padding-left: 0;
}

main.template-edit-profile form ul.form-list label{
    color:  var(--primary-text-color);
    font-weight: normal;
    margin-top: 5px;
    margin-bottom: 5px;
    text-transform: unset;
}

main.template-edit-profile form button#submit{
    margin-top: 30px;
}

/*==========================================================
    * 10. Template:  Mobile Fueling Calculator
==========================================================*/
main.mobile-fueling-form #results div{
    color: white;
    font-weight: bold;
    margin-bottom: 45px;
    padding: 15px 50px;
    text-transform: uppercase;
}
main.mobile-fueling-form #results div a{
    text-decoration: underline;
}
main.mobile-fueling-form #results .success{
    background-color: var(--main-color);
    color: white;
}
main.mobile-fueling-form #results .success a{
    color: white;
}
main.mobile-fueling-form #results .error{
    background-color: #dc3545;
}

main.mobile-fueling-form form{
    background-color: var(--white);
    padding: 0;
}

main.mobile-fueling-form .form-section{
    background-color: var(--light-gray);
    margin-bottom: 50px;
}

main.mobile-fueling-form  .form-section-header{
    background-color: var(--main-color);
    color:  white;
    font-weight: bold;
    padding: 15px 50px;
    text-transform: uppercase;
}

main.mobile-fueling-form form .form-section .form-section-subheader{
    border-bottom: 2px solid var(--main-color);
    color: var(--main-color);
    font-weight: bold;
    margin: 15px 50px;
    padding-bottom: 7px;
    text-transform: uppercase;
}

main.mobile-fueling-form form .form-section .form-group{
    padding: 15px 50px 50px 50px;
}

main.mobile-fueling-form form .form-section .form-group .row {
    margin-top: 10px;
    margin-bottom: 10px;
}

main.mobile-fueling-form form .form-group label{
    color:  black;
    font-size: 14px;
    font-weight: normal;
    margin-top: 0;
    margin-bottom: 0;
}

main.mobile-fueling-form form .form-section-footer{
    border-top: 1px solid black;
    margin: 0 50px;
    padding-top: 50px;
    padding-bottom: 50px;
    text-transform: uppercase;
}


main.mobile-fueling-form form .form-section-footer .form-section-footer-header{
    color: var(--main-color);
    font-weight: bold;
}

main.mobile-fueling-form form .form-section-footer ul{
    list-style-type: ">";
    padding-left: 10px;
}

main.mobile-fueling-form form .form-section-footer ul li{
    padding-left: 16px;
    text-indent: 0px;
}

main.mobile-fueling-form form .form-section-footer ul li::marker{
    color: var(--main-color);
    font-weight: bold;
}

/*==========================================================
    * 10. User Registration
==========================================================*/
main.template-user-registration .ur-frontend-form .ur-form-row .ur-form-grid .__PrivateStripeElement, 
main.template-user-registration .ur-frontend-form .ur-form-row .ur-form-grid input[type=date], 
main.template-user-registration .ur-frontend-form .ur-form-row .ur-form-grid input[type=email], 
main.template-user-registration .ur-frontend-form .ur-form-row .ur-form-grid input[type=number], 
main.template-user-registration .ur-frontend-form .ur-form-row .ur-form-grid input[type=password], 
main.template-user-registration .ur-frontend-form .ur-form-row .ur-form-grid input[type=phone], 
main.template-user-registration .ur-frontend-form .ur-form-row .ur-form-grid input[type=text], 
main.template-user-registration .ur-frontend-form .ur-form-row .ur-form-grid input[type=timepicker], 
main.template-user-registration .ur-frontend-form .ur-form-row .ur-form-grid input[type=url], 
main.template-user-registration .ur-frontend-form .ur-form-row .ur-form-grid select, 
main.template-user-registration .ur-frontend-form .ur-form-row .ur-form-grid textarea {
    border: 1px solid lightgray;
    border-radius: 3px;
}
main.template-user-registration .form-row {
    display: block;
}


/*==========================================================
    * 11. 404
==========================================================*/
main.interior-404 .main-content{
    text-align: center;
}
main.interior-404 .main-content h1 {
    font-size: 70px;
}


/*==========================================================
    * 12. Footer
==========================================================*/
footer#footer{
    background-color: var(--footer-background-color);
    color: var(--footer-color);
    font-size: 13px;
    padding-top: 50px;
    padding-bottom: 50px;
}
footer#footer .footer-container{
    margin: 0 50px;
}
footer#footer .header{
    border-bottom: 1px solid var(--light-gray);
    color:  white;
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 15px;
    padding-bottom: 15px;
}

footer#footer .subheader{
    color:  white;
    font-weight: bold;
}

footer#footer a,
footer#footer a:visited{
    color: var(--footer-link-color);
    text-decoration: underline;
}


footer#footer nav ul{
    list-style: none;
    padding: 0;
    margin:  0;
}
footer#footer nav ul li{
    display: inline-block;
    width: 100%;
}
footer#footer nav ul li a,
footer#footer nav ul li a:visited {
    color: var(--footer-menu-link-color);
    display: block;
    padding: 8px 5px;
    text-decoration: none;
}
footer#footer nav ul li a:hover{
    color: var(--footer-menu-link-color-hover);
}





@media (max-width: 767px) {
    footer#footer nav{
        display: block;
    }
    footer#footer nav ul-footer-menu{
        text-align: left;
    }
}





/*==========================================================
    * 00. Mobile
==========================================================*/


