html { height: 100%; }
body { height: 100%; font-family: 'Source Sans Pro', sans-serif; font-size: 16px; color: #606060; font-weight: 300; }

h1, h2, h3 { font-family: 'PT Serif', serif; color: #0f1011; font-weight: 700; position: relative; }
h1 { font-size: 40px; color: #fff; margin: 0 0 25px; }
h2 { font-size: 24px; text-transform: uppercase; color: #0f1011; margin: 0 0 25px; }
h3 { font-size: 20px; color: #0f1011; margin: 0 0 18px; }
p { font-size: 16px; font-family: 'Source Sans Pro', sans-serif; line-height: 1.6; font-weight: 300; color: #606060; margin: 0 0 20px; }
p:last-of-type { margin: 0; }
a { font-family: 'Source Sans Pro', sans-serif;
    transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -webkit-transition: all 0.2s ease-in-out; }
button { font-family: 'Source Sans Pro', sans-serif;
    transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -webkit-transition: all 0.2s ease-in-out; }

a.button { display: inline-block; padding: 0 18px; color: #0f1011; background-color: #fff; line-height: 30px; text-transform: uppercase; font-family: 'PT Serif', serif; font-size: 12px; font-weight: 600; border: 2px solid #e1e1e1; }
a.button:hover,
a.button:focus { text-decoration: none; border-color: #0f1011; }
a.button.dark { color: #fff; border: 2px solid #b8a48b; background-color: transparent; }
a.button.dark:hover, a.button.dark:focus { color: #b8a48b; border-color: #b8a48b; }
a.button .glyphicon { font-size: 80%; }
a.download { width: 100%; color: #0f1011; font-size: 16px; text-align: left; padding: 15px 20px 15px 54px; line-height: 24px; font-family: 'Source Sans Pro', sans-serif; text-transform: none; }
a.download.pdf { background: url('../img/icon_pdf.png') no-repeat 19px center transparent; }
a.download.odt { background: url('../img/icon_odt.png') no-repeat 19px center transparent; }
a.download.docx { background: url('../img/icon_docx.png') no-repeat 19px center transparent; }

button.button  { display: inline-block; padding: 0 18px; color: #0f1011; background-color: #fff; line-height: 30px; text-transform: uppercase; font-family: 'PT Serif', serif; font-size: 12px; font-weight: 600; border: 2px solid #e1e1e1; }
button.button:hover,
button.button:focus { text-decoration: none; border-color: #0f1011; }
button.button .dark { color: #fff; border: 2px solid #b8a48b; background-color: transparent; }
button.button .dark:hover, a.button.dark:focus { color: #b8a48b; border-color: #b8a48b; }
button.button .glyphicon { font-size: 80%; }

.modal-dialog { margin: 80px auto 20px; }
.modal-content { border: 0; border-radius: 0; }
.modal-header { padding: 10px 15px; }
.modal button.close { font-size: 30px; position: relative; opacity: 0.5; z-index: 10; }
.modal button.close:focus,
.modal button.close:hover { opacity: 1; }

.gold-line { padding-bottom: 23px; }
.gold-line:after { display: block; position: absolute; content: ''; height: 2px; width: 40px; background-color: #b8a48b; float: left; bottom: 0; }
.gold-line.center:after { float: none; left: 0; right: 0; margin: 0 auto; text-align: center; }

.text-white { color: #fff; }
.text-gold { color: #b8a48b; }
.text-gold-light { color: #d2bea5; }
.text-dark { color: #0f1011; }

.text-regular { font-weight: 400; }
.text-bold { font-weight: 600; }
.text-left { text-align: left; }
.text-right { text-align: right; }

.caption { display: block; font-weight: 400; }

.logo-dhd { display: inline-block; height: 46px; background: url('../img/logo_adwokatura.png') no-repeat left center transparent; margin-top: 10px; margin-bottom: 10px; padding-left: 67px; color: #fff; }
.logo-dhd .wrapper { display: inline-block; height: 46px; padding: 3px 0 0 16px; border-left: 1px solid #b8a48b; font-family: 'PT Serif', serif; font-size: 20px; font-weight: 600; }
.logo-dhd .top-text { display: block; font-size: 14px; line-height: 18px; font-weight: 400; }
.logo-dhd .bottom-text { display: block; font-size: 20px; line-height: 22px; }

.navbar-default { background-color: rgba(12,19,35,0.9); }
.navbar-default .navbar-brand { padding: 0 0 0 67px; color: #fff; }
.navbar-default .navbar-brand:focus,
.navbar-default .navbar-brand:hover { color: #b8a48b; }
.navbar > .container .navbar-brand,
.navbar > .container-fluid .navbar-brand { margin-left: 0; }
.navbar-fixed-top { margin: 0; border: 0; }
.navbar-nav { margin: 0 -15px; }
.navbar-nav > li { padding: 0 15px; }
.navbar-nav > li > a { padding: 25px 0 23px; font-size: 14px; font-weight: 300; line-height: 16px; border-bottom: 2px solid transparent; }
.navbar-default .navbar-nav > li > a { color: #fff; }
.navbar-default .navbar-nav > li > a:focus,
.navbar-default .navbar-nav > li > a:hover { color: #d2bea5; border-bottom: 2px solid #d2bea5; }
.navbar-default .navbar-nav > .active > a,
.navbar-default .navbar-nav > .active > a:focus,
.navbar-default .navbar-nav > .active > a:hover { background-color: transparent; color: #d2bea5; border-bottom: 2px solid #d2bea5; }

.main-banner { width: 100%; min-height: 700px; padding-top: 230px; background: url('../img/main_banner_bg.jpg') no-repeat center center #181f2d; background-size: cover; }
.main-banner h1 { margin: 0 0 35px 0; padding: 12px 0 12px 28px; border-left: 2px solid #b8a48b; display: block; color: #0f182a; }
.main-banner .quote { background-color: rgba(12,19,35,0.9); padding: 30px; color: #d9cbae; text-align: justify; font-family: 'PT Serif', serif; }
.main-banner .quote .caption { font-size: 12px; color: #fff; margin-top: 10px; }
.main-banner.gryfice { background-image: url('../img/main_banner_gryfice_bg.jpg'); }

@media (max-width: 768px) {
    .main-banner {
        min-height: auto;
        padding-top: 0 !important;
        padding-bottom: 50px;
        background-image: none;
        background-color: #f7f7f7;
    }

    .main-banner::before {
        content: "";
        display: block;
        width: 100%;
        aspect-ratio: 430 / 700;
        background: url('../img/main_banner_bg_mobile.jpg') no-repeat center top;
        background-size: cover;
    }

    .main-banner .container {
        padding-top: 35px;
    }

    .main-banner h1 {
        margin: 0 0 25px 0;
        padding: 0;
        border-left: none;
        color: #0f182a;
        font-size: 30px;
        line-height: 1.15;
    }

    .main-banner .quote {
        margin: 0;
        padding: 25px 22px;
        background-color: #10192b;
        color: #d9cbae;
        font-size: 15px;
        line-height: 1.65;
        text-align: left;
    }

    .main-banner .quote .caption {
        display: block;
        margin-top: 16px;
        font-size: 11px;
        color: #fff;
    }

    .main-banner.gryfice::before {
        background-image: url('../img/main_banner_gryfice_bg_mobile.jpg');
    }
}

.small-banner { width: 100%; min-height: 300px; padding-top: 140px; background: url('../img/szczecin_bg.jpg') no-repeat center center #181f2d; background-size: cover; }
.small-banner h1 { margin: 0; padding: 45px 0 0; display: block; text-align: center; background: url('../img/gold_symbol.png') no-repeat center top transparent; }

.intro-text { background-color: #fff; }
.intro-text p { text-align: justify; }
.intro-text .container { padding-top: 60px; padding-bottom: 60px; background: url('../img/mlotek.jpg') no-repeat right center transparent; }

.gray-bg { background-color: #f7f7f7; }

.intro-teaser { padding: 75px 0; }
.intro-teaser p:last-of-type { margin-bottom: 25px; }
.intro-boxes { text-align: center; padding-top: 100px; }
.intro-boxes.zakresuslug { background: url('../img/icon_zakresuslug.png') no-repeat center top transparent;  }
.intro-boxes.specjalizacja { background: url('../img/icon_specjalizacja.png') no-repeat center top transparent;  }
.intro-boxes.wynagrodzenie { background: url('../img/icon_wynagrodzenie.png') no-repeat center top transparent;  }

.main-gryfice-section { background: url('../img/warszawa_bg.jpg') no-repeat center center #0f182a; background-size: cover; padding: 70px 0; text-align: center; }
.herb-warszawa { height: 120px; margin-bottom: 20px; }
.main-gryfice-section h2 { font-size: 40px; }
.main-gryfice-section h2,
.main-gryfice-section p:last-of-type { color: #fff; margin-bottom: 25px;}

.main-social { text-align: center; }
.main-social h2 { line-height: 1.2; }
.main-social .contact,
.main-social .social { padding-top: 75px; padding-bottom: 75px; }

footer { position: relative; background-color: #0f182a; padding: 60px 0 100px; }
footer p { color: #d9cbae; font-size: 13px; font-weight: 400; }
footer .footer-copyrights { margin-top: 10px; font-size: 10px; color: #474e5c; }
footer .logo-dhd:focus,
footer .logo-dhd:hover { color: #b8a48b; }
.footer-branches {
    display: flex;
    gap: 40px;
    align-items: flex-start;
    margin-top: 25px;
}

.footer-branches p {
    margin: 0;
}

/* Mobile */
@media (max-width: 767px) {
    .footer-branches {
        flex-direction: column;
        gap: 15px;
    }
}

.sub-footer { position: fixed; width: 100%; height: 40px; bottom: 0; background-color: #090f1c; }
.sub-footer p { font-size: 17px; line-height: 40px; font-weight: 400; color: #fff; text-align: center; }
.sub-footer p span { margin: 0 10px; }

.section { padding: 75px 0; }
.section .button:hover,
.section .button:focus { color: #0f182a; }
.section .row .service,
.section .row .specialization { margin-bottom: 60px; }
.section .row:last-of-type .specialization,
.section .row:last-of-type .specialization:last-of-type,
.section .row:last-of-type .service,
.section .row:last-of-type .service:last-of-type { margin-bottom: 0; }
.section .services h2 { margin-top: 2px; margin-bottom: 20px; font-size: 20px; text-transform: none; }
.section .services .button { margin-top: 12px; color: #606060; }
.section .service { position: relative; padding-left: 40px; }
.section .specialization { position: relative; padding-left: 90px; }
.section .prawo-karne-wykroczen { background: url('../img/icon_prawo-karne-wykroczen.png') no-repeat left top transparent; }
.section .prawo-karne-skarbowe { background: url('../img/icon_prawo-karne-skarbowe.png') no-repeat left top transparent; }
.section .prawo-odszkodowan { background: url('../img/icon_prawo-odszkodowan.png') no-repeat left top transparent; }
.section .prawo-nieruchomosci { background: url('../img/icon_prawo-nieruchomosci.png') no-repeat left top transparent; }
.check { position: absolute; display: block; width: 26px; height: 26px; top: 0; left: 0; text-align: center; content: ''; border: 2px solid #e1e1e1; border-radius: 13px; }
.check span { line-height: 22px; color: #62a422; font-size: 11px; vertical-align: top; }

.payment-text p { color: #0f1011; font-weight: 400; }
.payment-list .service { margin-bottom: 60px !important; }
.payment-list .service:last-of-type { margin-bottom: 0 !important; }

.gryfice-services,
.gryfice-specialization { list-style: none; padding: 0; }
.gryfice-services li { position: relative; min-height: 26px; color: #0f1011; font-size: 16px; font-weight: 400; margin-bottom: 20px; padding-left: 40px; padding-top: 2px; }
.gryfice-services li:last-of-type { margin-bottom: 40px; }
.gryfice-specialization li { position: relative; min-height: 45px; color: #0f1011; font-size: 16px; font-weight: 400; margin-bottom: 25px; padding-left: 60px; padding-top: 12px; }
.gryfice-specialization li:last-of-type { margin-bottom: 40px; }
.gryfice-specialization .prawo-karne-wykroczen { background: url('../img/icon_prawo-karne-wykroczen_small.png') no-repeat left top transparent; }
.gryfice-specialization .prawo-karne-skarbowe { background: url('../img/icon_prawo-karne-skarbowe_small.png') no-repeat left top transparent; }
.gryfice-specialization .prawo-odszkodowan { background: url('../img/icon_prawo-odszkodowan_small.png') no-repeat left top transparent; }
.gryfice-specialization .prawo-nieruchomosci { background: url('../img/icon_prawo-nieruchomosci_small.png') no-repeat left top transparent; }

#google-map { background-color: #f7f7f7; padding: 0; min-height: 330px; }



@media (max-width: 1200px) {

}

@media (max-width: 992px) {
    .logo-dhd .wrapper { height: 46px; padding: 3px 0 0 16px; }
    .logo-dhd .top-text { font-size: 11px; }
    .logo-dhd .bottom-text { font-size: 16px; }
    .navbar-nav > li > a { padding: 25px 0 23px; font-size: 12px; }
    .section .services > .row:last-of-type .specialization,
    .section .services > .row:last-of-type .service { margin-bottom: 60px; }
    .section .services > .row:last-of-type .specialization:last-of-type,
    .section .services > .row:last-of-type .service:last-of-type { margin-bottom: 0; }
    .payment-text { margin-bottom: 60px; }
    .m-margin { margin-top: 20px; }
}

@media (max-width: 768px) {
    .main-banner h1,
    .small-banner h1{ font-size: 30px; }
    .navbar-toggle { margin-top: 15px; margin-bottom: 15px; border: 0; border-radius: 0; }
    .navbar-default .navbar-toggle .icon-bar { background-color: #b8a48b; }
    .navbar-default .navbar-toggle:hover .icon-bar,
    .navbar-default .navbar-toggle:focus .icon-bar { background-color: #0f1011; }
    .navbar-default .navbar-toggle:hover,
    .navbar-default .navbar-toggle:focus { background-color: #b8a48b; }
    .navbar-collapse { box-shadow: none; border: 0; }
    .navbar-collapse .navbar-nav > li > a { padding: 30px 15px 30px; font-size: 24px; text-align: right; border: 0; }
    .navbar-collapse .navbar-nav > li > a:focus,
    .navbar-collapse .navbar-nav > li > a:hover { border: 0; }
    .navbar-default .navbar-collapse .navbar-nav > .active > a,
    .navbar-default .navbar-collapse .navbar-nav > .active > a:focus,
    .navbar-default .navbar-collapse .navbar-nav > .active > a:hover { border: 0; }
    .navbar-fixed-bottom .navbar-collapse,
    .navbar-fixed-top .navbar-collapse { max-height: none; }
    .navbar > .container .navbar-brand, .navbar > .container-fluid .navbar-brand { margin-left: 15px; }
    .main-banner { padding-top: 160px; padding-bottom: 80px; }
    .intro-text .container .row { background-color: rgba(255,255,255,0.6); }
    .intro-boxes { margin-bottom: 60px; }
    .intro-boxes:last-of-type { margin-bottom: 0; }
    /*.sub-footer { position: relative; margin-top: 60px; height: auto; }
    .sub-footer p { font-size: 13px; }*/
    .sub-footer { display: none; }
    .section .services > .row { padding-left: 15px; }
    .section .specialization { padding-left: 0; padding-top: 90px; background-position: top left; }
    .main-social .contact h2,
    .main-social .social h2 { font-size: 20px; }
    .m-margin-s { margin-top: 20px; }
    .m-margin-big { margin-top: 60px; }
    footer { padding-bottom: 60px; }
}

@media (max-width: 380px) {
    .logo-dhd .wrapper { padding-left: 10px; }
    .navbar .logo-dhd { background-size: 25px 25px; }
    .navbar-default .navbar-brand { padding-left: 34px; }
}