/* =========================
   RESET
========================= */

* {
    margin:0;
    padding:0;
    box-sizing:border-box;
}


html,
body {
    height:100%;
}


body {

    font-family:Arial, sans-serif;

    display:flex;

    flex-direction:column;

    min-height:100vh;

}


main {
    flex:1;
}



/* =========================
   HEADER
========================= */


.site-header {

    border-bottom:1px solid #e5e5e5;

}



.site-header .container{

    margin:auto;
    background:#00586B;
    border-bottom:5px solid black;

    display:grid;

    grid-template-columns:1fr 1fr;
    grid-template-areas:
        "logo nav"
        "search search";

    align-items:center;

    padding:10px 20px 20px;
}



/* =========================
   MOBILE HEADER WRAPPER
========================= */


.mobile-header {

    display:contents;

}



/* =========================
   LOGO
========================= */


.logo{
    grid-area:logo;
    justify-self:start;
}



.logo a {

    text-decoration:none;

}



.logo img{
    width:70px;
    height:auto;
    display:block;
}



/* =========================
   SEARCH CENTER
========================= */


.rt-search {


    grid-column:2;


    width:350px;


    position:relative;

    right: 150px;


}



#rt-search-input {


    width:100%;


    height:46px;


    padding:0 55px 0 15px;


    border:1px solid #ddd;


    border-radius:10px;


    font-size:16px;


    outline:none;


}



#rt-search-input:focus {


    border-color:#0097b2;


}



/* SEARCH BUTTON */


.search-btn {


    position:absolute;


    top:50%;


    right:6px;


    transform:translateY(-50%);


    width:44px;


    height:44px;


    border:none;


    background:transparent;


    color:#666;


    cursor:pointer;


    display:flex;


    align-items:center;


    justify-content:center;


    border-radius:50%;


    transition:.2s;


}



.search-btn svg {


    width:20px;


    height:20px;


}



.search-btn:hover {


    background:#f2f2f2;


    color:#0097b2;


}






/* =========================
   DESKTOP NAVIGATION RIGHT
========================= */


.main-nav{
    grid-area:nav;
    justify-self:end;
    margin:0;
}



.nav-menu {


    list-style:none;


    display:flex;


    align-items:center;


    gap:15px;


}



.nav-menu a {


    text-decoration:none;


    color:white;


    font-weight:600;


    font-size:18px;


    display:block;


    transition:.3s;


}



.nav-menu a:hover {


    opacity:.8;


}





/* =========================
   MOBILE TOGGLE
========================= */


.mobile-toggle {


    display:none;


    width:48px;


    height:48px;


    background:none;


    border:none;


    cursor:pointer;


    flex-direction:column;


    justify-content:center;


    align-items:center;


    gap:6px;


}



.mobile-toggle span {


    display:block;


    width:28px;


    height:3px;


    background:white;


    border-radius:3px;


    transition:.3s ease;


}





/* HAMBURGER TO X ANIMATION */


.mobile-toggle.active span:nth-child(1) {


    transform:translateY(9px) rotate(45deg);


}



.mobile-toggle.active span:nth-child(2) {


    opacity:0;


}



.mobile-toggle.active span:nth-child(3) {


    transform:translateY(-9px) rotate(-45deg);


}


/* =========================
   SEARCH PAGE
========================= */


.search-count {

    text-align:center;

    margin:20px 0 40px;

    font-size:18px;

    color:#555;

}



.no-results {


    text-align:center;


    max-width:700px;


    margin:50px auto;


    padding:30px;


    border:1px solid #ddd;


    border-radius:10px;


    background:#fafafa;


}



.no-results h2 {


    margin-bottom:15px;


}



.no-results p {


    margin-bottom:15px;


}



.no-results ul {


    list-style:none;


    padding:0;


}



.no-results li {


    margin:8px 0;


    font-weight:bold;


}





/* =========================
   CATEGORY SECTIONS
========================= */


.country-section {


    margin:50px auto 100px;


    width:95%;


}



.country-section > h2 {


    background:#0097b2;


    color:white;


    padding:12px;


    text-align:center;


    border-radius:10px;


    border-top:5px solid black;


}



.country-more {


    text-align:center;


    margin-top:20px;


}



.country-more a {


    display:inline-flex;


    min-height:48px;


    align-items:center;


    justify-content:center;


    background:#721e1e;


    color:white;


    padding:10px 20px;


    border-radius:10px;


    text-decoration:none;


    font-weight:bold;


}





/* =========================
   CONTENT
========================= */


.content-area,
.single-content,
.page-content {


    padding:50px 0;


    margin:10px;


}



.content-area .blog-intro {


    text-align:center;


    margin:20px;


    font-weight:bold;


    font-size:25px;


}





/* =========================
   POSTS GRID
========================= */


.posts-grid {


    display:grid;


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


    gap:30px;


}





/* POST CARD */


.post-card {


    border:1px solid #e5e5e5;


    border-radius:8px;


    overflow:hidden;


    background:#721e1e;


}



.post-card h2 {


    font-size:18px;


}



.post-card h2 a {


    color:white;


    text-decoration:none;


    display:block;


    padding:12px;


    min-height:48px;


    text-align:center;


}






/* =========================
   SINGLE POST
========================= */


.single-post {


    font-weight:bold;


}



.single-post h1 {


    margin-bottom:15px;


    font-size:33px;


    background:#721e1e;


    text-align:center;


    border-radius:10px;


    padding:10px;


    color:white;


    border-top:5px solid black;


}





.single-post h2 {


    background:#721e1e;


    text-align:center;


    border-radius:10px;


    width:700px;


    margin:50px auto 7px;


    color:white;


    font-size:25px;


}



.single-post h3 {


    background:#0097b2;


    color:white;


    text-align:center;


    width:500px;


    margin:5px auto 0;


    border-radius:10px;


}


/* Normal article lists */
.entry-content ul {
    list-style: disc;
    padding-left: 20px;
}

.entry-content ol {
    list-style: decimal;
    padding-left: 20px;
}

.entry-content li {
    margin-bottom: 8px;
}


.single-post .airport-related-places ul {


    list-style:none;


    padding:0;


}





/* RELATED AIRPORT LINKS */


.single-post .airport-related-places ul li a {


    display:flex;


    min-height:48px;


    align-items:center;


    justify-content:center;


    text-decoration:none;


    font-weight:bold;


    background:lightblue;


    padding:12px;


    margin:10px auto;


    width:700px;


    text-align:center;


    color:black;


    border-radius:15px;


    box-shadow:1px 3px 1px;


}






.entry-content {


    line-height:1.9;


    font-size:18px;


}



.entry-content p {


    margin-bottom:20px;


}





/* =========================
   PAGE
========================= */


.page-article {


    max-width:900px;


    margin:auto;


}



.page-article h1 {


    margin-bottom:25px;


}

/* =========================
   PAGINATION
========================= */


.pagination {


    margin:40px 0;


    text-align:center;


}



.pagination .nav-links {


    display:flex;


    justify-content:center;


    flex-wrap:wrap;


    gap:10px;


}



.pagination .page-numbers {


    display:inline-flex;


    min-width:48px;


    height:48px;


    align-items:center;


    justify-content:center;


    padding:0 15px;


    border:1px solid #ddd;


    text-decoration:none;


    color:#222;


    border-radius:4px;


    font-weight:bold;


}



.pagination .current {


    background:#222;


    color:#fff;


    border-color:#222;


}



.pagination .current:hover {


    color:black;


}



.pagination .page-numbers:hover {


    background:#f5f5f5;


}



.pagination a.next.page-numbers,
.pagination a.prev.page-numbers {


    border-radius:17px;


    font-weight:bold;


}





/* =========================
   FOOTER
========================= */


.copyright-info,
.travel-info {


    background:lightblue;


    margin:50px auto 20px;


    width:400px;


    text-align:center;


    padding:10px;


    border-radius:12px;


    border-top:5px solid;


}



.site-footer {


    background:#00586B;


    font-weight:bold;


    text-align:center;


    padding:10px 0;


    border-top:5px solid #a7aaad;


    color:white;


}



.pages {


    border-top:2px solid black;


    margin-top:10px;


}



.pages ul {


    list-style:none;


    margin:10px;


}



.pages ul li {


    margin:5px;


}



.pages ul li a {


    display:inline-flex;


    min-height:44px;


    align-items:center;


    padding:8px 12px;


    text-decoration:none;


    color:white;


}





/* =========================
   TABLET
========================= */


@media(max-width:992px){


.posts-grid {


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


}



}




@media(max-width:860px){





}





/* =========================
   MOBILE
========================= */


@media(max-width:768px){



/* HEADER CHANGES */


.site-header .container {


    display:flex;


    flex-direction:column;


    padding:0;


}




/* LOGO + TOGGLE ROW */


.mobile-header {


    display:flex;


    width:100%;


    min-height:70px;


    justify-content:space-between;


    align-items:center;


    padding:0 15px;


}



.logo {


    display:flex;


    align-items:center;
	
	margin-top: 8px;


}




.mobile-toggle {


    display:flex;


}





/* SEARCH BELOW HEADER */


.rt-search{

    grid-area:search;

    width:450px;
    max-width:100%;

    margin:20px auto 15px;

    position:relative;

    right: 0;
}



#rt-search-input {


    width:95%;


    margin:auto;


    display:block;


}






/* MOBILE NAV */


.main-nav {


    order:3;


    width:100%;


    position:relative;


    right:auto;


    top:auto;


    justify-self:auto;


    max-height:0;


    overflow:hidden;


    transition:max-height .35s ease;


}



.main-nav.active {


    max-height:300px;


}



.nav-menu {


    display:flex;


    flex-direction:column;


    gap:0;


    margin:0;


}



.nav-menu li {


    width:100%;


}



.nav-menu a {


    display:flex;


    min-height:48px;


    padding:14px 20px;


    align-items:center;


    justify-content:center;


    text-align:center;


}







/* POSTS */


.posts-grid {


    grid-template-columns:1fr;


}






/* SINGLE POST */


.single-post h1 {


    font-size:32px;


}



.entry-content {


    font-size:17px;


}



.single-post h2,
.single-post h3 {


    width:95%;


}



.single-post .airport-related-places ul li a {


    width:90%;


}



iframe {


    width:95%;


}





.copyright-info,
.travel-info {


    width:95%;


}



}








/* =========================
   SMALL MOBILE
========================= */


@media(max-width:500px){




.copyright-info {


    width:95%;


    margin:40px auto;


}



}