/* Brand accent/line colours as custom properties so body.brand-<name>
   (set by the layout from the resolved Brand - see App\Support\Brand) can
   override them per brand. Defaults here are Ampay's existing colours. */
:root {
    --brand-accent: #ef7428;
    --brand-line: #6a7aa3;
}

/* Placeholder Visional palette - swap for the real brand colours once
   supplied. */
body.brand-visional {
    --brand-accent: #2f6fed;
    --brand-line: #7a8aa8;
}

html, body {
    margin-right: 0px;
    margin-bottom: 0px;
    margin-left: 0px;
    margin-top: 0px;
    padding-right: 0px;
    padding-bottom: 0px;
    padding-left: 0px;
    padding-top: 0px;
}

body {
    font-family: Helvetica, Arial, sans-serif;
    font-size: 14px;
    background-color: #FFF;
    color: #000;
}

/*********** Common Styles ***********/
img {
    border: 0;
}

.caps {
    text-transform: capitalize;
}

.small_print {
    font-size: 10px;
    font-weight: normal;
}

.fsize {
    font-size: 12px;
}

.fsize_l {
    font-size: 13px;
}

.fsize_xl {
    font-size: 14px;
}

.fsize_xxl {
    font-size: 15px;
}

.fsize_xxxl {
    font-size: 17px;
}

h1, h2, h3, form {
    margin: 0px;
    padding: 0px;
}

h1 {
    font-size: 18px;
}

h2 {
    font-size: 16px;
}

h3 {
    font-size: 12px;
}

a {
    color: #006ab6;
    text-decoration: underline;
}

a:hover {
    text-decoration: underline;
}

.fleft {
    float: left;
}

.fright {
    float: right;
}

.clearb {
    clear: both;
}

.txt_center {
    text-align: center !important;
}

.txt_left {
    text-align: left !important;
}

.txt_right {
    text-align: right !important;
}

.bold {
    font-weight: bold;
}

.normal {
    font-weight: normal;
}

.u {
    text-decoration: underline;
}

.error {
    color: #FE0000;
}

ul.c_list {
    margin: 0px;
    padding: 0px 0px 0px 15px;
}

ul.c_list li {
    padding-top: 2px;
    padding-bottom: 2px;
}

/*****************************************/
#page {
    min-height: 600px;
}

.logo_container {
    position: absolute;
    padding: 10px;
    z-index: 20;
}

@media only screen and (max-width: 600px) {
    .logo_container {
        position: inherit;
    }
}

#page #home, #page #about, #page #security, #page #contact {
    background-repeat: repeat-x;
}

#page .content_area {
    background-repeat: no-repeat;
    background-position: top center;
}

#page #home, #page #home .content_area {
    height: 1215px;
}

#page #home {
    background-image: url(/assets/images/backgrounds/tile_home.jpg);
}

#page #home .content_area {
    background-image: url(/assets/images/backgrounds/main_home.jpg);
}

#page #about, #page #about .content_area {
    height: 1100px;
}

#page #about {
    background-image: url(/assets/images/backgrounds/tile_about.jpg);
}

#page #about .content_area {
    background-image: url(/assets/images/backgrounds/main_about.jpg);
}

#page #security, #page #security .content_area {
    height: 1270px;
}

#page #security {
    background-image: url(/assets/images/backgrounds/tile_security.jpg);
}

#page #security .content_area {
    background-image: url(/assets/images/backgrounds/main_security.jpg);
}

#page #contact, #page #contact .content_area {
    height: 1015px;
}

#page #contact {
    background-image: url(/assets/images/backgrounds/tile_contact.jpg);
}

#page #contact .content_area {
    background-image: url(/assets/images/backgrounds/main_contact.jpg);
}

#page .site_content {
    position: relative;
    margin: 0 auto;
    height: 100%;
    max-width: 950px;
    overflow: hidden;
    border-width: 0px 0px;
    border-style: solid;
    border-color: var(--brand-line);
    clear: both;
}

#page .site_content .summary {
    padding-left: 60px;
    overflow: auto;
    border: 0px solid red;
}

#page #private_info h1 {
    padding-top: 40px;
}

/* Pages that drop the nav_menu lose the vertical space it normally takes up
   in the flow. The logo has no top/left of its own, so its static position
   (and thus its visible box) sits wherever the next in-flow sibling would
   otherwise start - padding on a shared ancestor shifts both together and
   changes nothing. Only padding on that sibling itself (here, .summary)
   pushes it clear of the logo; combined with #private_info h1's own
   padding-top (40px) this clears the logo's ~88px box. */
.site_content.no_nav > .summary {
    padding-top: 50px;
}

#page #private_info .summary {
    padding-left: 10px;
    padding-bottom: 30px;
}

#page #about .summary {
    max-width: 500px;
}

#page #contact .contact_info {
    padding: 10px 0 0 70px;
}

#page #contact .privacy_info {
    position: absolute;
    top: 600px;
    right: 5px;
    z-index: 20;
    font-size: 12px;
}

#page #contact .privacy_info a {
    margin-left: 25px;
}

.site_content .summary .side_info {
    max-width: 475px;
}

.nav_menu ul {
    padding: 5px 0;
    margin: 0px;
    display: block;
    float: right;
    height: 36px;
    line-height: 36px;
}

.nav_menu div.line {
    border-color: var(--brand-line);
    border-style: solid;
    border-width: 1px 0 0 0;
    margin: 0 5px;
    clear: both;
}

#page #security .nav_menu div.line {
    border-color: var(--brand-line);
}

#page #contact .nav_menu div.line {
    border-color: var(--brand-line);
}

.nav_menu ul li {
    list-style: none;
    padding: 0px;
    margin: 0 0 0 5px;
    display: block;
    float: left;
}

.nav_menu ul li a {
    float: left;
    padding: 0 20px;
    font-weight: bold;
    position: relative;
    text-decoration: none;
}

.nav_menu ul li a:hover {
    text-decoration: underline;
}

.nav_menu ul li a, .nav_menu ul li a span {
    display: block;
    height: 36px;
    float: left;
}

.nav_menu ul li a span.edge {
    position: absolute;
    width: 20px;
}

.nav_menu ul li a span.left_edge {
    left: 0px;
    top: 0px;
}

.nav_menu ul li a span.right_edge {
    right: 0px;
    top: 0px;
}
/*
.nav_menu ul li a:hover span.left_edge{
    background-position:top left;
}

.nav_menu ul li a:hover span.right_edge{
    background-position:top right;
}

.nav_menu ul li a:hover span.title{
    background-color:#6a7aa3!important;
}*/
.nav_menu ul li a.active span.left_edge {
    background-position: bottom left !important;
}

.nav_menu ul li a.active span.right_edge {
    background-position: bottom right !important;
}

.nav_menu ul li a.active span.title {
    background-color: var(--brand-accent) !important;
}

.nav_menu ul li a.active:hover {
    text-decoration: none !important;
}

.nav_menu ul li.first {
    border: 0px;
    padding-right: 0px;
}

.nav_menu ul li.last {
    border: 0px;
    padding-right: 0px;
}

/*.nav_menu ul li a:hover span.edge,*/
.nav_menu ul li a.active span.edge {
    background-image: url(/assets/images/skins/nav_edge_skin.gif);
    background-repeat: no-repeat;
}

#page .nav_menu ul li a.active {
    cursor: default;
}

ul.icon_list {
    padding: 0px;
    margin: 0px;
}

ul.icon_list li {
    padding: 0px 0 10px 0;
    margin: 0px;
    list-style: none;
    overflow: auto;
    clear: both;
}

ul.icon_list li .icon_it {
    display: block;
    width: 32px;
    height: 32px;
    float: left;
    background-repeat: no-repeat;
    border: 0px solid red;
}

ul.icon_list li .info_it {
    display: block;
    width: 90%;
    float: left;
    margin-left: 5px;
    border: 0px solid red;
}

/* Home List Items */
ul.icon_list li .home_icon_skin {
    background-image: url(/assets/images/skins/home_icon_skin.gif);
    width: 60px;
    height: 55px;
}

#home ul.icon_list li .pad_lock {
    background-position: 0 0px;
    margin-bottom: 10px;
}

#home ul.icon_list li .phone {
    background-position: 0 -55px;
}

#home ul.icon_list li .hand_shake {
    background-position: 0 -110px;
}

#home ul.icon_list li .info_it {
    padding-top: 5px;
    display: block;
    width: 75%;
}
/*****************/

/* Payment_card_skin */
.payment_card_skin {
    background-image: url(/assets/images/skins/payment_card_skin.gif);
    background-repeat: no-repeat;
    display: block;
}

.payment_card_list {
    padding: 2px 5px;
    width: 115px;
    overflow: hidden;
}

.payment_card_list .payment_card_skin {
    margin-bottom: 4px;
    margin-left: 8px;
    float: right;
}

.payment_card_list .payment_card_skin_alt {
    clear: none;
    float: left;
}

.card_visa {
    background-position: 0 0px;
    width: 43px;
    height: 28px;
}

.card_visa_electron {
    background-position: -44px 0px;
    width: 43px;
    height: 28px;
}

.card_mastercard {
    background-position: -88px 0px;
    width: 43px;
    height: 30px;
}

.card_maestro {
    background-position: -132px 0px;
    width: 43px;
    height: 30px;
}

.card_american_express {
    background-position: -176px 0px;
    width: 35px;
    height: 37px;
}

.card_mc_secure_code {
    background-position: -212px 0px;
    width: 54px;
    height: 21px;
}

.card_paypal {
    background-position: -267px 0px;
    width: 42px;
    height: 26px;
}

.card_switch {
    background-position: -311px 0px;
    width: 26px;
    height: 34px;
}

.card_solo {
    background-position: -338px 0px;
    width: 25px;
    height: 35px;
}

.card_veriSign {
    background-position: -365px 0px;
    width: 62px;
    height: 33px;
}

.card_verified_visa {
    background-position: -429px 0px;
    width: 51px;
    height: 23px;
}

.card_3d_secure {
    background-position: -482px 0px;
    width: 45px;
    height: 40px;
}

.payment_card_list .list_left, .payment_card_list .list_right, .payment_card_list .list_alt {
    border: 0px solid red;
}

.payment_card_list .list_left {
    float: left;
    width: 62px;
}

.payment_card_list .list_left .payment_card_skin {
    margin-left: 0px;
    clear: both;
}

.payment_card_list .list_right .payment_card_skin {
    clear: both;
}

.payment_card_list .list_right {
    float: right;
    width: 52px;
}

.payment_card_list .list_alt {
    margin: 0px;
}

.list_right .card_visa {
    margin-top: 8px;
}

.list_left .card_verified_visa, .list_left .card_mc_secure_code {
    margin-top: 3px;
}

.list_alt .payment_card_skin {
    float: right !important;
    clear: none;
}

/*****************/

/* Contact List Items */
ul.icon_list li .contact_icon_skin {
    background-image: url(/assets/images/skins/contact_icon_skin.gif);
    width: 30px;
    height: 30px;
}

#contact .summary {
    font-size: 16px;
}

#contact ul.icon_list {
    padding: 20px 0;
}

#contact ul.icon_list li {
    padding: 0 0 5px;
}

#contact ul.icon_list li .phone {
    background-position: 0 3px;
}

#contact ul.icon_list li .fax {
    background-position: 0 -28px;
}

#contact ul.icon_list li .at_email {
    background-position: 0 -58px;
}

#contact ul.icon_list li .info_it {
    padding-top: 5px;
    display: block;
    width: 75%;
}
/*****************/
ul.bullet_list {
    margin: 0px;
    padding: 10px;
}

ul.bullet_list li {
    background-image: url(/assets/images/icons/bullet_point.gif);
    background-repeat: no-repeat;
    background-position: 0 1px;
    list-style: none;
    margin: 0px;
    padding: 0 0 5px 18px;
}

#about .bullet_list li {
    background-image: url(/assets/images/icons/bullet_point_contact.gif);
}

h1 {
    font-weight: normal;
    font-size: 48px;
    margin-bottom: 10px;
    padding-top: 35px;
    text-wrap: balance;
}

#page #home h1 {
    padding-top: 70px;
}

#footer {
    padding: 0px;
    background-repeat: repeat-x;
    height: 22px;
    padding-top: 5px;
    text-align: center;
    overflow: hidden;
    font-size: 11px;
}

#footer ul, #footer ul li {
    padding: 0px;
    margin: 0px;
    list-style: none;
}

#footer ul li {
    display: inline;
    margin: 0px 15px 0;
    overflow: hidden;
}

#footer a {
    text-decoration: underline;
}

#footer a:hover {
    text-decoration: underline;
}

.privacy_info h3 {
    font-size: 16px;
}

.privacy_info p {
    margin: 0px;
    padding: 0px;
    padding-top: 8px;
    line-height: 15px;
}

#private_info .summary OL {
    counter-reset: item;
}

#private_info .summary LI {
    display: block;
    margin-bottom: 10px;
}

#private_info .summary ol LI:before {
    content: counters(item, ".") ".";
    counter-increment: item;
    padding-right: 10px;
    margin-left: -20px;
}

#private_info .summary ul LI:before {
    content: "\2022";
    counter-increment: none;
    padding-right: 10px;
    margin-left: -20px;
}

#private_info .summary ol p strong {
    margin: 15px 10px 15px -22px;
    font-size: 16px;
}

/* Ported from www.ampay.co.uk's #portal .btn/.ok/.warn (Customer Portal
   block) for the bank-return status page. .ok/.warn there are pastel
   colours meant for #portal's dark navy background - this page sits on
   the plain white background used throughout this site, so they're
   darkened here for readable contrast instead of copied verbatim. */
.btn, button.btn {
    display: inline-block;
    background-color: var(--brand-accent);
    color: #fff;
    border: 0;
    border-radius: 3px;
    padding: 10px 20px;
    font-size: 14px;
    font-weight: bold;
    text-decoration: none;
    cursor: pointer;
}

.btn:hover {
    text-decoration: underline;
}

.btn:not(.btn_primary) {
    background-color: transparent;
    border: 1px solid var(--brand-line);
    color: #17191c;
}

.ok {
    color: #1a7a3c;
}

.warn {
    color: #8a6d1a;
}