@media screen and (min-width: 1500px) {
    
    .page-contact .contact {
        padding-top: 250px;
    }

}

@media screen and (min-width: 1700px) {
    
    .page-contact .contact {
        padding-top: 300px;
    }

}

@media screen and (max-width: 1200px) {

    header > *,
    section > *,
    footer > * {
        padding-left: 10px;
        padding-right: 10px;
    }

    nav {
        padding: 10px 10px 0 0px;
        grid-template-columns: repeat(2, 1fr);
    }

    .nav-mobile {
        display: block;
        text-align: right;
    }

    .nav-right {
        display: none;
        grid-column: 1 / 3;
        grid-row: 2;
    }

    .nav-right ul {
        position: relative;
        background-color: var(--white);
        padding: 0;
        margin: 0;
        margin-top: 10px;
        left: 0;
        right: 0;
    }

    .nav-right ul li {
        display: block;
        padding: 10px 5px;
        text-align: center;
        border-top: 1px solid var(--lightblue);
    }

    .nav-right ul li.btn a {
        color: var(--darkblue);
        background: none;
        border-radius: 0;
        font-family: var(--font);
        padding: 0;
        text-shadow: none;
        box-shadow: none;
    }

    .page-home header .slider {
        width: calc(100% - 130px);
    }

}

@media screen and (max-width : 1050px) {

    .page-contact .contact {
        padding-top: 200px;
    }

}

@media screen and (max-width : 950px) {

    .page-contact .contact {
        padding-top: 160px;
    }

}

@media screen and (max-width : 850px) {

    .hide-desktop {
        display: initial;
    }
    
    .hide-mobile {
        display: none;
    }

    .nav-left {
        grid-template-columns: 120px auto;
    }

    .page-home header .title:after {
        position: initial;
        margin: auto;
        display: block;
    }

    .page-home .intro .columns {
        display: block;
    }

    .page-home .intro-right h3 {
        font-size: 30px;
    }

    .page-home .intro-left {
        padding: 70px 0 50px 0;
    }

    .page-home .intro-left h2,
    .page-home .intro-left p {
        max-width: initial;
        text-align: center;
    }

    .page-home .intro-left button {
        display: none;
    }

    .page-home .advertising .cards {
        display: block;
    }

    .page-home .advertising .cards > div {
        margin-bottom: 30px;
    }

    .page-home .advertising .cards > div > div {
        display: flex;
        align-items: center;
    }

    .page-home .advertising .cards > div > div img {
        order: 2;
    }

    .page-home .advertising .cards > div > div p {
        text-align: left;
        padding-right: 40px;
    }

    .page-home .advertising .cta form {
        display: block;
    }

    .page-home .advertising .cta form button {
        padding: 8px 40px;
    }

    .page-home .advertising .cta a {
        display: block;
        margin-left: 0;
        margin-top: 20px;
    }

    .page-home .media-agencies .cta button {
        padding: 8px 40px;
    }

    .page-home .media-agencies .cards {
        display: block;
        padding-left: 15px;
        padding-right: 15px;
    }

    .page-home .media-agencies .cards > div {
        margin-bottom: 30px;
        display: flex;
        padding: 15px 30px;
        align-items: center;
    }

    .page-home .media-agencies .cards p {
        order: 2;
        padding-left: 20px;
        text-align: left;
    }

    .page-home .map {
        background-position: top;
    }

    .page-home .map .columns {
        display: block;
        padding-left: 0;
        padding-right: 0;
        margin: 0 10px;
    }

    .page-home .map .columns .left {
        padding: 0;
    }

    .page-home .map .columns .left h2 {
        max-width: initial;
        text-align: center;
    }

    .page-home .map .columns .right {
        padding: 0;
        max-width: initial;
        text-align: center;
    }

    .page-home .map .partners-list h3 {
        margin-top: 50px;
    }

    .page-home .map .partners-list .logos {
        grid-template-columns: repeat(2, 1fr);
    }

    .page-home .map .partners-list .logos figure {
        margin: 0;
    }

    .page-home .map .cta form {
        display: block;
    }

    .page-home .map .cta a {
        display: block;
        margin-left: 0;
        margin-top: 30px;
    }

    .page-home .contact {
        padding-bottom: 200px;
    }

    .page-home .contact .columns {
        display: block;
    }

    .page-home .contact .columns .left {
        margin-right: 0;
        margin-bottom: 50px;
    }

    .page-home .contact .columns .left h2 {
        max-width: initial;
        text-align: center;
    }

    .page-home .contact .columns .left p {
        max-width: initial;
        text-align: center;
    }

    .page-home .contact .columns .right {
        margin-left: 0;
    }

    .page-home .contact .columns .right > div {
        padding: 40px 20px;
    }

    .page-home .contact .columns .right .contact-columns {
        display: block;
    }

    .page-home .contact .columns .right .contact-columns .phone {
        margin-bottom: 20px;
    }

    .page-home .contact .columns .right form input.half {
        width: 100%;
    }

    .page-home .contact .columns .right form input.half.odd,
    .page-home .contact .columns .right form input.half.even {
        margin-left: 0;
        margin-right: 0;
    }

    .page-home .contact .columns .right form textarea {
        height: 260px;
    }

    .page-home .contact .columns .right form button {
        max-width: initial;
    }

    .page-contact .contact {
        padding-top: 120px;
    }

    .page-contact .contact .header .overtitle {
        display: none;
    }

    .page-contact .contact .header {
        max-width: 316px;
    }

    .page-contact .contact .header h2 {
        font-size: 36px;
    }

    .page-contact .contact .header p {
        color: #000;
        margin-top: 200px;
    }

    .page-contact .contact .card > div {
        display: block;
        padding: 30px;
    }

    .page-contact .contact .card .left {
        max-width: initial;
    }

    .page-contact .contact .card .left h3,
    .page-contact .contact .card .left p {
        text-align: center;
    }

    .page-contact .contact .card .left .contact-map {
        margin-bottom: 30px;
    }

    .page-contact .contact .card .left .contact-map .left p {
        text-align: left;
    }

    .page-contact .contact form input.half.odd,
    .page-contact .contact form input.half.even {
        margin-left: 0;
        width: 100%;
    }

    .page-contact .map .columns {
        display: block;
    }

    .page-contact .map .columns .left {
        border: none;
        margin-bottom: 50px;
    }

    .page-contact .map .columns .left h2,
    .page-contact .map .columns .right div {
        max-width: initial;
        text-align: center;
    }

    .page-partners .airlines .columns {
        display: block;
    }

    .page-partners .partners .columns {
        display: flex;
        flex-direction: column;
    }

    .page-partners .airlines .columns .right,
    .page-partners .partners .columns .left {
        background: none;
        box-shadow: none;
    }

    .page-partners .partners .columns .right {
        padding-left: 0;
    }

    .page-partners .partners .columns .left {
        order: 2;
        width: 100%;
    }

    .page-partners .airlines .columns .left .overtitle,
    .page-partners .partners .columns .right .overtitle,
    .page-partners .airlines .columns .left h2,
    .page-partners .partners .columns .right h2,
    .page-partners .airlines .columns .left p,
    .page-partners .partners .columns .right p {
        max-width: initial;
        text-align: center;
        margin-bottom: 50px;
    }

    .page-partners .airlines .columns .left a,
    .page-partners .partners .columns .right a {
        max-width: initial;
        margin: auto;
        margin-bottom: 80px;
        display: table;
    }

    .page-partners .airlines .columns .right > div,
    .page-partners .partners .columns .left > div {
        gap: 30px;
        background: none;
        box-shadow: none;
        border: none;
    }

    .page-partners .content-partners .columns {
        display: block;
    }

    .page-partners .content-partners .columns .left .overtitle,
    .page-partners .content-partners .columns .left h2,
    .page-partners .content-partners .columns .left p {
        max-width: initial;
        text-align: center;
        margin-bottom: 50px;
    }

    .page-partners .content-partners .columns .left a {
        margin: auto;
        margin-bottom: 80px;
        display: table;
    }

    .page-partners .content-partners .columns .right {
        width: max-content;
    }
    
    .page-partners header {
        background-image: url('../img/photos/airplane-interior-mobile.jpg');
    }

    .page-advertising header {
        background-image: url('../img/photos/passenger-using-entertainment-screen-mobile.jpg');
    }

    .page-solution header {
        background-image: url('../img/photos/passenger-with-phone-mobile.jpg');
    }

    .page-partners header,
    .page-advertising header,
    .page-solution header {
        background-repeat: no-repeat;
        background-position: bottom;
        background-size: cover;
    }

    .page-partners header .columns,
    .page-advertising header .columns,
    .page-solution header .columns {
        display: block;
        text-align: center;
    }

    .page-partners header .columns .right,
    .page-advertising header .columns .right,
    .page-solution header .columns .right {
        background: none;
    }

    .page-partners header .columns .left:after,
    .page-advertising header .columns .left:after,
    .page-solution header .columns .left:after {
        width: 0;
        height: 0;
    }

    .page-partners header .columns .left h2,
    .page-advertising header .columns .left h2,
    .page-solution header .columns .left h2 {
        margin: 0 auto 30px auto;
    }

    .page-partners .partnerships .columns,
    .page-advertising .digitalad .columns,
    .page-solution .items .columns {
        column-gap: 30px;
    }

    .page-partners .partnerships .columns figure img,
    .page-advertising .digitalad .columns figure img {
        padding: 10px;
    }

    .page-about .audience .columns,
    .page-about .innovation .columns,
    .page-advertising .audience .columns,
    .page-advertising .targeting .columns,
    .page-advertising .competition .columns {
        display: flex;
        flex-direction: column;
        text-align: center;
    }

    .page-about .innovation .columns .left,
    .page-advertising .targeting .columns .left {
        order: 2;
    }

    .page-about .audience .columns .left a,
    .page-about .innovation .columns .right a,
    .page-advertising .audience .columns .left a,
    .page-advertising .targeting .columns .right a,
    .page-advertising .competition .columns .left a {
        margin-bottom: 20px;
        display: block;
    }

    .page-about .audience .columns .right img,
    .page-about .innovation .columns .left img,
    .page-advertising .audience .columns .right img,
    .page-advertising .targeting .columns .left img,
    .page-advertising .competition .columns .right img {
        max-height: 270px;
        object-fit: cover;
    }

    .page-about .technology .columns,
    .page-advertising .platform .columns {
        display: block;
        padding: 0 20px;
    }

    .page-about .technology .columns div,
    .page-advertising .platform .columns div {
        margin-bottom: 30px;
    }

    .page-about .technology .columns div,
    .page-advertising .platform .columns div {
        padding: 10px 20px;
        display: grid;
        grid-template-columns: 60px auto;
        align-items: center;
        background: linear-gradient(#223F4B, #2C5161);
    }

    .page-about .technology .columns div p,
    .page-advertising .platform .columns p {
        text-align: left;
        margin-left: 20px;
        font-size: 13px;
    }

    .page-advertising .platform .cta form,
    .page-advertising .platform .cta a {
        display: block;
        margin: 0;
    }

    .page-advertising .platform .cta form {
        margin-bottom: 20px;
    }

    .page-about .contact,
    .page-partners .contact,
    .page-advertising .contact,
    .page-solution .contact {
        background-size: 140%;
        background-color: var(--lightblue);
        padding: 120px 0 50px 0;
    }

    .page-about .contact h2,
    .page-partners .contact h2,
    .page-advertising .contact h2,
    .page-solution .contact h2 {
        max-width: 220px;
    }

    .page-about .contact > p,
    .page-partners .contact > p,
    .page-advertising .contact > p,
    .page-solution .contact > p {
        max-width: 310px;
    }

    .page-about .contact .card,
    .page-partners .contact .card,
    .page-advertising .contact .card,
    .page-solution .contact .card {
        margin-left: 10px;
        margin-right: 10px;
        padding: 0;
        max-width: initial;
    }

    .page-about .contact .card > div,
    .page-partners .contact .card > div,
    .page-advertising .contact .card > div,
    .page-solution .contact .card > div {
        padding: 30px 20px;
    }

    .page-about .contact .card .card-columns,
    .page-partners .contact .card .card-columns,
    .page-advertising .contact .card .card-columns,
    .page-solution .contact .card .card-columns {
        display: block;
    }

    .page-about .contact .card .card-columns div:first-of-type,
    .page-partners .contact .card .card-columns div:first-of-type,
    .page-advertising .contact .card .card-columns div:first-of-type,
    .page-solution .contact .card .card-columns div:first-of-type {
        margin-bottom: 10px;
    }

    .page-about .contact .card button,
    .page-partners .contact .card button,
    .page-advertising .contact .card button,
    .page-solution .contact .card button {
        font-weight: 500;
        width: 100%;
    }

    .page-solution .features .columns {
        display: block;
    }

    .page-solution .features .columns .card {
        margin-bottom: 50px;
    }

    .page-solution .features .columns .card div {
        padding: 20px 15px;
        font-size: 13px;
    }

    .page-solution .formats .columns,
    .page-solution .tool .columns {
        display: block;
    }

    .page-solution .formats .columns .left,
    .page-solution .tool .columns .left {
        text-align: center;
    }

    .page-solution .formats .columns .left h2,
    .page-solution .formats .columns .left p,
    .page-solution .tool .columns .left h2,
    .page-solution .tool .columns .left p {
        max-width: initial !important;
    }

    .page-solution .formats .columns .left .text {
        padding-bottom: 50px;
        background-image: none;
    }

    .page-solution .formats .columns .right > div {
        padding: 40px 30px;
    }

    .page-solution .formats .columns:after {
        content: '';
        display: block;
        background-image: url('../img/misc/phone-ads-impression.png');
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center;
        height: 450px;
    }

    .page-solution .tool {
        background-color: #2C5161;
        background-size: contain;
        padding-bottom: 140px;
    }

    .page-solution .tool .columns .left {
        margin-bottom: 40px;
    }

    .page-solution .tool .columns .left h2 {
        margin-bottom: 60px;
    }

    .page-solution .tool .columns .right .card {
        grid-template-columns: 60px auto;
        column-gap: 30px;
        padding: 10px 40px;
    }

    .page-solution .travellers {
        background-position: 0 80px;
    }

    .page-solution .travellers .columns {
        display: block;
    }

    .page-solution .travellers .columns .left h2,
    .page-solution .travellers .columns .left p {
        max-width: initial;
        text-align: center;
        margin-bottom: 50px;
    }

    .page-solution .travellers .columns .right {
        padding: 30px;
    }

    .page-solution .travellers .columns .right div {
        gap: 30px;
    }
















    footer .footer-head {
        display: flex;
        border-bottom: none;
    }

    footer .footer-head div:first-of-type {
        width: 40%;
        order: 2;
    }

    footer .footer-head div:last-of-type {
        text-align: left;
    }

    footer .footer-nav {
        display: block;
    }

    footer .footer-nav > div {
        margin-bottom: 30px;
    }

    footer .footer-copyright .columns {
        display: block;
        text-align: center;
    }

    footer .footer-copyright .columns .right a {
        grid-template-columns: max-content 25px;
        place-content: center;
        margin-top: 10px;
    }

}

@media screen and (max-width: 500px) {

    .page-contact .contact {
        padding-top: 90px;
    }

    .page-contact .contact .header {
        max-width: 220px;
    }

    .page-contact .contact .header h2 {
        font-size: 26px;
    }

}

@media screen and (max-width: 350px) {

    .page-contact .contact {
        padding-top: 70px;
    }

    .page-contact .contact .header {
        max-width: 180px;
    }

    .page-contact .contact .header h2 {
        font-size: 20px;
    }

}