/* Grid Tekrarlar */

.grid-1 {

    grid-template-columns: repeat(1, 1fr) !important;

}



.grid-2 {

    grid-template-columns: repeat(2, 1fr) !important;

}



.grid-3 {

    grid-template-columns: repeat(3, 1fr) !important;

}



.grid-4 {

    grid-template-columns: repeat(4, 1fr) !important;

}



.grid-5 {

    grid-template-columns: repeat(5, 1fr) !important;

}



.grid-6 {

    grid-template-columns: repeat(6, 1fr) !important;

}



/* content grid widget */



.items {

    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 15px;

}



.items.slick-slider {

    display: block;

}



.items.slick-slider .slick-list {

    margin: 0 -10px;

}



.items.slick-slider .item {

    margin: 10px;

}



/* Slick Carousel Oklar */

.slick-arrow {

    display: block;

    padding: 0;

    background: transparent;

    font-size: 0;

}



.slick-arrow::before {

    display: block;

    font-family: bootstrap-icons !important;

    line-height: 1;

    font-size: 18px;

}



.slick-prev::before {

    content: "\f284";

}



.slick-next::before {

    content: "\f285";

}



/* Slick Carousel Oklar */



/* Resimler */



.images {

    display: grid;

    grid-template-columns: repeat(5, 1fr);

    gap: 10px;

}



.images .image {

    position: relative;

    z-index: 1;

    display: block;

    border-radius: 5px;

    overflow: hidden;

    box-shadow: 0 0 10px -8px var(--dark-color);

    transition: 0.3s ease all;

}



.images .image img {

    width: 100%;

    height: 100%;

    object-fit: cover;

    aspect-ratio: 4 / 3;

}



.images .image a::before {

    content: "";

    position: absolute;

    z-index: 1;

    width: 100%;

    height: 100%;

    top: 0px;

    left: 0px;

    background: var(--dark-color);

    opacity: 0;

    transition: 0.3s ease all;

}



.images .image a::after {

    content: "\f3df";

    display: inline-block;

    font-size: 24px;

    color: #fff;

    opacity: 0;

    visibility: hidden;

    position: absolute;

    left: 50%;

    top: 50%;

    transform: translate(-50%, -50%);

    z-index: 1;

    font-family: bootstrap-icons !important;

    font-style: normal;

    font-weight: normal !important;

    font-variant: normal;

    text-transform: none;

    line-height: 1;

    vertical-align: -.125em;

    -webkit-font-smoothing: antialiased;

    -moz-osx-font-smoothing: grayscale;

    transition-delay: 0.1s;

    transition-duration: 0.3s;

}



.images .image:hover a::before {

    opacity: 0.4;

}



.images .image:hover a::after {

    opacity: 1;

    visibility: visible;

}



/* Resimler */



.pages {

    display: grid;

    gap: 50px;

    max-width: var(--container);

    margin: 0 auto;

}



.pages .page .box {

    display: grid;

    grid-template-columns: repeat(2, 1fr);

    align-items: center;

    gap: 10px;

    background: #fff;

    border-radius: 10px;

    box-shadow: 0 0 30px -30px var(--dark-color);

    transition: 0.3s ease all;

}



.pages .page .box .image {

    padding: 15px;

    height: fit-content;

}



.pages .page .box .image img {

    display: block;

    border-radius: 10px;

    width: 100%;

    height: 100%;

    aspect-ratio: 4 / 3;

    object-fit: cover;

    box-shadow: 0 0 5px -4px var(--dark-color);

}



.pages .page .box .text {

    padding: 10px 50px;

    overflow: hidden;

}



.pages .page .box .text .title {

    display: block;

    position: relative;

    color: var(--dark-color);

    margin-bottom: 15px;

    padding-bottom: 15px;

    font-size: 30px;

}



.pages .page .box .text .desc {

    font-size: 18px;

}



.pages .page .box .text .title::before {

    content: "";

    position: absolute;

    left: 0;

    display: block;

    width: 50px;

    height: 0;

    border-bottom: 1px solid var(--primary-color);

    bottom: 0px;

}



.pages .page:nth-child(2n) .box .image {

    order: 2;

}



.pages.files {

    grid-template-columns: repeat(3, 1fr);

    gap: 15px;

}



.pages.files.file-1 {

    grid-template-columns: repeat(1, 1fr);

    max-width: 100%;

    width: fit-content;

    min-width: 350px;

}



.pages.files.file-3 {

    grid-template-columns: repeat(3, 1fr);

    gap: 30px;

}



.pages.files.file-3 .page .box {

    padding: 15px;

    gap: 20px;

}



.pages.files.file-3 .page .box .text .title {

    font-size: 18px;

}



.pages.files.file-2 .page .box .text .title {

    font-size: 22px;

}



.pages.files .page .box {

    display: flex;

    justify-content: space-between;

    padding: 20px;

}



.pages.files .page .box .text {

    flex: 1;

}



.pages.files .page .box .text .title {

    font-size: 24px;

}



.pages.files .page .box .text,

.pages.files .page .box .image {

    padding: 0;

}



.pages.files .page:nth-child(2n+1) .box .image {

    order: unset;

}



.pages.files .page .box .image img {

    width: 100%;

    height: auto;

    max-width: 100px;

    object-fit: unset;

    aspect-ratio: unset;

}



.pages .page .box .text table {

    caption-side: bottom;

    border-collapse: collapse;

    border: unset;

    width: 100% !important;

    margin-bottom: 15px;

}



.pages .page .box .text table :is(td, th) {

    padding: 10px;

    border-bottom: 1px solid var(--bs-gray-400);

}



/* İçerik dosyaları */

.documents {

    display: grid;

    gap: var(--gap);

    width: 100%;

}



.documents .document .item {

    display: flex;

    background: var(--bs-gray-200);

    border-radius: 10px;

    align-items: center;

    gap: 15px;

    padding: 15px;

    border: 1px solid transparent;

    transition: all .3s;

}



.documents .document .item .icon {

    display: block;

    color: var(--dark-color);

    font-size: 50px;

}



.documents .document .item .text {

    flex: 1;

}



.documents .document .item .text .title {

    color: var(--dark-color);

    width: fit-content;

    margin-bottom: 10px;

    font-size: 20px;

    display: block;

    position: relative;

}



.documents .document .item .text .show {

    background: var(--primary-color);

    color: #ffffff;

    border-radius: 10px;

    width: fit-content;

    padding: 10px 15px;

    line-height: 1;

    transition: all .3s;

    display: flex;

}



.documents .document .item:hover {

    border-color: var(--secondart-color);

}



.documents .document .item:hover .text .show {

    background: var(--secondary-color);

}



/* İçerik dosyaları */



.blogs {

    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: var(--gap);

    width: 100%;

}



.blogs .blog a {

    display: block;

    background: #fff;

    height: 100%;

    border-radius: 10px;

    box-shadow: 0 0 20px -18px var(--dark-color);

    transition: 0.3s ease all;

}



.blogs .blog .image {

    position: relative;

    z-index: 1;

    overflow: hidden;

    border-radius: 10px;

}



.blogs .blog .image img {

    width: 100%;

    height: 100%;

    aspect-ratio: 4/3;

    object-fit: cover;

}



.blogs .blog .image::before {

    content: "";

    z-index: 0;

    position: absolute;

    background: var(--dark-color);

    opacity: 0;

    transition: 0.3s ease all;

    inset: 0;

}



.blogs .blog .image::after {

    content: "\f138";

    position: absolute;

    color: #fff;

    font-size: 24px;

    z-index: 1;

    right: 50%;

    opacity: 0;

    bottom: 20px;

    display: inline-block;

    font-family: bootstrap-icons !important;

    font-style: normal;

    font-weight: normal !important;

    font-variant: normal;

    text-transform: none;

    line-height: 1;

    vertical-align: -.125em;

    -webkit-font-smoothing: antialiased;

    -moz-osx-font-smoothing: grayscale;

    transition: 0.1s ease;

}



.blogs .blog .text {

    display: block;

    padding: 20px 15px;

}



.blogs .blog .date {

    display: block;

    margin-bottom: 5px;

}



.blogs .blog .title {

    overflow: hidden;

    text-overflow: ellipsis;

    display: -webkit-box;

    -webkit-line-clamp: 3;

    -webkit-box-orient: vertical;
    font-size:18px;

}



.blogs .blog:hover a {

    color: var(--primary-color);

    box-shadow: 0 10px 20px -18px var(--dark-color);

}



.blogs .blog:hover .image::before {

    opacity: 0.5;

}



.blogs .blog:hover .image::after {

    opacity: 1;

    right: 20px;

    transition-delay: 0.2s;

    transition-duration: 0.3s;

}



/* İletişim formu widgeti */



.contact-widget {

    padding: 50px 0;

    background: linear-gradient(90deg, var(--secondary-color) 0%, var(--secondary-color) calc(50% - 15vw), #fff calc(50% - 15vw), #fff 100%);

    background-position: left;

    background-size: 0;

    background-repeat: no-repeat;

}



.contact-widget.aos-animate {

    background-size: 100%;

}



.contact-widget .container {

    display: grid;

    grid-template-columns: repeat(2, 1fr);

    gap: 50px;

    align-items: center;

}





.contact-widget .head.text-left {

    margin-bottom: 0px;

}



.contact-form form {

    display: grid;

    grid-template-columns: repeat(2, 1fr);

    gap: 30px;



}



.contact-form .full {

    grid-column: 2 span;

}



.map-iframe iframe {

    width: 100%;

    height: 100%;

    border: unset;

    border-radius: 10px;

    aspect-ratio: 16 / 5;

}



.contact-title {

    display: block;

    margin-bottom: 5px;

    color: var(--dark-color);

    font-weight: 600;

    font-size: 30px;

}



.contact-desc {

    font-size: 18px;

    font-weight: 300;

}



.contact-info ul {

    list-style: none;

    padding: 0;

    margin: 0;

}



.contact-info .social-list {

    display: flex;

    flex-wrap: wrap;

    gap: 30px;

}



.contact-info .social-list a {

    display: block;

    color: var(--primary-color);

    font-size: 24px;

}



.contact-info .social-list li:hover a {

    color: var(--secondary-color);

}



.contact-info .contact-list {

    display: grid;

    gap: 5px;

}



.contact-info .contact-list span {

    display: flex;

    gap: 5px;

    color: var(--dark-color);

    font-size: 18px;

}



.contact-info .contact-list span i {

    width: 30px;

    color: var(--primary-color);

    flex-shrink: 0;

}







/* İletişim formu widgeti */





.home-fast-contact .box {

    padding: 30px;

    background: #fff;

    display: flex;

    gap: 30px;

    align-items: center;

    justify-content: space-between;

    border-radius: 80px;

    box-shadow: 0 0 30px -28px var(--dark-color);

}



.home-fast-contact .box .left {

    display: flex;

    gap: 80px;

}



.home-fast-contact .box .left .icon {

    display: flex;

    justify-content: center;

    align-items: center;

    flex-shrink: 0;

    position: relative;

    z-index: 1;

    width: 80px;

    height: 80px;

    background: var(--bs-success);

    border-radius: 50%;

}



.home-fast-contact .box .left .icon::before {

    content: "";

    position: absolute;

    z-index: -1;

    inset: 0;

    border-radius: 50%;

    background: var(--bs-success);

    margin: 10px;

    transition: 5s ease;

    -webkit-animation: waves 2.5s infinite;

    animation: waves 2.5s infinite;

    -webkit-animation-delay: 0.1s;

    animation-delay: 0.1s;

}



.home-fast-contact .box .left .icon::after {

    content: "";

    position: absolute;

    z-index: -1;

    inset: 0;

    border-radius: 50%;

    background: var(--bs-success);

    margin: 10px;

    transition: 5s ease;

    -webkit-animation: waves 2.5s linear 0.7s infinite;

    animation: waves 2.5s linear 0.7s infinite;

}



.home-fast-contact .box .left .icon :is(svg, img) {

    width: 40px;

    height: 40px;

    fill: #fff;

}



.home-fast-contact .box .left .title {

    display: block;

    margin-bottom: 10px;

    font-size: 24px;

    font-weight: 600;

    color: var(--dark-color);

}



.home-fast-contact .box .left .description {

    color: var(--bs-gray-600);

    margin: 0;

}



.home-fast-contact .box .buttons {

    display: flex;

    gap: 15px;

    text-wrap: nowrap;

}



.home-fast-contact .box .buttons .btn {

    font-size: 18px;

}









/* ─── Table of Contents ─── */

html {

    scroll-behavior: smooth;

}



h2[id],

h3[id] {

    scroll-margin-top: 80px;

}



.toc {

    border: 1px solid #e5e7eb;

    border-radius: 8px;

    margin-bottom: 2rem;

    background: #f9fafb;

    overflow: hidden;

}



.toc__header {

    display: flex;

    align-items: center;

    justify-content: space-between;

    padding: 14px 20px;

    cursor: pointer;

    user-select: none;

    list-style: none;

}



.toc__header::-webkit-details-marker,

.toc__header::marker {

    display: none;

    content: "";

}



.toc__title {

    font-weight: 600;

    font-size: 15px;

    color: #1f2937;

}



.toc__icon {

    color: #6b7280;

    transition: transform .2s ease;

}



.toc[open] .toc__icon {

    transform: rotate(0deg);

}



.toc:not([open]) .toc__icon {

    transform: rotate(-90deg);

}



.toc__list {

    list-style: none;

    margin: 0;

    padding: 0 20px 16px;

}



.toc__item {

    padding: 0;

    margin: 0;

}



.toc__item+.toc__item {

    margin-top: 2px;

}



.toc__link {

    display: block;

    padding: 6px 8px;

    font-size: 14px;

    color: #374151;

    text-decoration: none;

    border-radius: 4px;

    transition: background .15s ease, color .15s ease;

    line-height: 1.4;

}



.toc__link:hover {

    background: #e5e7eb;

    color: #111827;

}



.toc__item--sub .toc__link {

    padding-left: 24px;

    font-size: 13px;

    color: #6b7280;

}



.toc__item--sub .toc__link:hover {

    color: #374151;

}







.list-pagination {

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 10px;

    margin: 34px 0 0;

    flex-wrap: wrap

}



.list-pagination__pages {

    display: flex;

    align-items: center;

    gap: 8px;

    flex-wrap: wrap;

    justify-content: center

}



.list-pagination__page,

.list-pagination__control {

    min-width: 42px;

    height: 42px;

    padding: 0 14px;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    border: 1px solid var(--light-color);

    background: var(--light-color);

    color: inherit;

    text-decoration: none;

    border-radius: 999px;

    font-size: 14px;

    font-weight: 600;

    line-height: 1;

    transition: background .2s ease, border-color .2s ease, transform .2s ease

}



.list-pagination__control {

    min-width: 92px

}



.list-pagination__page:hover,

.list-pagination__control:hover {

    background: rgba(var(--primary-rgb), .16);

    border-color: rgba(var(--primary-rgb), .42);

    transform: translateY(-1px)

}



.list-pagination__page.is-active {

    background: var(--primary-color);

    border-color: var(--primary-color);

    color: var(--dark-color)

}



.list-pagination__dots {

    min-width: 24px;

    text-align: center;

    opacity: .65

}



@media (max-width: 768px) {

    .home-fast-contact .box {

        display: grid;

        padding: 15px;

        gap: 15px;

        border-radius: 15px;

    }



    .home-fast-contact .box .left {

        gap: 15px;

        flex-wrap: wrap;

        justify-content: center;

        text-align: center;

    }



    .home-fast-contact .box .left .icon {

        width: 60px;

        height: 60px;

    }



    .home-fast-contact .box .buttons {

        justify-content: center;

        gap: 10px;

        flex-wrap: wrap;

    }





    .grid-3,

    .grid-4,

    .grid-5 {

        grid-template-columns: repeat(2, 1fr) !important;

    }



    .grid-6 {

        grid-template-columns: repeat(3, 1fr) !important;

    }



    .toc {

        margin-bottom: 1.5rem;

    }



    .toc__header {

        padding: 12px 16px;

    }



    .toc__list {

        padding: 0 16px 12px;

    }



    .list-pagination {

        gap: 8px

    }



    .list-pagination__page,

    .list-pagination__control {

        min-width: 38px;

        height: 38px;

        padding: 0 12px;

        font-size: 13px

    }



    .list-pagination__control {

        min-width: 82px

    }

}