:root {
    height: 100%;
    box-sizing: border-box;
    padding: 0;
    --font-color: #000000;
    --background: #ffffff;
    --link-color: #000078;
    --main-brand: #000078;
    --secondary-brand: #50be00;
    --tertiary-brand: #f0e6d2;
    --btn-light: #32beDc;
    --language-active-bg: #dadbdd;
    --language-active-color: #000;
}

body, html { 
    margin: 0;
}

body {
    --webkit-text-size-adjust: 100%; /*adjusting for IOS 12 or earlier*/
    text-decoration: none;
    background-color: var(--background);
    min-height: 100vh;
    font-family: 'Avenir Next Regular';
    color: var(--font-color);
    font-size: 1.125em;
    letter-spacing: 0%;
    line-height: 150%;
    font-style: normal;
}

/*Fonts*/
@font-face {
    font-family: 'Avenir Next Heavy';
    src: url('../ext/font-avenir-next-1.0.0/AvenirNext-Heavy.woff2') format('woff2');
    font-weight: bold;
    font-style: normal;
}

@font-face {
    font-family: 'Avenir Next Bold';
    src: url('../ext/font-avenir-next-1.0.0/AvenirNext-Bold.woff2') format('woff2');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Avenir Next Medium';
    src: url('../ext/font-avenir-next-1.0.0/AvenirNext-Medium.woff2') format('woff2');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Avenir Next Regular';
    src: url('../ext/font-avenir-next-1.0.0/AvenirNext-Regular.woff2') format('woff2');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Avenir Next Italic';
    src: url('../ext/font-avenir-next-0-1.0.0/AvenirNext-Italic.woff2') format('woff2');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Avenir Next UltraLight';
    src: url('../ext/font-avenir-next-1.0.0/AvenirNext-UltraLight.woff2') format('woff2');
    font-weight: normal;
    font-style: normal;
}

a {
    color: var(--font-color);
    text-decoration: none;
}

a:active:not(.btn)  {
    color: var(--link-color);
    text-decoration: none;
}

a:hover:not(.active):not(.btn){
    text-decoration: none;
    color: var(--link-color);
}

/*Footer*/
footer {
    clear: both;
    padding-bottom: 0;
}

#foot-logo {
    width: 100%;
    max-width: 250px;
    height: auto;
}

body footer .foot-link {
    text-decoration: underline;
    color: var(--btn-light) !important;
}


body footer .foot-link:hover {
    text-decoration: none;
}

footer li .btn-info {
    padding: 10px 25px;
    border-radius: 50px;
    border: 2px solid transparent;
}

footer .foot-title {
    text-transform: uppercase;
    color: #fff;
    font-family: 'Avenir Next Bold';
}

/*Headings*/
h1 {
    font-family: 'Avenir Next Heavy';
    font-size: 2.75em;
    letter-spacing: -4%;
    line-height: 120%;
    text-transform: uppercase;
    color: var(--font-color);
}

h2 {
    font-family: 'Avenir Next Heavy';
    font-size: 2.625em;
    letter-spacing: -2%;
    line-height: 120%;
    text-transform: uppercase;
    color: var(--font-color);
}

h3 {
    font-family: 'Avenir Next Medium';
    font-size: 2.125em;
    letter-spacing: -3%;
    line-height: 120%;
    font-weight: 600;
    color: var(--font-color);
}

h4 {
    font-family: 'Avenir Next Regular';
    font-size: 1.875em;
    letter-spacing: 0%;
    line-height: 115%;
    font-weight: 600;
    color: var(--font-color);
}

h5 { 
    font-family: 'Avenir Next Regular';
    font-size: 1.625em;
    letter-spacing: 0%;
    line-height: 115%;
    font-weight: 600;
    color: var(--font-color);
}

h6 {
    font-family: 'Avenir Next Regular';
    font-size: 1.125em;
    letter-spacing: 0%;
    line-height: 110%;
    font-weight: 600;
    color: var(--font-color);
}

p {
    font-family: 'Avenir Next Regular';
    font-size: 1.125em;
    letter-spacing: 0%;
    line-height: 150%;
    font-weight: 400;
    color: var(--font-color);
}

/* Index*/
.pori-index {
    background-color: var(--main-brand);
    margin-top: 2rem;
}

.pori-index h1,
.pori-index p {
    color: #fff;
}

.pori-index .btn {
    border-radius: 50px;
    padding: 20px 20px;
    background-color: #fff;
    color: var(--main-brand);
}

/* ContactMessage */
.cm-container,
.inner-cm {
    background-color: #f3eee3;
}

.cm-container .title {
    font-family: 'Avenir Next Heavy'; 
    font-size: clamp(1.45rem, 2.5vw, 2rem); 
    text-transform: uppercase;
}

.cm-container .form-check-input.is-valid,
.cm-container .form-check-label.was-validated,
.cm-container .form-check-input:valid,
.cm-container .form-check-label {
    color: #198754 !important;
}

.cm-container .buttons {
    display: flex;
    flex-direction: row;
    justify-content: end;
    gap: 1rem;
}

.title-caps {
    font-size: 2.5em;
}

.undertitle {
    font-family: 'Avenir Next Regular';
    text-transform: none;
    font-weight: 600;
}

.terms-in-draft {
    font-family: 'Avenir Next Regular';
    text-transform: none;
    font-weight: 600;
    font-size: 1.75em;
}

.address-in-draft,
.connection-in-draft {
    font-family: 'Avenir Next Regular';
    text-transform: none;
    font-weight: 600;
    font-size: 1.75em;
}

.status-title {
    font-family: 'Avenir Next Regular';
    text-transform: none;
    font-weight: 600;
}

/*Navigations*/
.logo-bar {
    background-color: #fff;
    border-bottom: 1px solid #ddd;
    height: 6rem;
    display: flex;
    align-items: center; /* center vertically */
    padding: 0 1rem;
}

.logo-top {
    background-image: url("../custom/pori/sahko-logo.png");
    background-repeat: no-repeat;
    background-position: left center;
    background-size: contain;
    width: 12.5rem;
    height: 6.25rem;
    padding: 0;        /* remove extra padding */
    display: inline-block;
}

#main-bar {
    background-color: rgba(0, 0, 120, 1) !important;
    box-shadow: rgba(0, 0, 0, 0.25);
}

#main-bar .navbar-toggler {
    color: var(--background);
}

#main-bar .navbar-brand {
    margin-left: 11rem;
    color: var(--background);
    font-family: 'Avenir Next Medium';
    font-weight: 600;
} 

/*Main nav links*/
/*Dropdowns*/
#main-bar .dropdown-menu .dropdown-item:hover,
#main-bar .dropdown-menu .dropdown-item:focus,
#main-bar .dropdown-menu .dropdown-item:active, 
#main-bar .dropdown-menu .dropdown-item {
    color: var(--font-color);
    box-shadow: none !important; /* removing bootstrap defaults*/
    background-color: transparent !important; /* removing bootstrap defaults*/
}

#main-bar .nav-link {
    display: inline-block;
    color: var(--background);
    font-family: 'Avenir Next Medium';
    text-transform: uppercase;
    font-weight: 600;
    font-size: 1rem;
    padding: 0.5rem 1rem;;
    border-radius: 0.1rem;
}

#main-bar .nav-link:hover,
#main-bar .nav-link:active {
    color: var(--link-color);
    background-color: #fff !important;
}

nav li {
    font-family: 'Avenir Next Medium';
}

/*Mobile menu*/
.navbar-collapse, 
.navbar-collapse.collapsing {
    padding: 1rem;
}

.navbar-collapse .nav-link { 
    font-family: 'Avernir Next Medium';
    color: var(--font-color);
    transition: color 0.3s; /* Smooth transition for color change */
    background-color: transparent !important;
}

.navbar-collapse .nav-link:hover {
    text-decoration: none;
}

.navbar-collapse .nav-link.active {
    color: var(--link-color);
    font-weight: 600;
    background-color: none !important;
}

/*Nav Tabs*/
.nav-tabs .nav-item a {
    color: var(--font-color);
    text-decoration: none;
}

.nav-tabs .nav-item a:hover,
.nav-tabs .nav-item a:focus,
.nav-tabs .nav-item a:active {
    color: var(--link-color);
    box-shadow: none !important;
    background-color: transparent !important;
}

/*Buttons*/
/* Base */
a.btn {
    text-decoration: none;
}

.btn {
    border: 2px solid transparent;
    font-weight: normal;
    padding: 5px 15px;
    border-radius: 1.1rem;
}

/* Hover */
.btn:hover,
.btn:focus {
    background-color: var(--btn-hover-bg);
    border-color: var(--btn-hover-border);
    color: var(--btn-hover-color);
}

/* Primary */
.btn-primary {
    background-color: var(--main-brand);
    border: 1px solid var(--main-brand);
    color: var(--background);

    --btn-hover-bg: var(--btn-light);
    --btn-hover-border: var(--btn-light);
    --btn-hover-color: var(--font-color);
    --btn-active-bg: var(--btn-light);
    --btn-active-border: var(--btn-light);
    --btn-active-color: var(--font-color);
}

.btn-secondary {
    background-color: var(--btn-light);
    border: 2px solid var(--btn-light);
    color: var(--font-color); 

    --btn-hover-bg: var(--background);
    --btn-hover-border: var(--font-color);
    --btn-hover-color: var(--font-color);
}

.btn-outline-primary {
    background-color: #fff;
    border: 2px solid var(--main-brand) !important;
    color: var(--font-color);

    --btn-hover-bg: var(--main-brand);
    --btn-hover-border: var(--main-brand);
    --btn-hover-color: #fff;
}

.btn-info{
    background-color var(--btn-light);
    border: 1px solid var(--btn-light);
    color: var(--font-color);

    --btn-hover-bg: #fff;
    --btn-hover-border: #fff;
    --btn-active-border: #fff;
}

/*Login*/
#login-body {
    border-radius: 25px;
    background-color: #ffffff;
    box-shadow: 0 4px 8px rgba(0,0,0,0.3);
    overflow: hidden;
    padding: 20px;
}

.login-page .inner-login {
    position: relative;
    padding-top: 100px;
}

.login-page .inner-login::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%);
    width: 120px;
    height: 80px;
    background-image: url('../custom/pori/sahko-logo.png');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.inner-login h1 {
    font-size: 32px;
    margin-bottom: 1.5rem;
}

.login-page h4 {
    font-family: 'Avenir Next Medium';
    font-size: 1.5em;
}

.login-page p {
    font-family: 'Avenir Next Regular';
    font-size: 1.15rem;
}

.form-box .btn-primary {
    background-color: var(--main-brand) !important;
    color: #fff;
    font-weight: 600;
    padding: 8px 15px;
    border-radius: 10px 20px;
}

#btn-login,
#btn-auth,
#btn-index {
    border: 2px solid transparent;
    box-shadow: none !important;
    width: 100%;
    transition: background-color 0.3s, border-color 0.3s; 
    border-radius: 50px;
    padding: 10px 20px;
}

#btn-login:hover,
#btn-login:focus,
#btn-auth:hover,
#btn-auth:focus
#btn-index:hover,
#btn-index:focus {
    background-color: var(--btn-hover-bg) !important;
    border-color: var(--btn-hover-border) !important;
    box-shadow: none !important; 
    outline: none !important;   
    color: var(--font-color);
}

#btn-auth {
    background-color: var(--main-brand);
    --btn-hover-bg: #fff;
    --btn-hover-border: 2px solid var(--main-brand);
    font-weight: 500;
}

#btn-login, 
#btn-index {
    background-color: var(--main-brand);
    --btn-hover-bg: #fff;
    --btn-hover-border: var(--main-brand);
}

.loginForm-input {
    text-align: center;
}

#btn-auth {
    display: block;
    margin: 20px auto 0;
}

#btn-login {
    padding: 12px 45px;
    display: inline-block;
    margin: 20px auto 0;
}

#btn-index {
    padding: 12px 45px;
    border-radius: 50px;
}

.loginForm-input .form-control, 
.loginForm-input .form-select {
    background-color: transparent;
    color: #222;
    border: 2px solid var(--secondary-brand)!important;
    border-radius: 5px;        
    box-shadow: none !important;          
    outline: none;  
    padding: 8px 20px;
    margin: 8px 0;
    transition: border-color 0.5s ease;
}

.loginForm-input .form-control:focus { 
    background-color: transparent;
    border-color: rgb(127,219,245) !important;
    box-shadow: none !important; 
    outline: none;  
}

/*Begin Order Cards*/
.basic-card,
.index-card,
.contractor-card {
    text-align: left;
}

.basic-card .card-body,
.index-card .card-body
.contractor-card .card-body {
    display: flex;
    flex-direction: column;
}
.card-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: auto;
}

.change-household,
.change-business,
.change-ownership,
.connection-change,
.connection-new,
.connection-household,
.connection-business,
.meter-addition,
.meter-fuse-change,
.meter-relocation,
.meter-removal,
.meter-standalone {
    background-repeat: no-repeat;
    background-position: left;
    background-size: contain;
    width: 100%;
    height: auto;
    height: 6rem;
    padding: 0;
}

.connection-change {
    background-image: url("../custom/pori/connection-change.png");
}
.connection-new {
    background-image: url("../custom/pori/connection-new.png");
}
.connection-household {
    background-image: url("../custom/pori/connection-household.png");
}
.connection-business {
    background-image: url("../custom/pori/connection-business.png");
}
.change-business {
    background-image: url("../custom/pori/capacity-change.png");
}
.change-household {
    background-image: url("../custom/pori/capacity-change.png");
}
.change-ownership {
    background-image: url("../custom/pori/change-ownership.png");
}
.meter-addition {
    background-image: url("../custom/pori/meter-addition.png");
}
.meter-fuse-change {
    background-image: url("../custom/pori/fuse-change.png");
}
.meter-relocation {
    background-image: url("../custom/pori/meter-relocation.png");
}
.meter-removal {
    background-image: url("../custom/pori/meter-removal.png");
}
.meter-standalone {
    background-image: url("../custom/pori/temporary-disconnection.png");
}
/*End Order Cards*/

/*Begin Status Cards*/

.task-card {
    background-size: 5rem;
    background-position: center 1.5rem;
}

.task-card.task-contract-connection                     { background-image: url('../custom/pori/connection-contract.png');}
.task-card.task-contract-electricity                    { background-image: url('../custom/pori/connection-electricity.png');}
.task-card.task-electrical-network-build                { background-image: url('../custom/pori/connection-network.png');}
.task-card.task-electrical-network-connect              { background-image: url('../custom/pori/connection-work.png');}
.task-card.task-electrical-network-design               { background-image: url('../custom/pori/connection-planning.png');}
.task-card.task-general-information-form                { background-image: url('../custom/pori/general-information.png');}
.task-card.task-meter-removal                           { background-image: url('../custom/pori/meter-removal.png');}
.task-card.task-meter-relocation                        { background-image: url('../custom/pori/meter-relocation.png');}
.task-card.task-meter-fuse-change                       { background-image: url('../custom/pori/fuse-change.png');}
.task-card.task-meter-addition                          { background-image: url('../custom/pori/meter-addition.png');}
.task-card.task-electricity-production-application      { background-image: url('../custom/pori/microgeneration.png');}
.task-card.task-meter-temporary-disconnection           { background-image: url('../custom/pori/temporary-disconnection.png');}
.task-card.task-transfer-maintenance                    { background-image: url('..custom/pori/transfer-maintenance.png');}

/*End Status Cards*/

/*Tables*/
table th,
table td {
    font-family: 'Avenir Next Regular';
}

table .table-primary th {
    background-color: var(--tertiary-brand);
}

table .table-secondary th {
    background-color: var(--tertiary-brand);
}

table .table-secondary td.text-end {
    background-color: var(--tertiary-brand);
}

table .table-hover {
    border-color: var(--secondary-brand);
}
/*end tables*/

p.instruction-t {
    font-family: 'Avenir Next Regular';
    font-weight: 500;
}

#address-fields label {
    white-space: normal;
    min-height: 2rem; /*keeping aligned*/
}


/*Responsivity*/
@media (min-width: 992px) {
    .navbar-collapse .nav-link {
        color: #000;
    }

    .navbar-collapse .nav-link:hover {
        color: #000;
        font-weight: 600;
    }
}

@media (max-width: 991.98px) {
    #main-bar .navbar-brand {
        margin-left: 1rem;
    }

    .navbar-collapse.show {
        z-index: 1050;
        background-color: #fff;
        padding: 1rem;
        border-radius: 5px 5px 15px 15px;
        box-shadow: 0 4px 20px rgba(0, 0, 0, 0.25);
    }

    .navbar-collapse.show .navbar-nav .nav-link {
        color: var(--font-color) !important;
    }

    .navbar-collapse.show .nav-link:hover {
        color: var(--link-color);
    }
}

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

