* {
    box-sizing: border-box;
    margin: 0px;
    padding: 0px;
    font-family: 'Merriweather Sans', sans-serif;
}
:root {
      --basic_vertical_space: 1rem;
}
/* __________________NAVBAR_______________________ */
#navbar {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 74px;
    padding: 0 3%;
    background-color: #172F48;
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: space-between;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.16);
}

.nav_brand {
    display: flex;
    align-items: center;
    gap: 12px;
    text-decoration: none;
    color: white;
}

.nav_brand img {
    width: 44px;
    height: 44px;
    object-fit: contain;
}

.nav_brand span {
    display: flex;
    flex-direction: column;
    line-height: 1.1;
}

.nav_brand strong {
    font-size: 1rem;
    font-weight: 800;
}

.nav_brand small {
    font-size: 0.8rem;
    color: #cfdce8;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.nav_links {
    display: flex;
    align-items: center;
    gap: 28px;
}

.nav_links a {
    color: white;
    text-decoration: none;
    font-size: 0.95rem;
    font-weight: 600;
    transition: color 0.2s ease;
}

.nav_links a:hover {
    color: #f60837;
}
/* __________________HEADER_______________________ */
#hero {
    width: 100%;
    position: relative;
    min-height: 90vh;
    height: 90vh;
    
    margin-top: 74px; 
    overflow: hidden;
    display: flex;
    align-items: center;
}
#hero_content {
    position: relative;
    z-index: 2;
    width: min(60%, 700px);
    padding-left: 34px;
    padding-top: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
#hero_tagline {
    font-size: clamp(0.5rem, 1.2vw, 1.2rem);
    font-weight: 800;
    color: #AD080C;
    text-align: left;
    margin-top: 0;
    margin-bottom: var(--basic_vertical_space);
    margin-left: 0;
    margin-right: 0;
}
#hero_title {
    font-family: 'Playfair Display', serif;
    font-size: clamp(1.5rem, 4.5vw, 3.75rem);
    line-height: 1.3;
    font-weight: 800;
    color: #003852;
    text-align: left;
    margin-top: 0;
    margin-bottom: var(--basic_vertical_space);
    margin-left: 0;
    margin-right: 0;
}
#hero_divider {
    width: 50px;
    height: 6px;
    margin-top: 2.5vh;
    background-color: #AD080C;
    margin-top: 0px;
    margin-bottom: var(--basic_vertical_space);
    margin-left: 0px;
    margin-right: 0px;
}
#hero_description {
    font-size: clamp(0.9rem, 1.5vw, 1.2rem);
    font-weight: 400;
    color: black;
    text-align: left;
    margin-top: 2.5vh;
    margin-bottom: 0px;
    margin-left: 0px;
    margin-right: 0px;
    padding: 0px 0px 0px 0px;
    max-width: 500px;
}
#hero_buttons {
    font-size: clamp(0.9rem, 1.5vw, 1.2rem);
    display: flex;
    gap: 25px;
    margin-top: 2.5vh;
    margin-bottom: 0px;
    margin-left: 0px;
    margin-right: 0px;
    padding: 0px 0px 0px 0px;
    max-width: 500px
}
#btn_hero_consult,
#btn_hero_service {
    text-decoration: none;
}
#btn_hero_consult{
    color: white;
    flex: 1.2;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 52px;
    background-color: #AD080C;
    border-radius: 5px;
}
#btn_hero_service{
    color: #003852;
    flex: 0.8;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 52px;
    background-color: white;
    border: 3px solid #003852;
    border-radius: 5px;
}

#hero_firm_features {
    display: flex;
    gap: clamp(12px, 2vw, 28px);
    margin-top: 5vh;
    max-width: 700px
}

.feature_item {
    display: flex;
    flex: 1;
    align-items: center;
    font-size: clamp(0.9rem, 1.5vw, 1.1rem);
}
.feature_item img {
    width: clamp(2.5rem, 4vw, 4rem);
    margin-right: 10px;
}

#hero_image {
    position: absolute;
    top: 0;
    right: 0;
    width: 55%;
    height: 100%;
    z-index: 1;
}

#hero_image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: left center;
}
/* __________________ABOUT US_______________________ */
#about_us {
    background-color: #031D37;
    position: relative;
    padding-left: 50px;
}
#about_us_base {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 5vw;
}
#about_us_content{
    padding-top: 3rem;
}
#about_us_tagline{
    font-size: clamp(0.5rem, 1.2vw, 1.2rem);
    font-weight: 800;
    color: #F60837;
    text-align: left;
    margin-top: 0;
    margin-bottom: var(--basic_vertical_space);
    margin-left: 0;
    margin-right: 0;
}
#about_us_title{
    font-family: 'Playfair Display', serif;
    font-size: clamp(1.5rem, 4.5vw,  2.5rem);
    line-height: 1.3;
    font-weight: 800;
    color: white;
    text-align: left;
    margin-top: 0;
    margin-bottom: var(--basic_vertical_space);
    margin-left: 0;
    margin-right: 0;
}
#about_us_divider{
    width: 50px;
    height: 6px;
    margin-top: 2.5vh;
    background-color: #F60837;
    margin-top: 0px;
    margin-bottom: var(--basic_vertical_space);
    margin-left: 0px;
    margin-right: 0px;
}
#about_us_text{
    font-size: clamp(1rem, 1.5vw, 1.25rem);
    color: white;
    text-align: left;
    margin-top: 0;
    margin-bottom: var(--basic_vertical_space);
    margin-left: 0;
    margin-right: 0;
}
#about_us_image{
    display: flex;
    justify-content: right;
}
#about_us_floater{
    position:absolute;
    bottom:1.8vw;
    width: 72%;
    height:13.5%;
    border-radius: 8px;
    border: 2px solid #213A54;
    background-color: rgba(12, 40, 68, 0.60);
    display: grid;
    grid-template-columns: 1fr 20px 1fr;
    color:white;
}

@media (max-width: 1150px) {
    #about_us_floater {
        bottom:1vw;
    }
    #about_us_image{
        margin-bottom: calc(var(--basic_vertical_space) + 4vw);
    }
}
#floater_left_part{
    display: flex;
    align-items: center;
    margin:auto;
    margin-left: 4%;
}
#floater_icon{
    margin-right: 3%;
    
} 
#floater_title{
    font-size: clamp(0.9rem, 1.5vw, 1.1rem);
    font-weight: 400;
    margin-bottom: 2%;
}
#floater_separator{
    width: 10%;
    height: 66%;
    background-color: #314961;
    margin-top: auto;
    margin-bottom: auto;
}
#floater_text_left, #floater_right_part{
    font-size: clamp(0.625rem, 1vw, 0.75rem);
    font-weight: 400;
}
#floater_right_part{
    margin:auto;
}
#top_info_bar_services{
    width: 90%;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 5vw;
    margin-top: 3rem;
    margin-left: auto; 
    margin-right: auto;
    margin-bottom: 44px;
}
#services_tagline{
    font-size: clamp(0.5rem, 1.2vw, 1.2rem);
    font-weight: 800;
    color: #AD080C;
    text-align: left;
    margin-top: 0;
    margin-bottom: var(--basic_vertical_space);
    margin-left: 0;
    margin-right: 0;
}
#services_title{
    font-family: 'Playfair Display', serif;
    font-size: clamp(1.5rem, 4.5vw,  2.5rem);
    line-height: 1.3;
    font-weight: 800;
    color: #003852;
    text-align: left;
    margin-top: 0;
    margin-bottom: var(--basic_vertical_space);
    margin-left: 0;
    margin-right: 0;
}
#top_info_bar_services_divider{
    width: 50px;
    height: 6px;
    margin-top: 2.5vh;
    background-color: #AD080C;
    margin-top: 0px;
    margin-bottom: var(--basic_vertical_space);
    margin-left: 0px;
    margin-right: 0px;
}
#right_part_services{
    display: flex;
    align-items: center;
    justify-content: center;
}

#services_text{
    font-size: clamp(0.9rem, 1.5vw, 1.1rem);
    color: black;
    text-align: left;
    font-weight: 400;
    margin-top: auto;
    margin-bottom: auto;
}

 /* Outer container */
 #card_grid{
    width: 95%;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    row-gap: 50px;
    margin-left: auto; 
    margin-right: auto;
 }

.card {
    position: relative;
    width: 90%;
    margin: auto;
    aspect-ratio: 3 / 4;
    perspective: 1000px;
}

/* Rotating element */
.card_inner {
    position: relative;
    width: 100%;
    height: 100%;

    transition: transform 0.6s;
    transform-style: preserve-3d;
}

/* Rotate on hover */
.card:hover .card_inner {
    transform: rotateY(180deg);
}

/* Front & Back */
.card_front,
.card_back {
    position: absolute;
    width: 100%;
    height: 100%;

    border-radius: 10px;
    overflow: hidden;

    backface-visibility: hidden;
}

/* ---------- FRONT ---------- */

.card_front img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: 50% 50%;

}

.card_title {
    position: absolute;
    bottom: 12.5%;
    transform: translateY(+50%);

    left: 0;
    right: 0;

    text-align: center;

    color: white;
    font-size: clamp(0.8rem, 1.4vw, 1rem);
    font-weight: bold;
}

/* ---------- BACK ---------- */

.card_back {
    background: #003852;
    color: white;

    transform: rotateY(180deg);

    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;

    text-align: center;
    padding: 25px;
}

.card_back h3 {
    margin-bottom: 15px;
}

.card_back p {
    margin-bottom: 20px;
    line-height: 1.5;
}

#explore_options{
    width: 90%;
    margin-top: 3rem;
    margin-left: auto; 
    margin-right: auto;
    margin-bottom: 44px;
    display: grid;
    grid-template-columns: 1.5fr 20px 2fr;
    column-gap: 1vw;
    background-color: white;
    border-radius: 20px;
    box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
    border: 2px solid #ECECEC; 
    padding-right: 37px;
    padding-left: 37px;
    padding-top: 25px;
    padding-bottom: 25px;
    align-items: center;
}

#options_left_content{
    display: flex;
    flex-direction: column;
}

#options_header{
    flex: 5;
    position: relative;
} 

#options_text{
    flex: 3;
    width: 75%;
    font-size: clamp(0.8rem, 1.4vw, 1rem);
}

#options_tagline{
    font-size: clamp(0.5rem, 1.2vw, 1.2rem);
    font-weight: 800;
    color: #F60837;
    text-align: left;
    margin-top: 0;
    margin-bottom: calc(var(--basic_vertical_space) + 3px);
    margin-left: 0;
    margin-right: 0;
}

#options_header h1{
    font-family: 'Playfair Display', serif;
    font-size: clamp(1.5rem, 4.5vw,  2.5rem);
    line-height: 1.3;
    font-weight: 800;
    color: black;
    text-align: left;
    margin-top: 0;
    margin-bottom: calc(var(--basic_vertical_space) + 8px);
    margin-left: 0;
    margin-right: 0;
}

#options_header_divider{
    width: 50px;
    height: 6px;
    margin-top: 2.5vh;
    background-color: #F60837;
    margin-top: 0px;
    margin-bottom: var(--basic_vertical_space);
    margin-left: 0px;
    margin-right: 0px;
}

#options_header img{
    position: absolute;
    top: -8%;
    right: 10%;
    width: 51%;
    /* border: 2px solid red; */
    
}

#options_divider{
    width: 12.5%;
    height: 80%;
    background-color: #F60837;
    margin-bottom: var(--basic_vertical_space);
    justify-self: center;
    
}

#options_right_content{
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 1%;
    row-gap: 4rem;
    /* align-self: center; */
}

.option_item{
    display: grid;
    grid-template-columns: 80px 1fr;
    width: 90%
}

/* ---------- PROCESS ---------- */

#process{
    width:90%;
    margin:3rem auto 44px;
    padding:25px 37px;
    background:#EEF6FF;
    border-radius:20px;
}

#process h2{
    font-family:'Playfair Display', serif;
    font-size:clamp(1.5rem,4.5vw,2.5rem);
    font-weight:800;
    text-align:center;
    margin-bottom:0.5rem;
}

#process_divider{
    width:65px;
    height:6px;
    background:#F60837;
    margin:0 auto 2.5rem;
}

/* ---------- GRID ---------- */

#steps_map{
    display:grid;

    grid-template-columns:
        1fr
        auto
        1fr
        auto
        1fr
        auto
        1fr;

    align-items:start;
    column-gap:1rem;
}

/* ---------- STEP ---------- */

.step{
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
}

.step img{
    width:90px;
    margin-bottom:1rem;
}

.step h3{
    font-size:1.4rem;
    margin-bottom:0.5rem;
    font-weight:700;
}

.step p{
    font-size:1rem;
    line-height:1.5;
    max-width:180px;
}

/* ---------- ARROWS ---------- */

.arrow{
    display:flex;
    justify-content:center;

    /* aligns the arrow with the icon instead of the text */
    padding-top:35px;
}

.arrow img{
    width:90px;
}








#canada_immigration{
    position: relative;
    width:100%;
    display:grid;
    grid-template-columns:3fr 2fr;
    gap:4rem;
    align-items: start;

    background-color: #031D37;
}
#immigration_left{
    padding-top: 4rem;
    padding-left: 50px;
    padding-bottom: 4rem;

}
#immigration_right{
    position: relative;
    padding-top: 3rem;
    align-self: start;
    display: flex;
    justify-content: flex-end;
    min-height: 420px;
}
#immigration_right img{
    display: block;
    width: min(78.5%, 520px);
    height: auto;
    margin-right: 50px;
    object-fit: cover;
}
#immigration_tagline{
    font-size: clamp(0.5rem, 1.2vw, 1.2rem);
    font-weight: 800;
    color: #F60837;
    text-align: left;
    margin-top: 0;
    margin-bottom: var(--basic_vertical_space);
    margin-left: 0;
    margin-right: 0;
}
#immigration_left h2{
    font-family: 'Playfair Display', serif;
    font-size: clamp(1.5rem, 4.5vw,  2.5rem);
    line-height: 1.3;
    font-weight: 800;
    color: white;
    text-align: left;
    margin-top: 0;
    margin-bottom: var(--basic_vertical_space);
    margin-left: 0;
    margin-right: 0;
}
#immigration_divider{
    width: 50px;
    height: 6px;
    margin-top: 2.5vh;
    background-color: #F60837;
    margin-top: 0px;
    margin-bottom: var(--basic_vertical_space);
    margin-left: 0px;
    margin-right: 0px;
}
#immigration_description{
    font-size: clamp(1rem, 1.5vw, 1.25rem);
    color: white;
    text-align: left;
    margin-top: 0;
    margin-bottom: calc(var(--basic_vertical_space) + 15px);
    margin-left: 0;
    margin-right: 0;
    width: 60%
}
.accordion{

    margin-bottom:7px;
}

.accordion_btn{

    width:100%;

    display:flex;
    justify-content:space-between;
    align-items:center;

    padding:18px 24px;

    background:none;

    border:3px solid #1A2F47;

    border-radius:8px;

    color:white;

    cursor:pointer;

    font-size:18px;
}
.accordion_btn span{
    color: #FB2F38;
}

.accordion_content{

    display:none;
    font-size: clamp(0.875rem, 1.2vw, 1rem);
    color: white;
    font-weight: 400;

    padding:20px;

    border-left:2px solid #23435C;
    border-right:2px solid #23435C;
    border-bottom:2px solid #23435C;

    border-radius:0 0 8px 8px;
}
#immigration_right{

    position:relative;
}



.quote_card{
    font-size: clamp(0.875rem, 1.2vw, 1rem);
    color: white;
    font-weight: 700;
    position: absolute;
    bottom: 2vw;
    right: 11vw;
    width: min(58%, 320px);
    max-width: 320px;
    padding: clamp(20px, 2.5vw, 35px);
    z-index: 2;
}

.quote_card h1{
    font-size: clamp(2rem, 4vw, 3.75rem);
}



#booking{
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    background-color: #031D37;
    padding-top: 3rem;
}
#booking_content{
    padding-left: 50px;
    width: 75%;
    align-self: center;
}
#booking_content h2{
    font-family: 'Playfair Display', serif;
    font-size: clamp(1.5rem, 4.5vw,  2.5rem);
    line-height: 1.3;
    font-weight: 800;
    color: white;
    text-align: left;
    margin-top: 0;
    margin-bottom: var(--basic_vertical_space);
    margin-left: 0;
    margin-right: 0;
}
#booking_divider{
    width: 50px;
    height: 6px;
    margin-top: 2.5vh;
    background-color: #F60837;
    margin-top: 0px;
    margin-bottom: var(--basic_vertical_space);
    margin-left: 0px;
    margin-right: 0px;
}
#booking_content p{
    font-size: clamp(1rem, 1.5vw, 1.25rem);
    color: white;
    text-align: left;
    margin-top: 0;
    margin-bottom: calc(var(--basic_vertical_space) + 15px);
    margin-left: 0;
    margin-right: 0;
}
#btn_booking{
    text-decoration: none;
    font-size: clamp(0.9rem, 1.5vw, 1.2rem);
    font-weight: 800;
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 52px;
    background-color: #BB1B25;
    border-radius: 5px;
    cursor: pointer;
}
#booking_image{
    display: flex;
    justify-content: right;
    align-items: center;
    align-self: center;
    height: 100%;
}
#booking_image img{
    width: 90%
}










/* __________________ADDITIONAL RESOURCES_______________________ */

#resources{
    position: relative;
    overflow: hidden;

    padding-top: 4.5rem;
    padding-bottom: 5rem;

    text-align: center;
    background-color: white;
}

/* #resources_leaf{
    position:absolute;
    right:-1.5%;
    top:8%;
    width:24%;
    opacity:0.08;
    pointer-events:none;
} */

#resources_tagline{
    font-size: clamp(0.5rem, 1.2vw, 1.2rem);
    font-weight:800;
    color:#AD080C;
    margin-bottom:var(--basic_vertical_space);
}

#resources_title{
    font-family:'Playfair Display', serif;
    font-size:clamp(1.8rem,4.5vw,3.75rem);
    line-height:1.25;
    font-weight:800;
    color:#003852;
}

#resources_divider{
    width:55px;
    height:6px;
    background:#AD080C;
    margin:1.4rem auto 2rem;
}

#resources_description{
    width:min(650px,90%);
    margin:0 auto;
    font-size:clamp(.95rem,1.35vw,1.2rem);
    line-height:1.55;
}

#resources_cards{

    width:91%;
    margin:4rem auto 0;

    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:34px;
}

.resource_card{

    position:relative;

    background:white;

    border-radius:14px;

    overflow:hidden;

    border:2px solid #ECECEC;

    box-shadow:0 5px 12px rgba(0,0,0,.12);

    transition:.25s;
}

.resource_card:hover{
    transform:translateY(-6px);
}

.resource_image{

    height:235px;
    overflow:hidden;
}

.resource_image img{

    width:100%;
    height:100%;
    object-fit:cover;
}

.resource_icon{

    position:absolute;

    top:235px;
    left:50%;

    transform:translate(-50%,-50%);

    width:74px;
    height:74px;

    border-radius:50%;

    background:#031D37;

    display:flex;
    align-items:center;
    justify-content:center;

    box-shadow:0 8px 18px rgba(0,0,0,.18);
}

.resource_icon img{

    width:38px;
    height:38px;
}

.resource_content{

    padding:58px 36px 32px;
}

.resource_content h3{

    font-size:clamp(1.15rem,1.5vw,1.8rem);
    font-weight:800;
    color:#102D4B;

    min-height:74px;
}

.resource_small_divider{

    width:46px;
    height:4px;

    background:#AD080C;

    margin:1rem auto 1.7rem;
}

.resource_content p{

    font-size:clamp(.92rem,1.1vw,1.05rem);
    line-height:1.55;

    color:#303030;

    min-height:118px;
}

.resource_content a{

    display:inline-block;

    margin-top:1rem;

    font-size:clamp(.95rem,1.1vw,1.05rem);

    font-weight:800;

    color:#C41525;

    text-decoration:none;
}

.resource_content a:hover{

    text-decoration:underline;
}




/* Hide message by default */
#unsupported-screen {
    display: none;
}
#note{
    color:red;
}


/* Unsupported devices:
   - phones
   - tablets
   - very short screens
   - extremely small browser windows
*/
@media (max-width: 1100px),
       (max-height: 600px) {

    body > *:not(#unsupported-screen) {
        display: none !important;
    }

    #unsupported-screen {
        display: flex;
        position: fixed;
        inset: 0;
        justify-content: center;
        align-items: center;
        background: white;
        z-index: 999999;
        text-align: center;
        padding: 2rem;
    }
}






#contact{
    position:relative;
    overflow:hidden;
    background:white;
    padding-top:4rem;
}

#contact_world{
    position:absolute;
    left:0;
    top:0;
    width:40%;
    opacity:.12;
    pointer-events:none;
}

#contact_leaf{
    position:absolute;
    right:-2%;
    top:2%;
    width:21%;
    opacity:.06;
    pointer-events:none;
}

#contact_top{
    width:100%;
    margin:0;
    padding:0 0 0 3%;

    display:grid;
    grid-template-columns:1fr 420px minmax(0, 1fr);
    column-gap:3rem;

    align-items:center;

    position:relative;
}

/* ---------- LEFT ---------- */

#contact_information{
    z-index:2;
}

#contact_tagline{
    font-size:clamp(.5rem,1.2vw,1.2rem);
    font-weight:800;
    color:#AD080C;
    margin-bottom:var(--basic_vertical_space);
}

#contact_title{
    font-family:'Playfair Display',serif;
    font-size:clamp(2.2rem,4vw,3.8rem);
    color:#003852;
    margin-bottom:var(--basic_vertical_space);
}

#contact_divider{
    width:52px;
    height:6px;
    background:#AD080C;
    margin-bottom:2rem;
}

#contact_heading{
    font-size:1.5rem;
    font-weight:800;
    margin-bottom:1rem;
}

#contact_description{
    width:75%;
    font-size:clamp(.95rem,1.25vw,1.1rem);
    line-height:1.6;
    margin-bottom:3rem;
}

.contact_item{
    display:flex;
    align-items:center;
    margin-bottom:2.3rem;
}

.contact_icon{
    width:56px;
    height:56px;

    border-radius:50%;

    background:white;

    display:flex;
    align-items:center;
    justify-content:center;

    box-shadow:0 5px 10px rgba(0,0,0,.22);

    flex-shrink:0;
}

.contact_icon img{
    width:28px;
}

.contact_text{
    margin-left:22px;
}

.contact_text h3{
    font-size:1.25rem;
    margin-bottom:.4rem;
    color:#111;
}

.contact_text p{
    font-size:1rem;
    line-height:1.45;
}

/* ---------- FORM ---------- */

#contact_form_container{
    z-index:5;
}

#contact_form{

    background:white;

    border:1px solid #E6E6E6;

    border-radius:10px;

    box-shadow:0 5px 14px rgba(0,0,0,.15);

    padding:2.5rem;
}

.form_row{

    display:grid;
    grid-template-columns:26px 1fr;

    column-gap:18px;

    align-items:center;

    border-bottom:2px solid #D8D8D8;

    padding:1rem 0;

    margin-bottom:1rem;
}

.form_row img{
    width:22px;
}

.form_row input,
.form_row textarea{

    border:none;
    outline:none;
    background:transparent;

    font-size:1.05rem;
    font-weight:700;

    color:#555;
}

.message_row{
    align-items:start;
}

.message_row textarea{

    resize:none;
    height:95px;

    font-family:'Merriweather Sans',sans-serif;
}

#contact_submit{

    width:100%;
    height:58px;

    border:none;

    border-radius:6px;

    background:#031D37;

    color:white;

    font-size:1.45rem;
    font-weight:700;

    cursor:pointer;

    margin-top:.5rem;

    transition:.25s;
}

#contact_submit:hover{

    background:#0A355F;
}
#form-status {
    margin-top: 20px;
    text-align: center;
    font-weight: 600;
    min-height: 24px;
}

/* ---------- CITY ---------- */

#contact_city{
    position:absolute;
    right:0;
    bottom:0;
    align-self:end;
    display:flex;
    justify-content:flex-end;
    width:min(32vw, 420px);
    z-index:0;
}

#contact_city img{
    width: 150%;
    display:block;
    object-fit:contain;
    margin-left:auto;
}

/* ---------- BOTTOM ---------- */

#contact_bottom{

    margin-top:2rem;

    border-top:2px solid #D9D9D9;

    display:grid;
    grid-template-columns:1fr 2px 1fr 1.25fr;

    align-items:center;

    padding:1.5rem 3%;
}

.contact_bottom_item{

    display:flex;
    align-items:flex-start;
}

.contact_bottom_item img{

    width:46px;

    margin-right:24px;

    flex-shrink:0;
}

.contact_bottom_item h3{

    font-size:1.35rem;

    margin-bottom:.6rem;
}

.contact_bottom_item p{

    font-size:1rem;

    line-height:1.45;
}


/* ---------- FUTURE CARD ---------- */

#contact_future{

    justify-self:end;

    width:88%;

    background:white;

    border:1px solid #DDDDDD;

    border-radius:10px;

    box-shadow:0 4px 10px rgba(0,0,0,.14);

    display:flex;
    justify-content:space-between;
    align-items:flex-start;

    padding:1.6rem 2rem;
}

#contact_future h3{

    font-size:1.5rem;

    margin-bottom:.9rem;
}

#contact_future p{

    width:90%;

    line-height:1.5;
}

#future_divider{

    width:50px;
    height:4px;

    background:black;

    margin-top:1.5rem;
}

#contact_future img{

    width:64px;

    margin-left:2rem;
}

/* ---------- RESPONSIVE ---------- */

/* @media(max-width:1200px){

    #contact_top{

        grid-template-columns:1fr;
        row-gap:3rem;
    }

    #contact_city{

        justify-content:center;
    }

    #contact_city img{

        width:70%;
    }

    #contact_bottom{

        grid-template-columns:1fr;
        row-gap:2rem;
    }

    .contact_separator{

        display:none;
    }

    #contact_future{

        width:100%;
        justify-self:stretch;
    }
}

@media(max-width:700px){

    #contact{

        padding-top:3rem;
    }

    #contact_world,
    #contact_leaf{

        display:none;
    }

    #contact_form{

        padding:1.5rem;
    }

    #contact_city img{

        width:100%;
    }

    #contact_description{

        width:100%;
    }
} */

