#main
{
	background-color: var(--bs-white);

    font-family: "Raleway", serif;
}
/* ------------------------------------------------Media-------------------------------------------------- */

@media (min-width: 992px) {
  .navbar-expand-lg .navbar-nav
  {
    gap: 30px;
    padding-right: 7px;
    padding-top: 10px;
  }
}


@media (max-width: 1400px) {
    .backToTop {
        left: calc(50% + 590px);
    }
}

@media (max-width: 1200px) {
    .backToTop {
        display: none;
    }
    #contact ul
    {
        display: contents !important;
    }
}

@media (max-width: 992px)
{
    #news h1
    {
        font-size: 16px !important;
    }
    #news p
    {
        font-size: 11px !important;
    }
    #welcome, #home
    {
        padding-top: 15px !important;
        padding-bottom: 15px !important;
    
    }

    .backToTop {
        display: none;
    }
}

@media (max-width: 768px)
{
    .backToTop {
        display: none;
    }

    .filter-choice {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
    }

    .filter-choice span {
        position: static !important;
        opacity: 1 !important;
        transform: none !important;
        margin: 5px;
    }

    .custom-btn{
        display: none !important;
    }

    .nav-custom {
        padding: 10px;
        flex-direction: row;
        gap: 0;
    }

    .navbar-brand {
        position: static; 
        transform: none;  
        animation: none; 
        opacity: 1;
    }

    #logo 
    {
        animation: none;
        opacity: 1;
    }

    #news1, #news2, #news3, #news4, #news h1
    {
        width: 60% !important;
        padding-bottom: 0px !important;
        padding-top: 0px !important;
    }

    .horiz-divider
    {
        display: none;
    }

    #image1, #image2, #image3, #image4, #image5, #image6, #image7, #image8, #image9, #image10, #image11, #image12, #image13,
    #image14, #image15, #image16, #image17, #image18, #image19, #image20
    {
        width: 100%;
        height: auto;
        object-fit: cover;
        object-position: bottom;

    }
    #contact ul
    {
        display: block !important;
        padding-top: 50px !important;
        transform: none !important;
    }

    .appointement
    {
        padding-top: 500px !important;
    }

}

@media (max-width: 520px)
{
        .navbar > .container, .navbar > .container-fluid, .navbar > .container-lg, .navbar > .container-md, .navbar > .container-sm, .navbar > .container-xl, .navbar > .container-xxl
        {
            justify-content: flex-start;
        }
        #welcome, #home
        {
            padding-top: 5px !important;
            padding-bottom: 5px !important;
        
        }
        #welcome h1
        {
            font-size: 22px !important;
        }
        #welcome p
        {
            font-size: 12px !important;
        }
        #home h1
        {
            font-size: 25px !important;
        }
        #home p
        {
            font-size: 15px !important;
        }
        #team h1
        {
            font-size: 30px !important;
        }
        #team p
        {
            font-size: 15px !important;
        }
        #contact h1
        {
            font-size: 20px !important;
            padding-top: 0px !important;
        }
        #contact p
        {
            font-size: 12px !important;
        }
        .team-grid
        {
            padding-left: 0px !important;
        }
}
@media (max-width: 330px)
{
    .navbar > .container, .navbar > .container-fluid, .navbar > .container-lg, .navbar > .container-md, .navbar > .container-sm, .navbar > .container-xl, .navbar > .container-xxl {
    justify-content: none;
    }
}

    #logo
    {
        max-width: 120px; 
        max-height: 40px;
    }


/* ----------------------------------------------------------------loader---------------------------------*/

.loader {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background: white;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 9999;
}

.loader img {
    width: 200px;
    animation: fadeInOut 2s ease forwards;
}

.loader.hidden {
    animation: fadeOut 3s ease forwards;
}

/* ------------------------------------------------------------navbar------------------------------------------------------ */

.nav-custom{

	padding-top: 20px;
	padding-bottom: 20px;
	justify-content: center;
	flex-direction: unset;
	gap: 30px;
}

#logo {
    max-width: 180px; 
    max-height: 60px; 
    width: 100%; 
    height: auto; 
    padding-top: 10px; 
    padding-left: 5px; 
}

.navbar-brand {
    opacity: 0;
    transform: translate(-50px, -50px);
    animation: slideInItem 1s ease forwards;
}


.nav-item {
    opacity: 0;
    transform: translate(50px, -50px);
    padding-top: 10px;
}

.animate {
    opacity: 0;
    transform: translate(50px, -50px);
    padding-top: 10px;
    animation: slideInItem 1s ease forwards;
}

.hover-underline {
  color: #ffffff;
  position: relative;
  display: inline-block;
}

.hover-underline::after {
  content: '';
  position: absolute;
  width: 90%;
  height: 2px;
  background: linear-gradient(to right, black, rgb(255, 255, 255));
  bottom: -5px;
  left: 8px;
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 0.4s ease-out;
}

.hover-underline::before {
  top: -5px;
  transform-origin: left;
}

.hover-underline:hover::after {
  transform: scaleX(1);
}

/* -----------------------------------------------Welcome-------------------------------------------- */

#welcome
{
    padding-bottom: 50px;
    padding-top: 30px;

}

#welcome h1
{
    font-size: 28px;
    font-family: "Raleway", serif;
    font-weight: 200;
    letter-spacing: 5px;
    margin-left: 10px;
    margin-right: 10px;
}

#welcome p
{
    font-size: 24px;
    font-family: "Raleway", serif;
    padding-left: 20px;
    padding-top: 10px;
}

/* --------------------------------------------------------------------BackToTop---------------------------------------------*/

#backToTopBtn {

    writing-mode: vertical-rl;
    text-orientation: upright;
    cursor: pointer;
    display: none;
    transition: all 0.3s ease;
    padding: 20px 15px;
    text-transform: uppercase;
    font-size: 12px;
    writing-mode: sideways-lr;
    letter-spacing: 2px;
}

#content {
    padding-top: 190px;
    position: relative;
    max-width: 1320px; 
    margin: 0 auto;
}

.backToTop {
    position: fixed;
    left: calc(50% + 660px);
    transform: translateX(-100%);
    bottom: 5vh;
    z-index: 99;
}

/* ------------------------------------------------------------------event--------------------------------------------------------- */

#events
{
    max-width: 1320px;
}

#eachEvent h1
{
    text-transform: uppercase;
    padding-bottom: 20px !important;
    font-family: "Raleway", serif;
    font-weight: 200;
    letter-spacing: 5px;
}

#eachEvent p
{
    max-width: fit-content;
}

#eachEvent p:nth-child(2) {
    padding-bottom: 20px;
    text-transform: uppercase;
    font-family: "Raleway", serif;
    font-weight: 200;
    letter-spacing: 5px;

}

#eachEvent p:nth-child(3) {
    padding-bottom: 50px;
    font-weight: 300;
    font-family: "Raleway", serif;
    letter-spacing: 5px;

}

.mosaic-container {
    width: 98%;
    max-width: 1296px; 
    margin: 0 auto;
    padding-top: 50px;
    margin-right: 20px;
}

.mosaic-item {
    display: block;
    border-radius: 2px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    overflow: hidden;
    object-fit: cover;
}

.small {
    width: 100%; 
    height: auto; 
    max-height: 300px; 
}

.large {
    width: 100%; 
    height: auto; 
    min-height: 610px; 
}

/* ------------------------------------------------------------------Image--------------------------------------------------------- */

#image1, #image2, #image3, #image4, #image5, #image6, #image7, #image8, #image9, #image10, #image11, #image12, #image13,
#image14, #image15, #image16, #image17, #image18, #image19, #image20
{
	width: 100%;
	height: 100%;
    object-fit: cover;
    object-position: bottom;
}

.wrapper {
  position: relative;
  width: 100%;
  height: auto;
  aspect-ratio: 3/2;
  margin: 0 0 30px 0;
  
  display: flex;
  flex-direction: column;
  
}

.image-wrapper {
  width: 100%;
  height: auto;
  overflow: hidden;
  cursor: pointer;
}

.wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 2.1s ease-in-out;
}

.title-img {
    font-size: 24px;
    color: black;
    font-family: "Raleway", serif;
    font-weight: 200;
    letter-spacing: 5px;
    text-transform: uppercase;
}

.description-img {
    position: absolute;
    font-size: 28px;
    color: black;
    font-family: "Raleway", serif;
    font-weight: 300;
    letter-spacing: 5px;
    text-transform: uppercase;
}

.wrapper:hover img {
  transform: scale(1.2);
}

/* --------------------------------------------------filter--------------------------------------------------------------------- */

.filter-icon {
    display: flex;
    align-items: center;
    gap: 20px;
    justify-content: flex-end;
    position: relative;
}

.custom-btn {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: transparent;
    border: 1px solid #000;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    position: relative;
    margin-right: 10px;
}


.custom-btn:hover {
    background-color: #000;
}

.custom-btn svg {
    width: 20px;
    height: 20px;
    color: #000;
    transition: color 0.3s ease;
}

.custom-btn:hover svg {
    color: white;
}

.filter-icon span[data-filter] {
    cursor:pointer; 
    user-select: none;
    padding: 5px 10px;
    border-radius: 20px;
    transition: all 0.3s ease;
}

.filter-icon span[data-filter]::after {
    content: '';
    position: absolute;
    width: 100%;
    height: 2px;
    bottom: 0;
    left: 0;
    background-color: #000;
    transform: scaleX(0);
    transition: transform 0.3s ease;
}

.filter-icon span[data-filter]:hover::after,
.filter-icon span[data-filter].active::after {
    transform: scaleX(1);
}

.filter-icon span {
    opacity: 0;
    position: absolute;
    top: 60px;
    transition: all 0.8s ease;
    white-space: nowrap;
}

.from-top {
    transform: translateY(-20px);
}

.from-bottom {
    transform: translateY(20px);
}

.filter-icon.active span {
    opacity: 1;
    transform: translateY(0);
}

.filter-icon.exit span {
    opacity: 0;
    transform: translateX(100px);
    transition: all 0.3s ease;
}

.filter-icon span[data-filter] {
    cursor: pointer;
    user-select: none;
}

.filter-icon span[data-filter]:hover {
    color: #666;
}

.filter-icon.active span:nth-child(1) { transition-delay: 0s; }
.filter-icon.active span:nth-child(2) { transition-delay: 0.1s; }
.filter-icon.active span:nth-child(3) { transition-delay: 0.2s; }
.filter-icon.active span:nth-child(4) { transition-delay: 0.3s; }
.filter-icon.active span:nth-child(5) { transition-delay: 0.4s; }
.filter-icon.active span:nth-child(6) { transition-delay: 0.5s; }
.filter-icon.active span:nth-child(7) { transition-delay: 0.6s; }
.filter-icon.active span:nth-child(8) { transition-delay: 0.7s; }
.filter-icon.active span:nth-child(9) { transition-delay: 0.8s; }

.filter-icon.exit span:nth-child(9) { transition-delay: 0s; }
.filter-icon.exit span:nth-child(8) { transition-delay: 0.1s; }
.filter-icon.exit span:nth-child(7) { transition-delay: 0.2s; }
.filter-icon.exit span:nth-child(6) { transition-delay: 0.3s; }
.filter-icon.exit span:nth-child(5) { transition-delay: 0.4s; }
.filter-icon.exit span:nth-child(4) { transition-delay: 0.5s; }
.filter-icon.exit span:nth-child(3) { transition-delay: 0.6s; }
.filter-icon.exit span:nth-child(2) { transition-delay: 0.7s; }
.filter-icon.exit span:nth-child(1) { transition-delay: 0.8s; }

.filter-icon.active span[data-filter]:nth-of-type(1) { transition-delay: 0s; }
.filter-icon.active span[data-filter]:nth-of-type(2) { transition-delay: 0.2s; }
.filter-icon.active span[data-filter]:nth-of-type(3) { transition-delay: 0.4s; }
.filter-icon.active span[data-filter]:nth-of-type(4) { transition-delay: 0.6s; }
.filter-icon.active span[data-filter]:nth-of-type(5) { transition-delay: 0.8s; }

.filter-icon.active span[class*="slash"]:nth-of-type(1) { transition-delay: 0.1s; }
.filter-icon.active span[class*="slash"]:nth-of-type(2) { transition-delay: 0.3s; }
.filter-icon.active span[class*="slash"]:nth-of-type(3) { transition-delay: 0.5s; }
.filter-icon.active span[class*="slash"]:nth-of-type(4) { transition-delay: 0.7s; }
.filter-icon.active span[class*="slash"]:nth-of-type(5) { transition-delay: 0.9s; } 

/* -------------------------------------------------------divider------------------------------------ */

.horiz-divider {
    width: 100%;
    height: 1px;
    background-color: black;
    transform-origin: left;
    transform: scaleX(0); 
    transition: transform 0.8s ease-out; 
}

.horiz-divider.visible {
    transform: scaleX(1); 
}



/* -------------------------------------------Home-------------------------------- */

.home-link
{
    color: #000;
    text-decoration: none;
}
#home
{

    padding-top: 100px;

}
#home1
{
    width: 100%;
    /* height: 60%; */
    /* padding-bottom: 80px; */
}
#home2
{
    width: 80%;
    padding-top: 50px;
}
#home h1
{
    font-size: 50px;
    padding-top: 20px;
    padding-bottom: 20px;
    font-style: bold;
}



#home p
{
    font-size: 20px;

}
/* -------------------------------------------PortFolio-------------------------------- */

#pf
{

}


#pf1, #pf2, #pf3, #pf4
{
    width: 75%;
    padding-bottom: 70px;
}

#pf h1
{
    font-size: 30px;
}


/* -------------------------------------------Team-------------------------------- */

#team
{
    /* padding-bottom: 60px; */
    /* padding-left: 3px; */
}

#team1, #team2, #team3, #team4, #team5
{
    width: 70%;
} 

#team h1
{
    padding-top: 50px;
    font-size: 40px;
    padding-bottom: 50px;
    font-weight: 300;
    padding-left: 3px;
    max-width: 700px;
}

#team p
{
    font-size: 20px;
    font-weight: 400;
    padding-left: 3px;
    padding-bottom: 20px;
    max-width: 900px;
}

/* ----------------------------------------News-------------------------------- */

#news {

    padding-bottom: 30px;
    max-width: 1300px;
    padding-left: 5px;
    margin-right: 20px;
}

#news1, #news2, #news3, #news4, #news5
{
    width: 80%;
    /* height: 50%; */
    padding-bottom: 50px;
}

#news h1{
    padding-top: 50px;
    font-size: x-large;
    text-transform: uppercase ;
    font-family: "Raleway", serif;
}

#news p{
    padding-top: 20px;
    font-size:  large;
    /* text-transform: uppercase ; */
    font-family: "Raleway", serif;
    /* max-width: 400px; */
}
/* -----------------------------------------------------Share----------------------------------------- */


/* -------------------------------------------------contact-------------------------------------- */

#contact {

    max-width: 1300px;
    padding-left: 5px;
    font-family: "Raleway", serif;
    letter-spacing: 5px;
    /* max-width: 400px; */
}

#bwlogo
{
    /* width: 30%; */
    height: 60px;
}

#contact p1
{
    padding-top: 20px;
    display: flex;
    font-size: 20px;
    width: 500px;
}

#contact #ml
{
    font-size: 10px;
    letter-spacing: normal;
}

.form-control {
    border: none;
    border-bottom: 1px solid #000; 
    border-radius: 0; 
    box-shadow: none;
    width: 300px;
}

.form-control-text
{
    width: 500px;
    padding-right: 100px;
}

.form-control:focus {
    border-bottom: none; 
    box-shadow: none; 
}

.form-control-text:focus {
    border-bottom: none; 
    box-shadow: none; 
    outline: none;
}

/* -----------------------------------------------fade--------------------------------- */

.fade-in-bottom {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

.fade-in-bottom.visible {
    opacity: 1;
    transform: translateY(0);
}

.fade-in {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 2s ease-out, transform 2s ease-in-out;
    clip-path: inset(100% 0 0 0);
    transition: clip-path 1s ease, opacity 0.5s ease;
}

.fade-in.visible {
    opacity: 1;
    transform: translateY(0);
    clip-path: inset(0 0 0 0);
}

/* ---------------------------------rs---------------------------------- */

#contact ul {
  position:absolute;
  transform:translate(-30%, 150%);
  display:flex;
}

#contact ul li {
  list-style:none;
  margin:0 5px;
}

#contact ul li a .fa {
  font-size: 40px;
  color: #262626;
  line-height:80px;
  transition: .5s;
  padding-right: 14px;
}

#contact ul li a span {
  padding:0;
  margin:0;
  position:absolute;
  top: 30px;
  color: #262626;
  letter-spacing: 4px;
  transition: .5s;
}

#contact ul li a {
  text-decoration: none;
  display:absolute;
  display:block;
  width:200px;
  height:80px;
  background: #fff;
  text-align:left;
  padding-left: 20px;
  transform: rotate(-30deg) skew(25deg) translate(0,0);
  transition:.5s;
  box-shadow: -20px 20px 10px rgba(0,0,0,.5);
}

#contact ul li a:before {
  content: '';
  position: absolute;
  top:10px;
  left:-20px;
  height:100%;
  width:20px;
  background: #b1b1b1;
  transform: .5s;
  transform: rotate(0deg) skewY(-45deg);
}

#contact ul li a:after {
  content: '';
  position: absolute;
  bottom:-20px;
  left:-10px;
  height:20px;
  width:100%;
  background: #b1b1b1;
  transform: .5s;
  transform: rotate(0deg) skewX(-45deg);
}

#contact ul li a:hover {
  transform: rotate(-30deg) skew(25deg) translate(20px,-15px);
  box-shadow: -50px 50px 50px rgba(0,0,0,.5);
}

#contact ul li:hover .fa {
  color:#fff;
}

#contact ul li:hover span {
  color:#fff;
}

#contact ul li:hover:nth-child(1) a{
  background: #3b5998;
}

#contact ul li:hover:nth-child(1) a:before{
  background: #365492;
}

#contact ul li:hover:nth-child(1) a:after{
  background: #4a69ad;
}

#contact ul li:hover:nth-child(2) a{
  background: black;
}

#contact ul li:hover:nth-child(2) a:before{
  background: black;
}

#contact ul li:hover:nth-child(2) a:after{
  background: black;
}

#contact ul li:hover:nth-child(3) a{
  background: #dd4b39;
}

#contact ul li:hover:nth-child(3) a:before{
  background: #b33a2b;
}

#contact ul li:hover:nth-child(3) a:after{
  background: #e66a5a;
}

#contact ul li:hover:nth-child(4) a{
  background: #e4405f;
}

#contact ul li:hover:nth-child(4) a:before{
  background: #d81c3f;
}

#contact ul li:hover:nth-child(4) a:after{
  background: #e46880;
}

/* ------------------------------------------------Form---------------------------------------- */

.btn:focus, .btn:active, .btn:focus:active
{
    border: none; 
    box-shadow: none; 
    outline: none;    
}

/* -----------------------------------------------Appointment-------------------------------- */

.appointement
{
    padding-top: 100px;
}

/* --------------------------------------------Mentions----------------------------------- */

.mentions-modal {
    position: fixed;
    z-index: 1000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0, 0, 0, 0.5);
}

#mentions
{
    color: #000;
    text-decoration: none;
    padding-left: 30px;
    
}

.mentions-modal h
{
    font-size: medium;
}

.mentions-modal h1
{
    font-size: x-large;
}

.mentions-content {
    background-color: #fff;
    margin: 15% auto;
    padding: 20px;
    border: 1px solid #888;
    width: 80%;
    max-width: 1500px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
    border-radius: 10px;
}

.close-btn {
    color: #aaa;
    float: right;
    font-size: 28px;
    font-weight: bold;
}

.close-btn:hover,
.close-btn:focus {
    color: #000;
    text-decoration: none;
    cursor: pointer;
}

/* ---------------------------------Animation---------------------- */


@keyframes fadeInOut {
    0% { opacity: 0; }
    50% { opacity: 1; }
    100% { opacity: 0; }
}

@keyframes fadeOut {
    to {
        opacity: 0;
        visibility: hidden;
    }
}

@keyframes slideInItem {
    to {
        opacity: 1;
        transform: translate(0, 0);
    }
}


@keyframes slideInFromRight {
    from {
        transform: translateX(100%);
        opacity: 0;
    }
    to {
        transform: translateX(0);
        opacity: 1;
    }
}

@keyframes slideInFromLeft {
    from {
        transform: translateX(-100%);
        opacity: 0;
    }
    to {
        transform: translateX(0);
        opacity: 1;
    }
}

@keyframes slideInFromBottom {
    from {
        transform: translateY(100%);
        opacity: 0;
    }
    to {
        transform: translateY(0);
        opacity: 1;
    }
}

@keyframes slideInFromTop {
    from {
        transform: translateY(-100%);
        opacity: 0;
    }
    to {
        transform: translateY(0);
        opacity: 1;
    }
}

.slide-in-right {
    animation-name: slideInFromRight;
}

.slide-in-left {
    animation-name: slideInFromLeft;
}

.slide-in-bottom {
    animation-name: slideInFromBottom;
}

.slide-in-top {
    animation-name: slideInFromTop;
}


.gallery-img {
    cursor: pointer;
    transition: transform 0.3s ease;
}
.gallery-img:hover {
    transform: scale(1.015);
}
.modal-img {
    max-height: 80vh;
    object-fit: contain;
    width: 100%;
}
.mosaic-container {
    overflow: hidden; 
}
.carousel-inner {
    background: #000; 
}
.carousel-control-prev,
.carousel-control-next {
    width: 5%; }

.carousel-control-prev-icon,
.carousel-control-next-icon {
    background-color: rgba(0, 0, 0, 0.5); 
}
.modal-content {
    background: transparent; 
    border: 2px;
}
.modal-body {
    position: relative; 
}
.close-btn-custom {
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 1050; 
    background-size: 1.2em; 
    opacity: 0.8;
}
.close-btn-custom:hover {
    opacity: 1;
}
