:root {
    --mainColor: #636564;
    --textcolor: #121216;
    --darkcolor: #121216;
    --lightColor: #949c9e;
    --lighterColor: #949c9e;
    --cassiopeia-color-link: #23242c;
    --borderradius: 20px
}
@import url('https://fonts.googleapis.com/css2?family=Lora:ital,wght@0,400..700;1,400..700&family=Playfair+Display:ital,wght@0,400..900;1,400..900&family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap');

body {
    font-family: "Lora", serif;
    font-style: normal;
    font-size: 18px;
}

.container-component>*+*{
    margin-top: -5em;
}

html {
    scroll-padding-top: 25vmax;
    scroll-behavior: smooth;
}


h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: "Playfair Display", serif;
    font-optical-sizing: auto;
    font-style: normal;
    text-align: left;
}

h4 {
    font-size: 1.1em;
}
h2 a {
    color: var(--cassiopeia-color-link);
    text-decoration: none !important;
}
a.button {
    text-decoration: none;
    font-weight: 300;
}

body.wrapper-fluid .site-grid {
    grid-gap: 0;
}
a{color: var(--cassiopeia-color-link);}
/*header*/

.container-header{
background: transparent;
}

.header {
    display: flex;
    justify-content: flex-end;
    flex-wrap: wrap;
}

.header .grid-child {
    width: unset;
}
.header .mod-custom {
    margin: auto;
}
.header .container-below-top {
    background-color: black;
    flex-basis: 100%;
}
.header .grid-child:nth-child(2) {
    flex-basis: 30%;
    flex-shrink: 1;
    padding: 0 ;
}
.header .grid-child:nth-child(3){
    padding: 0;
}
.container-header {
    background-image: none;
}
.container-header .navbar-brand img{
    max-width: 150px;
}


.container-header .navbar-brand .site-description {
    color: var(--textcolor);
}
.metismenu.mod-menu .metismenu-item {
    padding: 10px 5px;
    margin: 0 5px;
}

.navbar{
    background: transparent;
}
.navbar>.container-fluid{
    margin-right: 1em;
    background: transparent;
}
.container-header .mod-menu {
    background-color: white;
    color: var(--cassiopeia-color-link);
    border-radius: var(--borderradius);
    border: 1px solid var(--mainColor);
}
.metismenu.mod-menu .mm-collapse {
    background-color: white;
}

.container-header .container-nav {
    justify-content: flex-end;
    margin-right: 10%;
}
 .container-header .mod-menu a:hover{
    color: var(--textcolor);
    text-decoration: underline;
 }  
.container-header .mod-menu .active>a{
    font-weight: 700;
}
.container-header .navbar-toggler {
    color: var(--cassiopeia-color-link);
}

.navbar-toggler:focus {
    text-shadow: none;
}

.navbar a{
    font-family: roboto,serif;
}

/* button */
.buttons-gruop {
    display: flex;
    flex-wrap: wrap;
}

.button{
    color: var(--mainColor);
    background-color: transparent;
    padding: 10px 20px;
    margin: 20px;
    border: 3px solid var(--lightColor);
    border-radius: 20px;
    transition: cubic-bezier(0.445, 0.05, 0.55, 0.95);
    display: inline-block;
}

.button:hover {
    border: 1px solid var(--lightColor);
    background-color: white;
    border-radius: 10px;
}

.back-to-top-link {
    color: var(--cassiopeia-color-link);
    background-color:white;
    border: 1px solid var(--lightColor);
    border-radius: 5px;
    padding: 15px;
}
.back-to-top-link:hover, .back-to-top-link:focus {
    color: var(--white,#fff);
    background-color: var(--lighterColor);
    border-color: var(--mainColor);
}




.thin-column{
    width: 80%;
    margin: 0 auto;
}

.background-img {
    width: 100vw;
    height: 100vh;
    background-repeat: no-repeat;
    background-size: cover;
    background-attachment: fixed;
    background-position: center;
    position: relative;
}

.content-list ul {
    columns: 3;
    margin: 4% auto;
}

.text-block {
    padding: 5%;
    text-align: justify;
}

.item-page .page-header,
.item-page .article-info {
    display: none;
}

/* article-header*/


.article-header .text-block h3 {
    margin-top: 3%;
}

.article-info {
    display: flex;
}

.hits {
    margin-left: 15px;
}

/*main-page*/
.main-page .button {
    border: 2px solid var(--lighterColor);
    color: white;
    position: relative;
    top: 75%;
    font-size: 2em;
    line-height: 2.2em;
}

.main-page .button:hover {
    background-color: white;
    color: var(--cassiopeia-color-link);
}


/*rezerwacja sesji zdjeciowej*/

.form-control {
    background-color: transparent;
    display: block;
    width: 80%;
    padding: 0.5rem 0.5rem;
    font-size: 1em;
    line-height: 1.25;
    color: var(--textcolor);
    background-clip: padding-box;
    border: 1px solid var(--lightColor);
    border-radius: 10px;
    transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
}

.form-control:focus {
    background-color: var(--lighterColor) !important;
    border-color: var(--textcolor) !important;
}

select.form-control:not([multiple]),
select.inputbox:not([multiple]),
select:not([multiple]) {
    height: unset;
}

select {
    border: 1px solid lightgray;
}

.rsform-block-newsletter {
    background-color: var(--lighterColor);
    color: var(--textcolor);
    border-radius: 10px;
    padding: 2%;
}

.rsform-block-newsletter .formControlLabel {
    font-size: 1.3rem;
    margin: 10px 5px;
}

.rsform-block-newsletter .formBody {
    margin: 10px;
}

.rsform-block-newsletter .formDescription {
    font-size: 0.8em;
}

.form-control button {
    background-color: var(--lighterColor);
    color: var(--textcolor);
}
/* contac form*/
   
    .contact-form .form-label{
        font-size: 0.75rem;
    }
  .contact-form  .form-control {
        background-color: var(--lighterColor);
        width: 100%;
        padding: 0.25rem 0.25rem;
        color: var(--textcolor);
        background-clip: padding-box;
        border: 1px solid var(--lightColor);
        border-radius: var(--border);
        transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
    }
.contact-form .form-control:focus{
    background-color: white !important;
    color: var(--textcolor);
}



/**Price List**/
.price-list {
    padding: 2% 0;
    background-color: var(--textcolor);
    color: var(--lighterColor);
}

.price-list h4 {
    padding: 3%;
}

.price {
    font-size: 2em;
}

.price-symbol {
    color: orangered;
}

.price-list p {
    margin: 30px;
    padding: 30px 0;

}

.price-container {
    width: 90%;
    margin: 0 auto;
}

/* Blog*/

.blog {
    display: flex;
    flex-direction: column;
}



.blog .item-image {
    order: -1;
}


.blog-gallery {
    margin: 40px 0;
}

.blog .tags {
    order: 2;
}

.article-details.blog-photo {
    display: flex;
    flex-direction: column;

}

.blog-photo .tags {
    order: -1;
    justify-content: center;
}

.blog-photo .article-full-image {
    order: -2;
}

body section .article-details .article-full-image img {
    width: 60%;
    margin: 0 auto;
    display: block;
}

.blog-photo .tags li a {
    font-family: oswald, Arial, Helvetica, sans-serif;
    color: var(--mainColor);
    background-color: transparent;
    margin: 10px 20px;
    transition: cubic-bezier(0.445, 0.05, 0.55, 0.95);
}

.blog .item-content {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
}

.blog .tags a.btn {
   background-color: transparent;
   color: #222c54;
   border: unset;
    font-size: 20px;
}

.block-outer {

    margin: 40px 0;
    padding: 20px 0;
    border-bottom: 1px solid var(--border);
}

.block {
    justify-content: center;
    align-items: center;
    text-align: justify;
}


.block .text {
    flex-basis: 50%;
    padding: 10px;
}

.blog .row:nth-child(odd){
    flex-direction: row-reverse;
    
}
/* tags*/
body .list-group{
    flex-direction: row;
    flex-wrap: wrap;
    align-items: end;

}
body .list-group-item{
    flex-basis: 30%;
    flex-grow: 1;
    }
    .grid-child.container-bottom-a 
    {width: 80%;
    margin: auto;}

    .com-tags-tag article{
        margin-top: 90px;
    }

/*newsflash*/
.flashPost .articles-leading {
    width: 75%;
    margin: 0 auto;
}

.flashPost .newsflash-title {
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
}

.mod-articlesnews-horizontal .readmore {
    margin-top: unset;
}
/*footer*/
.footer {
    color: #fff;
    background-color: var(--darkcolor);
    background-image: unset;
     margin-top: 0;
}
.contact-info {
    font-size: 1.5em;
}


/* WEB */

.web .site-grid .com-content-article__body{
    position: absolute;

}
.web .first {
    background-image: url(https://www.tadeusz-ibrom.pl/images/Strony_internetowe/strony-internetowe-slask.webp);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    height: 100vh;
    overflow: hidden;
    position: relative;
    z-index: 0;
}

.web .first .img-cover {
    overflow: hidden;
    height: 100vh;
    background: var(--coverColor);
    opacity: 0.8;
    position: relative;
    z-index: 0;
}

.web .first .content {
    color: white;
    width: 30%;
    position: relative;
    top: 30%;
    left: 20%;
}

.web .second {
    width: 1400px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    overflow: hidden;
    margin: -100px auto 0 auto;
    position: relative;
    z-index: 2;
}

.web .second .tile {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    background-color: #a22631;
    color: white;
    width: 30%;
    height: 300px;
    padding: 20px;
}

.web .second .tile ul {
    align-self: flex-start;
}

.web .button {
    border: 3px solid white;
    width: 150px;
    background-color: #a22631;
    color: white;
}

.web .tile .button {
    min-width: 220px;
}

.web .button a {
    color: white;
}

.web .third {
    width: 1400px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
}

.web .third .content {
    flex-basis: 50%;
}

.web .third picture {
    flex-basis: 50%;
    flex-shrink: 1;
}

.web .third button {
    border: 3px solid var(--coverColor);
}

.web .third button a {
    color: var(--coverColor);
}

.web #strony-internetowe .img-cover {
    overflow: hidden;
    height: 100vh;
    background: var(--coverColor);
    opacity: 0.8;
    position: relative;
    z-index: -1;
}

/* slub*/
.slub .row.tiles {
    margin: 5% auto;
    gap: 30px;
    justify-content: center;
}

.slub .tile {
    flex-basis: 25%;
}

.slub .tile img {
    width: 75px;
    height: 75px;
}

.reverse {
    flex-direction: row-reverse;
}

@media screen and (max-width: 992px) {
    .icon {
        flex-basis: 40%;
    }
    .navbar>.container-fluid{
        background-color: white;
    }
    .container-header .container-nav{
        justify-content: flex-end;
    }
    .container-header .mod-menu{
        border: unset;
    }
.button h2{
        font-size: 0.6em;
    }

    .contact-info{
        font-size: 1.1em;
        line-height: 1.3em;
    }

}

@media screen and (max-width: 768px) {
    .container-component>*+*{
        margin-top: -6em;
    }
    .header .grid-child:first-child {
        flex-basis: 70%;
        flex-shrink: 1;
    }

    .header .container-nav {
        flex-basis: 20%;
        flex-shrink: 1;
        margin-right: 0;
    }

    .Fotografia .button {
        font-size: 1em;
        line-height: 1em;
    }

    .thin-column {
        width: 94%;
    }

    .content-list ul {
        columns: 2;
    }

    .contact-info {
        flex-direction: column;
    }

    .header .mod-custom {
        width: 100%;
    }

    .header .contact-item {
        margin: 5px 0;
    }

    .header .grid-child:nth-child(2) {
        flex-basis: 30%;
    }

    body.wrapper-fluid header>.grid-child {
        padding: 10px;
    }

    .Main-page .icon {
        flex-basis: 100%;
        margin: 20px 0;
    }
    body .list-group-item{
        flex-basis: 40%;
        flex-grow: 1;
        }

}

@media screen and (max-width: 565px) {
    .thin-column {
        width: 98%;
    }

    .content-list ul {
        columns: 1;
    }
    body .list-group-item{
        flex-basis: 100%;
              }
}




@media (orientation: portrait) {
    .mainPage_icons {
        height: unset;
        flex-direction: column;
    }



    .contentList {
        column-count: 1;
        margin-bottom: 10px;
        margin-top: 10px;
    }

    .appoimentForm {
        margin: 30px 10px;
    }

    .appoimentForm input[type="text"]:not(.form-control),
    .appoimentForm input[type="email"]:not(.form-control),
    .appoimentForm input[type="url"]:not(.form-control),
    .appoimentForm input[type="date"]:not(.form-control),
    .appoimentForm input[type="password"]:not(.form-control),
    .appoimentForm input[type="search"]:not(.form-control),
    .appoimentForm input[type="tel"]:not(.form-control),
    .appoimentForm input[type="number"]:not(.form-control),
    .appoimentForm select:not(.form-select):not(.form-control),
    .formResponsive textarea {
        padding: 5px 0 !important;
    }

    .article section div h3 {
        margin-top: 20px;
    }

    .button-group {
        display: flex;
    }
 
}

@media (orientation: landscape) {
    .mainPage_icons {
        height: 80vh;
        align-items: center;
        justify-content: space-between;
    }





    .appoimentForm {
        margin: 30px 30%;
    }

}



.js-scroll {
    opacity: 1;
    transition: all 1s;
}

.scrolled {
    opacity: 0;
    transition: all 2s;
}


.scrolled.fade-in {
    animation: fade-in 1s ease-in-out both;
}

.scrolled.fade-in-bottom {
    animation: fade-in-bottom 1s ease-in-out both;
}

.scrolled.slide-left {
    animation: slide-in-left 1s ease-in-out both;
}

.scrolled.slide-right {
    animation: slide-in-right 1s ease-in-out both;
}



@keyframes slide-in-left {
    0% {
        -webkit-transform: translateX(-100px);
        transform: translateX(-100px);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateX(0);
        transform: translateX(0);
        opacity: 1;
    }
}

@keyframes slide-in-right {
    0% {
        -webkit-transform: translateX(100px);
        transform: translateX(100px);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateX(0);
        transform: translateX(0);
        opacity: 1;
    }
}

@keyframes fade-in-bottom {
    0% {
        -webkit-transform: translateY(50px);
        transform: translateY(50px);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateY(0);
        transform: translateY(0);
        opacity: 1;
    }
}

@keyframes fade-in {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}