
html {
    height: 100%;
}

body {
    box-sizing: border-box;
    background-color: #fff; /*#1D2022;*/
    font-family: 'Lato', sans-serif;
    font-size: 100%;
    line-height: 1.45;
    color: #484848;
    margin: 0;
    padding: 0;
    overflow: hidden;
}

* {
    box-sizing: border-box;
    /* border: 1px solid red; */
}

main {
    background-color: #fff;
}

main.istv, main.equipe {
    background-color: #f1f1f1;
}

.clipped {
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - 5vw), 0% 100%);
    padding-bottom: 5vw;
}

.topspace {
    margin-top: 4VW;
}

.topline {
    position: absolute; 
    right: 0; 
    top: 0; 
    height: 25px; 
    width: auto; 
    background-color: #5379B4; 
    color: #fff; 
    line-height: 25px; 
    font-size: 14px; 
    padding: 0 10px; 
    text-align: right;
}
    .topline::after {
        content: '';
        position: absolute;
        left: -25px;
        width: 0;
        height: 0;
        border-top: 25px solid #5379B4;
        border-left: 25px solid transparent;
    }

#topband {
    width: 100%; 
    height: 90px; 
    background-color: #fff; 
    padding: 10px; 
    position: fixed; 
    z-index: 8000; 
    top: 0;
    border-bottom: 1px solid #dbdbdb;
}
.vegas-slide-inner {
    filter: brightness(0.7);
}
#mainslider {
    width: 100%;
    height: 90dvh; 
    margin-top: 0; 
    overflow: hidden; 
    z-index: 1;
}

#hero {
    position: absolute; 
    top: 50%; 
    transform: translateY(-50%);
    color: #fff;
    width: calc(100% - 270px);
    z-index: 5;
}
#hero h1 {
    font-family: 'Montserrat', cursive;
    font-size: calc(30px + 5vw);
    color: #5379b4;
    text-shadow:
    -1px -1px 0 #223b61,
    1px -1px 0 #223b61,
    -1px 1px 0 #223b61,
    1px 1px 0 #223b61;
    margin: 0 30px;
    text-transform: uppercase;
    position: relative;
    top: 25%;
    z-index: 2;
    opacity: 0.6;
    width: 95%;
}

#hero h1 ~ span {
    font-size: calc(8px + 1.1vw);
    color: #fff;
    font-family: 'Lato';
    font-weight: bold;
    position: absolute;
    left: 5%;
    top: 50%;
    transform: translateY(-40%);
    letter-spacing: 4px;
    text-transform: none;
    text-shadow: 1px 1px 2px #404040;
    z-index: 11;
}

#hero h1.normal {
    font-size: calc(20px + 4vw);
}

#hero h1.normal ~ span {
    display: block;
    position: static;
    font-size: calc(10px + 1vw);
    margin-left: 35px;
}


#hero > div.boxing {
    position: relative;
/*     top: 50%;
    transform: translateY(-50%); */
}

#hero > div.boxing > div {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    color: #fff;
    width: 100%;
    height: 100%;
}

#hero > div.actionbox {
    text-align: left;
    margin-left: 40px;
} 

nav#topmenucontainer > a {
    float: left;
    padding-top: 10px;
}

nav#topmenucontainer > a > img {
    height: 80px;
    transition: all 0.4s ease;
}

.gradbottom {
    color: #141a30;
    font-size: 22px;
    border-image: linear-gradient(90deg, rgba(45,75,207,1) 34%, rgba(255,36,40,1) 100%);
    border-width: 0 0 3px;
    border-style: solid;
    border-image-slice: 1;
    display: inline-block;
}

p.rich p {
    margin: 0 0 15px;
}

hr.mainsep {
    position: relative;
    overflow: unset;
    border-top: 1px solid #afcfff;
    border-bottom: 1px solid #afcfff;
    height: 5px;
    border-left: none;
    border-right: none;
}

.highlight {
    padding: 20px;
    background: #fff;
    border: 1px solid #dfdfdf;
    border-radius: 7px;
}

hr.mainsep::after {
    content: '';
    position: absolute;
    left: calc(50% - 28px);
    width: 36px;
    height: 36px;
    background: #fff;
    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAMAAADW3miqAAAAkFBMVEUAAAAAS40AS40AS40AS40AS40AS40AS40AS40AS40AS40AS40AS40AS40AS40AS40AS40AS40AS40AS40AS40AS40AS40AS40AS40AS40AS40AS40AS40AS40AS40AS40AS40AS40AS40AS40AS40AS40AS40AS40AS40AS40AS40AS40AS40AS40AS40AS42c0S0LAAAAL3RSTlMAKAgFW9SFwvAa+3QP5tivnZWQOlXNQTX0tWwx9+DIqGPr0X56R9y8USIdFrmLTaqjCJAAAAJBSURBVDjLjVTpmqsgDAUFRMV9qdrWrXZvJ+//dhdwvZ2Z75v8InCSnCwEfYgpbFuY6HcxMIks6vv9NSLY+BmThB4APQB4A7OOYfIDBAc+TfvIB4CXQOjBaIA/IxH/ULX4XDkS1GpyOPLJ/zFdDmVkBU+jByh2490duLv14wLQdxB7uSgAGmVv54YZFuCuvgiX9px+HZMEHK+VFXiW/FXVDnCycFZsPeYS6xEXbK+u8s4DLf7MPpCK0yK3zdFpMDUdq5FutARTfZTqDM+M5ugpRt+vMJpATqJZh1rx4gMMC8sz82CS0FBWs1rU8dy00wEW8RQrMmu8OokRk3LYiEowms60vU9+Hs2l6VZQJMtvTbnaC6G0c29uVZUTyDKRoGPkFC2yO/LOJekAoKlRgWx6AF6y06ZJioBTQEGhjwNPxbCzBkJpvYIqZ06eg5eIUoKEdaub3QaDQpjJ1Dx8oi9LIPOa4qF8ixX0nkFOzQyZxtWUJWAqodupZFMv7RL4pnEsUsW09By+APxKjKgEE67LoibCIqotR1s9ZCAzDvIp5P0C0xw/jlg3mJkapEWdledYni93eWC6wSihWCq3sV/x5IrJc73fI0yTaej0S6ojzKOvPKVujuJgHt+M6BlyAPhcsAQgM28GyfDyEeheUaTgLN0xj5czQntKNl+q32uyXb7O5k5ietfYfk5lcoZM360B3I9vnsXY8GeWurxxRoxvC4My1pizaq8L43P1dO803+3yVK+e35fY1ZLyucT+tA7/AaciScQFyBCvAAAAAElFTkSuQmCC);
    z-index: 11;
    top: -17px;
    padding: 0 10px;
    background-repeat: no-repeat;
    background-position-x: center;
}
hr.mainsep.gray::after {
    background-color: #f9f9f9;
}

h2.secttitle {
    font-family: 'Montserrat', cursive;
    font-size: calc(16px + 1.4vw);
    color: #fff;
    text-shadow:
    -1px -1px 0 #2963BD,
    1px -1px 0 #2963BD,
    -1px 1px 0 #2963BD,
    1px 1px 0 #2963BD;
    text-align: center;
    position: relative;
    border-bottom: 1px dotted #2963BD;
    padding: 5px 0;
}


h2.secttitle > span:first-child {
    width: 40px;
    top: calc(40% - 1px);
    height: 0;
    border-left: 20px solid transparent;
    border-top: 7px solid #ff0000;
    box-sizing: content-box;
    position: absolute;
    transform: translateX(-70px) skewY(5deg);
    margin-top: 4px;
}
h2.secttitle > span:first-child::before {
    content: '';
    width: 60px;
    top: 5px;
    right: 0;
    height: 0;
    border-left: 20px solid transparent;
    border-top: 7px solid #2963BD;
    box-sizing: content-box;
    position: absolute;
    transform: translateY(-24px);
}
h2.secttitle > span:first-child::after {
    content: '';
    width: 20px;
    top: calc(20% + 5px);
    right: 0;
    height: 0;
    border-left: 20px solid transparent;
    border-top: 7px solid #2963BD;
    box-sizing: content-box;
    position: absolute;
}

h2.secttitle > span:last-child {
    width: 40px;
    top: calc(40% - 1px);
    height: 0;
    border-right: 20px solid transparent;
    border-top: 7px solid #ff0000;
    box-sizing: content-box;
    position: absolute;
    transform: translateX(10px) skewY(-5deg);
    margin-top: 4px;
}

h2.secttitle > span:last-child::before {
    content: '';
    width: 60px;
    top: 5px;
    left: 0;
    height: 0;
    border-right: 20px solid transparent;
    border-top: 7px solid #2963BD;
    box-sizing: content-box;
    position: absolute;
    transform: translateY(-24px);
}

h2.secttitle > span:last-child::after {
    content: '';
    width: 20px;
    top: calc(20% + 5px);
    left: 0;
    height: 0;
    border-right: 20px solid transparent;
    border-top: 7px solid #2963BD;
    box-sizing: content-box;
    position: absolute;
}

h3.subtitle {
    color: royalblue; /* #141a30;  */
    font-size: 22px;
    margin: 0;
}

div.spaced_paragraph p {
    margin-bottom: 15px;
}

.trapezoid {
    width: 80px;
    height: 0;
    border-right: 80px solid transparent;
    border-top: 40px solid #2963BD;
    box-sizing: content-box;
  }
  

#dotnav {
    position: absolute;
    bottom: calc(1vw - 50px);
    left: 0;
    right: 0;
    margin: auto;
    z-index: 11;
    width: 100%;
    text-align: center;
}

#dotnav > a {
    display: inline-block;
    width: 16px;
    height: 16px;

    margin: 4px 8px;
    border: 2px solid #f4f4f4;
    border-radius: 50%;
}

#dotnav > a.curr {
    background: rgb(230,23,117);
    background: radial-gradient(circle, rgba(230,23,117,1) 43%, rgba(3,15,24,1) 100%);
}

a.backbtn {
    position: absolute;
    width: 60px;
    height: 60px;
    background-color: royalblue;
    color: #fff;
    top: calc(500px - 2.5vw - 30px);
    z-index: 111;
    left: 0;
    right: 0;
    margin: auto;
    border-radius: 50%;
    border: 5px solid #fff;
    text-align: center;
    font-size: 30px;
    padding-top: 8px;
}

a.backbtn::after {
    content: '⇦'
}

.ql-align-center {
    text-align: center;
}

.ql-align-justify {
    text-align: justify;
}

.ql-align-right {
    text-align: right;
}

/* SPLASH */

section.splash > div {
    display: flex; 
    height: 100vh; 
    justify-content: center; 
    align-items: center;
}
section.splash > div > div {
    width: 354px; 
    height: 450px; 
    position: relative;
    overflow: hidden;
}

section.splash > div > div > img.wing {
    position: absolute; 
    bottom: 26%; 
    right: 27.7%;
}

section.splash > div > div > div {
    z-index: -1;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background-image: url(/img/splash/sky.png);
    background-repeat: repeat;
    background-position: 0 0;
    background-size: auto 100%;
    animation: skyscape 35s linear infinite;
}

@keyframes skyscape {
    from {
        background-position: 0 0;
    }
      to {
        background-position: -10000px 0;
    }
}

/* FIM DO SPLASH */

.skewed {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #2c3e50;
    z-index: 0;
    transform: skewY(4deg);
    transform-origin: top right;
  }
/* BUTTONS */
button,
a.button {
    font-family: 'Lato', sans-serif;
    font-size: 16px;
    color: #fff;
    letter-spacing: 0.1em;
    background: #074180;
    padding: 0 20px;
    cursor: pointer;
    border: 0;
    border-radius: 2px;
    min-width: 60px;
    overflow: hidden;
    position: relative;
    text-transform: uppercase;
    font-weight: bold;
    display: inline-block;
    box-sizing: content-box!important;
    text-align: center;
  }

  button.spaced, a.button.spaced {
      margin: 5px;
  }
  
  button span,
  a.button span {
    display: block;
    position: relative;
    z-index: 10;
    line-height: 40px;
/*     padding-top: 8px; */
  }

button.small,
a.button.small {
    font-size: 14px;
    padding: 0 15px;
    min-width: 90px;
}

button.small span,
a.button.small span {
    line-height: 30px;
}

button.micro,
a.button.micro {
    font-size: 12px;
    padding: 0 12px;
    min-width: 70px;
}

button.micro span,
a.button.micro span {
    line-height: 22px;
}
  
  button:after,
  button:before,
  a.button:after,
  a.button:before {
    padding: 18px 0 11px;
    content: '';
    position: absolute;
    top: 0;
    left: calc(-100% - 30px);
    height: calc(100% - 29px);
    width: calc(100% + 20px);
    color: #fff;
    border-radius: 2px;
    transform: skew(-25deg);
  }
  
  button:after,
  a.button:after {
    background: #fff;
    transition: left 0.8s cubic-bezier(0.86, 0, 0.07, 1) 0.2s;
    z-index: 0;
    opacity: 1;
  }
  
  button:before,
  a.button:before {
    background: #ff0000;
    z-index: 5;
    transition: left 1s cubic-bezier(0.86, 0, 0.07, 1);
  }

  button:hover:after,
  a.button:hover:after {
    left: calc(0% - 10px);
    transition: left 0.8s cubic-bezier(0.86, 0, 0.07, 1);
  }
  
  button:hover:before,
  a.button:hover:before {
    left: calc(0% - 10px);
    transition: left 1s cubic-bezier(0.86, 0, 0.07, 1);
  }


  .pulse-button {
    display: inline-block;
    padding: 8px 16px;
    border-radius: 1px;
    font-size: calc(0.6vw + 8px);
    font-family: 'Trebuchet MS', sans-serif;
    text-transform: uppercase;
    text-align: center;
    letter-spacing: 1px;
    color: white;
    border: none;
    background: crimson;
    cursor: pointer;
    box-shadow: 0 0 0 0 rgba(220, 20, 60, 0.3);
    animation: pulse2 2.5s infinite;
  }
  .pulse-button:hover {
    animation: none;
  }
  
  @keyframes pulse2 {
    0% {
        transform: scale(0.9);
      }
      60% {
        transform: scale(1);
        box-shadow: 0 0 0 20px rgba(220, 20, 60, 0.3);
      }
      100% {
        transform: scale(0.9);
        box-shadow: 0 0 0 0 rgba(220, 20, 60, 0);
      }
  }



  /* FIM DE BUTTONS */

  .card-price {
	display: inline-block;
    width: auto;
	height: 38px;
	background-color: crimson;
	border-radius: 3px 4px 4px 3px;
	border-left: 1px solid crimson;
	margin-left: 19px;
	position: relative;
	color: white;
	font-weight: 300;
	font-size: 22px;
	line-height: 48px;

	padding: 0 10px 0 10px;
}

/* Makes the triangle */
.card-price:before {
	content: "";
	position: absolute;
	display: block;
	left: -19px;
	width: 0;
	height: 0;
	border-top: 19px solid transparent;
	border-bottom: 19px solid transparent;
	border-right: 19px solid crimson;
}

/* Makes the circle */
.card-price:after {
    content: '';
    background-color: white;
    border-radius: 50%;
    width: 6px;
    height: 6px;
    display: block;
    position: absolute;
    left: -6px;
    top: 16px;
}


/* QUEM SOMOS */

.quemsomos > div {
    float: left;
    width: 35%;
    margin: 0 20px 20px 0;
}
.quemsomos > div > img {
    width: 100%; 
    vertical-align: top;
}





/* BEST SELLERS */

.best-sellers > div {
    text-align: center;
    margin-bottom: 30px;
}

.best-sellers > ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: space-between;
    padding: 20px;
    flex-wrap: wrap;
}



.best-sellers > ul > li {
    width: 30%;
    background-color: #efefef;
    position: relative;
    box-shadow: 3px 3px 10px 3px rgba(0,0,0,0.56);
    border-radius: 5px;
    overflow: hidden;
    margin: 1.5%;
    transition: all 0.5s ease-in-out;
    padding-bottom: 50px;
}
.best-sellers > ul > li:hover {
    transform: scale(1.05);
}

.best-sellers > ul > li > img.photo {
    height: 50%; 
    width: 100%; 
    object-fit: cover;
}

.best-sellers > ul > li > h3 {
    margin: 10px 15px 5px; 
    text-transform: uppercase; 
    text-align: center; 
    color: #074180; 
    height: 60px;
}

.best-sellers > ul > li > h3 > div {
    font-size: 16px;
    text-transform: none;
    letter-spacing: 1px;
}

.best-sellers > ul > li > div.textoptions {
    padding: 5px 15px 0;
    text-align: left;
}

/* .best-sellers > ul > li > div.textoptions > p.textctt {
    padding-bottom: 60px;
} */

.best-sellers > ul > li > div:not(.textoptions) {
    height: 40px;
    background-color: #ff0000;
    text-align: center;
    line-height: 40px;
    position: absolute;
    bottom: 0;
    width: 100%;
}

.best-sellers > ul > li > div:not(.textoptions) > a {
    font-family: 'Montserrat', cursive;
    text-transform: uppercase;
    font-size: 20px;
    color: #074180;
    text-shadow: -1px -1px 0 #fff, 1px -1px 0 #fff, -1px 1px 0 #fff, 1px 1px 0 #fff;
    letter-spacing: 1.5px;
    transition: all 0.5s ease-in-out;
}
.best-sellers > ul > li > div:not(.textoptions) > a:hover {
    color: #fff;
    text-shadow: -1px -1px 0 #074180, 1px -1px 0 #074180, -1px 1px 0 #074180, 1px 1px 0 #074180;
}


/* CIDADES (DE ONDE ESTUDAR) */

.details {
    display: block;
}

.details > div:first-child {
    margin-bottom: 60px;
}
    .details > div:first-child div.innerdetails_lft {
        display: flex;
    }
        .details > div:first-child div.innerdetails_lft > div {
            max-width: 20%;
        }


.details > div:last-child {
    width: 100%;
}
    .details > div:last-child div.innerdetails_rgt {
        display: flex; 
        justify-content: left;
    }
    .details > div:last-child div.innerdetails_rgt > div:first-child {
        flex: 0 0 20%;
        padding-right: 30px;
    }

    .details > div:last-child div.innerdetails_rgt ul.cityaccomod {
        display: flex;
        flex-wrap: wrap;
        justify-content: start;
        gap: 2vw;
    }

    .details > div:last-child div.innerdetails_rgt ul.cityaccomod > li {
        width: 30%;
        box-shadow: 5px 5px 10px 3px #808080;
        border: 1px solid #c3c3c3;
        border-right-color: #888;
        border-radius: 6px;
        overflow: hidden;
        margin: 0;
    }

.noschool > div {
    display: flex;
    gap: 3vw;
}

.noschool > div > div:first-child {
    max-width: 280px;
    min-width: 180px;
}

.noschool img {
    width: 100%;
    border: 1px solid #e7dede;
    border-radius: 50%;
}

.noschool h3 {
    text-transform: uppercase;
}

.ondesubtitle {
    color: #fff;
    text-shadow: 1px 1px 3px #202020;
    text-transform: uppercase;
    font-weight: bold;
    margin-top: 10px;
}

ul.specials {
    display: flex;
    flex-wrap: wrap;
    padding: 0;
    margin: 0;
    list-style: none;
}

ul.specials > li {
    width: 30%;
    display: flex;
    margin: 10px;
    padding: 0;
    border: 1px solid #dfdfdf;
    transition: all 0.4s ease;
}
ul.specials > li:hover {
    box-shadow: 4px 4px 10px 1px #909090;
}

ul.specials > li > div.imgorlogo {
    width: 50%;
    border-right: 1px solid #dfdfdf;
    padding: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
}

ul.specials > li > div.imgorlogo > img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

ul.specials > li > div.textctt {
    width: 100%;
}

ul.specials > li > div.textctt > h5 {
    margin: 0 0 10px 0;
    text-transform: uppercase;
    background-color: royalblue;
    color: #fff;
    font-size: 12px;
    padding: 6px 10px 5px;
}

ul.specials > li > div.textctt > div {
    padding: 0 10px 10px;
}

ul.cityaccomod {
    list-style: none;
    padding: 0;
    margin: 0;
}

ul.cityaccomod > li {
    margin-bottom: 25px;
}

ul.cityaccomod > li > div:first-child {
    font-size: 0;
}

ul.cityaccomod > li > div:last-child > div {
    padding: 0 15px 15px;
}

ul.cityaccomod > li img {
    width: 100%;
    aspect-ratio: 3 / 2;
    object-fit: cover;
}

ul.cityaccomod > li h5 {
    margin: 0 0 10px 0;
    text-transform: uppercase;
    background-color: royalblue;
    color: #fff;
    font-size: 12px;
    padding: 6px 10px 5px;
}


/* AFILIAÇÕES */

.afiliacoes {
    margin-bottom: 30px;
}

.afiliacoes > ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
}

.afiliacoes > ul > li {
    position: relative;
    margin: 1.4vw;
}

.afiliacoes > ul > li img {
    max-width: 110px;
    max-height: 95px;
    filter: grayscale(1) brightness(110%);
    transition: all 0.4s ease;
}

/* .afiliacoes > ul > li img:hover {
    filter: grayscale(0);
    transform: scale(1);
} */

.groupsbycountry {

}

.groupsbycountry > div {
    width: 100%;
}

.groupsbycountry > div > div.countryheader {
    clear: both;
}

.groupsbycountry > div > div.countryheader > img {
    height: calc(16px + 1.4vw);
    float: left;
    padding-right: 20px;
}

.groupsbycountry > div > div.countryheader > h2 {
    font-size: calc(14px + 1.1vw);
    float: left;
}

.groupsbycountry > div > div.countrylist {
    display: flex;
    flex-wrap: wrap;
    clear: both;
    margin: 0 5px 70px 5px;
}

.groupsbycountry > div > div.countrylist > a {
    position: relative;
    display: block;
    width: 30%; 
    background-color: #fff; 
    min-height: 170px;
    display: flex;
    margin: 15px;
    box-shadow: 4px 4px 10px 1px #909090;
    border-radius: 6px;
    transition: all 0.4s ease;
    overflow: hidden;
}
    .groupsbycountry > div > div.countrylist > a:hover {
        transform: scale(1.1);
    }
.groupsbycountry > div > div.countrylist > a > div > img {
    width: 130px;
    height: 100%;
    object-fit: cover;
    display: block;
    min-height: 100px;
}
.groupsbycountry > div > div.countrylist  h3 {
    position: absolute;
    margin: 10px 0 0 0;
    background: royalblue;
    color: #fff;
    padding: 8px 10px 0;
    width: 75%;
    right: 0;
    white-space: nowrap;
    font-weight: normal;
    border-top-left-radius: 4px;
    border-bottom-left-radius: 4px;
    box-shadow: -1px 1px 4px 0 #1d1d1d;
}

.groupsbycountry > div > div.countrylist > a  > div > p {
    padding: 55px 10px 5px;
    font-weight: bold;
    font-size: 14px;
    color: royalblue;
    text-transform: uppercase;
}
.groupsbycountry > div > div.countrylist > a  > div > em {
    display: block;
    font-size: 13.5px;
    padding: 0 15px 15px 15px;
    font-style: normal;
}

/* Pagina GRUPO */

.schoolinfo {
    display: flex;
}
    .schoolinfo > div:first-child {
        width: 30%;
    }
        .schoolinfo > div:first-child > img {
            max-width: min(100%, 250px);
        }
    .schoolinfo > div:last-child {
        width: 70%; 
        padding-left: 25px;
        /* text-align: justify; */
        text-align: left;
        padding-right: 10px;
    }
div.slidercontainer {
    width: 100%; 
    height: 100%; 
    max-width: 720px; 
    max-height: 480px; 
    margin: auto;
}

div.groupacomod {
    display: flex;
}
    div.groupacomod > div:first-child {
        width: 63%; 
        margin-right: 2%;
    }
    div.groupacomod > div:last-child {
        width: 33%;
        margin-left: 2%;
    }

div.groupinvestment {
    display: flex;
}
    div.groupinvestment > div:first-child {
        width: 48%; 
        margin-right: 2%;
    }
    div.groupinvestment > div:last-child {
        width: 48%; 
        margin-left: 2%;
    }




#grupos {
    background: #fff;
/*     background-color: rgb(247, 245, 235);
    background: radial-gradient(circle, rgba(254,254,254,1) 18%, rgba(247,245,235,1) 62%, rgba(249,245,234,1) 100%); */
    /* margin: -5vw 0; */
    z-index: 3;
    position: relative;
}


#worldmap {
    width: 100%;
    height: 500px;
    max-width: 1170px;
    margin: 10px auto;
    background-color: #aadaff;
    box-shadow: 4px 4px 10px 1px #909090;
    margin: 0 15px 80px;
}

.groupmaptooltip {
    font-size: smaller;
    min-width: 50px;
}

.groupmaptooltip h4 {
    margin: 0;
}

.groupmaptooltip p {
    text-align: center;
}
.groupmaptooltip hr {
    border-top: 1px dotted #efefef;
}

.groupmaptooltip div:first-child  {
    text-align: center;
}

.groupmaptooltip div:first-child > img {
    width: 32px;
}

.groupmaptooltip a {
    display: block;
    padding: 3px 0; 
    transition: hover 0.3s ease;
}
.groupmaptooltip a:hover {
    color: gold;
}


.imageslider {
    position: relative;
}

.imageslider .wrapper {
    margin: auto;
}

.grupoheader {
    width: 100%;
    height:500px;
    background-size: cover;
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 calc(100% - 5vw));
    margin-bottom: 20px;
}
    .grupoheader.xtra {
        height: 400px;
    }

.grupoheader.promox {
    clip-path: polygon(0 0,100% 0,100% 87%,0 100%);
}

.grupoheader > div {
    text-align: center;
    position: relative;
    top: 150px;
}

.grupoheader > div > div > img {
    filter: drop-shadow(2px 2px 4px #404040);
}

.grupoheader > div > h1 {
    font-family: 'Montserrat', cursive;
    font-size: calc(25px + 3vw);
    color: #fff;
    text-shadow: -1px -1px 0 #223b61, 1px -1px 0 #223b61, -1px 1px 0 #223b61, 1px 1px 0 #223b61;
    margin: -20px 30px 0;
    text-transform: uppercase;
    z-index: 2;
    opacity: 0.8;
}
.grupoheader > div > p {
    font-size: calc(0.9vw + 8px);
    font-weight: bold;
    color: #fff;
    text-shadow: 2px 2px 4px #404040;
    margin-top: calc(-0.2vw - 5px);
}
.grupoheader > div > div.groupcountry {
    color: #ffee91;
    font-weight: bold;
    text-shadow: 1px 1px 3px #303030;
    letter-spacing: 1px;
}

.group-city {
    min-height: 600px;
    padding-top: 4vw;
    padding-bottom: 4vw;
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - 5vw), 0 100%);
    z-index: 112;
    background-color: #fff;
    position: relative;
}

.group-school {
    min-height: 600px;
    padding-top: 7vw;
    padding-bottom: 4vw;
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 calc(100% - 5vw));
    z-index: 100;
    background-color: rgb(247, 245, 235);
    background: radial-gradient(circle, rgba(254,254,254,1) 18%, rgba(247,245,235,1) 62%, rgba(249,245,234,1) 100%);
    margin-top: -5vw;
    position: relative;
}

.group-school div.txtctt > p {
    margin-bottom: 20px;
}

.group-school .wrapper {
    margin: 0 auto;
    position: relative;
}

.slide-desc {
    position: absolute;
    left: 0;
    width: 85%;
    bottom: 5%;
    background-color: rgba(40,40,40, 0.6);
    color: #fff;
    padding: 16px 20px 8px;
    text-align: left;
}

.nav-arrows {
    font-size: calc(16px + 3vw);
}

.nav-arrows > a {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    color: #2963BD;
    z-index: 1111;
    font-weight: bold;
}

.nav-arrows.inset > a {
    color: #fff;
    text-shadow: 1px 1px 2px #202020;
}

.nav-arrows > a.moveleft {
    left: -30px;
}

.nav-arrows > a.moveright {
    right: -30px;
}

.nav-arrows.inset > a.moveleft {
    left: 5px;
}

.nav-arrows.inset > a.moveright {
    right: 5px;
}



.group-course {
    min-height: 600px;
    position: relative;
    padding: 8vw 0;
    background-color: #f9f9f9;
    margin-top: -5vw;
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - 5vw), 0 100%);
    z-index: 80;
}

.group-course div.activities ul.rootitem > li {
    font-weight: bold;
    color: #2963BD;
}

.group-course div.activities ul > li {
    padding: 4px 0;
    color: #808080;
    font-weight: normal;
}


table.values {
    width: 100%; 
    max-width: 600px;
    font-size: 14px;
}

table.values td.bordered {
    border-left: 1px dotted #bbbbbb;
}

table.values > thead > tr > td {
    color: #2963BD;
    text-transform: uppercase;
    font-weight: bold;
    border-bottom: 1px solid #2963BD;
    vertical-align: middle;
    font-size: smaller;
}

table.values > thead.extraheader > tr > td {
    font-size: 100%;
    color: #404040;
}

table.values > tbody > tr > td {
    border-bottom: 1px dotted #bbbbbb;
    vertical-align: middle;
    padding-top: 11px;
}

/* FIM DE BEST SELLERS */

/* SERVIÇOS TURÍSTICOS */

.servtur {

}
.servtur > div {
    width: 100%; 
    max-width: 760px; 
    min-height: 100px; 
    background-image: url(/img/glassshelf.png); 
    background-repeat: no-repeat; 
    background-position: bottom; 
    margin: auto; 
    text-align: center; 
    padding-bottom: 34px;
    background-size: 100% auto;
}
.servtur > div > a {
    display: inline-block;
    margin: 0 20px; 
    box-shadow: 1px 2px 5px rgba(0,0,0,.4); 
    font-size: 0;
}

.servtur > div > a > img {
    max-width: 180px;
}

/* EQUIPE */
.ourteam {

}

.ourteam ul {
    padding: 0;
    margin: 0 0 20px 0;
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.ourteam ul > li {
    margin: 2%;
    width: 21%;
    background-color: #fff;
    border-radius: 5px;
    box-shadow: 5px 5px 18px 0 #808080;
    padding-top: 15px;

}

.ourteam ul > li > h3 {
    font-size: max(calc(0.8vw + 10px), 13px);
}

.ourteam ul > li > img {
    border: 1px solid #808080;
    border-radius: 50%;
    width: 75%;
}

/* PRE COLLEGE */

.precollege ul.universities {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    list-style: none;
    padding: 0;
}

.precollege ul.universities > li {
    width: 213px;
    border: 1px solid #dfdfdf;
    padding: 15px;
    margin: 0 1.5% 3% 1.5%;
    text-align: center;
    position: relative;
}

.precollege ul.universities > li > div:first-child {
    margin-bottom: 90px;
}

.precollege ul.universities > li > div:last-child {
    position: absolute;
    bottom: 15px;
    left: 0;
    right: 0;
}

.precollege ul.universities > li > div:last-child > h4 {
    margin: 5px 0 15px;
    padding: 0 10px;
    color: royalblue;
}

.precollege ul.universities > li > div:last-child > p {
    height: 50px;
    padding: 0 10px;
}
.precollege ul.universities > li > div > img {
    object-fit: contain;
    max-width: 100%;
}

.precollege div.unicourses {
    display: flex;
}

.precollege div.unicourses > div > img {
    max-width: 270px;
}


.precollege div.unifacedetails {
    display: flex;
    justify-content: space-between;
    clear: both;
    margin-top: 40px;
}

.precollege div.unifacedetails > div {
    width: 46%;
}

.precollege div.unifacedetails > div div.unifaceobs {
    font-size: smaller;
}

.precollege .accomodimg {
    float: right;
    margin-left: 40px;
}


/* TRABALHO NO EXTERIOR */

#exterior ul {
    padding: 0;
    margin: 0;
    list-style: none;
}

#exterior ul > li {
    margin-bottom: 70px;
    clear: both;
    position: relative;
}

#exterior ul > li > h3 {
    position: absolute;
    left: 0;
    top: 0;
    width: auto;
    padding-right: 40px;
    margin: 20px;
    color: #fff;
    text-transform: uppercase;
    font-size: calc(14px + 1vw);
    background: rgba(20,20,20,0.7);
    background: linear-gradient(90deg, rgba(38,38,38,0.8631827731092436) 0%, rgba(38,38,38,0.7707457983193278) 65%, rgba(38,38,38,0) 100%);
    text-align: left;
    padding-top: 11px;
    padding-left: 15px;
    border-top-left-radius: 25px;
    border-bottom-left-radius: 25px;
    letter-spacing: 2px;
    white-space: nowrap;
}
#exterior ul > li > h3 > img {
    height: 36px;
    vertical-align: middle;
    padding-bottom: 3px;
}


#exterior ul > li > div {
    display: flex;
}

#exterior ul > li > div > img {
    width: 50%;
    min-height: 500px;
    margin-right: 30px;
    border-radius: 7px;
    box-shadow: 3px 3px 12px 2px #444444;
    object-fit: cover;
}

#exterior ul > li > div > div {
    text-align: left;
    background-image: url(/img/bestdeal.png);
    background-repeat: no-repeat;
    background-position: center 10%;
}

#exterior ul > li > div > div > h4 {
    margin: 0 0 15px;
}

#exterior ul > li > div > div > h4.title {
    text-transform: uppercase;
    color: royalblue;
    font-weight: bold;
    font-size: 20px;
    border-bottom: 1px dotted royalblue;
    margin: 0 0 25px;
}

#exterior ul > li > div > div > b {
    color: #fff;
    font-size: smaller;
    text-transform: uppercase;
    display: inline-block;
    margin: auto;
    background-color: red;
    padding: 7px 18px 6px;
    border-radius: 12px;
}

#exterior ul > li > div > div > table {
    min-width: 310px;
    max-width: 400px;
    width: 100%;
}
#exterior ul > li > div > div > table > thead > tr > td {
    font-weight: bold;
    border-bottom: 1px solid #cdcdcd;
}




/* CALENDAR DE GRUPOS - PRÓXIMAS SAÍDAS */

.calendarwrapper {
    position:relative;
    min-height: 110px;
    display: flex;
    flex-wrap: wrap;
}

.calendar{
	padding-top: 5px;
	width: 90px;
	background: #ededef;
	background: -webkit-gradient(linear, left top, left bottom, from(#ededef), to(#ccc)); 
	background: -moz-linear-gradient(top,  #ededef,  #ccc); 
	font: bold 30px/60px Lato;
	text-align:center;
	color:#003FB5;
  	text-shadow:#fff 0 1px 0;	
	-moz-border-radius:3px;
	-webkit-border-radius:3px;
	border-radius:3px;	
	position: relative;
	-moz-box-shadow:0 2px 2px #888;
	-webkit-box-shadow:0 2px 2px #888;
    box-shadow:0 2px 2px #888;
    margin: 0 15px 15px 0;

	}

.calendar em {
	display:block;
	font:12px/30px "Lucida Sans Unicode", Arial, Helvetica, sans-serif;
	color:#fff;
	text-shadow:#00365a 0 -1px 0;	
	background:#f11616;
	background:-webkit-gradient(linear, left top, left bottom, from(#f11616), to(#8a0606)); 
	background:-moz-linear-gradient(top,  #f11616,  #8a0606); 
	-moz-border-radius-bottomright:3px;
	-webkit-border-bottom-right-radius:3px;	
	border-bottom-right-radius:3px;
	-moz-border-radius-bottomleft:3px;
	-webkit-border-bottom-left-radius:3px;	
	border-bottom-left-radius:3px;	
    border-top:1px solid #00365a;
    text-transform: uppercase;
}

.calendar b {
    position: absolute;
    bottom: 22px;
    left: 0;
    width: 100%;
    font-size: 14px;
    margin: 0;
    height: 16px;
    text-align: center;
    color: #404040;
}

.calendar:before, .calendar:after{
	content:'';
	float:left;
	position:absolute;
	top:5px;	
	width:8px;
	height:8px;
	background:#111;
	z-index:1;
	-moz-border-radius:10px;
	-webkit-border-radius:10px;
	border-radius:10px;
	-moz-box-shadow:0 1px 1px #fff;
	-webkit-box-shadow:0 1px 1px #fff;
	box-shadow:0 1px 1px #fff;
	}
.calendar:before{left:11px;}	
.calendar:after{right:11px;}

.calendar em:before, .calendar em:after{
	content:'';
	float:left;
	position:absolute;
	top:-5px;	
	width:4px;
	height:14px;
	background:#dadada;
	background:-webkit-gradient(linear, left top, left bottom, from(#f1f1f1), to(#aaa)); 
	background:-moz-linear-gradient(top,  #f1f1f1,  #aaa); 
	z-index:2;
	-moz-border-radius:2px;
	-webkit-border-radius:2px;
	border-radius:2px;
	}
.calendar em:before{left:13px;}	
.calendar em:after{right:13px;}	


/* FIM DE CALENDAR */




div.overctt {
    position: fixed; 
    left: -10%;
    top: -10px;
    width: 100%;
    height: 85px;
    z-index: 11;
    overflow: hidden;
    transition: all 0.5s ease;
    box-shadow: rgb(68, 68, 68) 0px 5px 4px -4px;
    background-color: #fff;
    transform-origin: 0 0;
    transform: rotate(-90deg);
}


div.overctt.active {
    top: 0;
    left: 0;
    transform: rotate(0deg);
}




/* Open up cards */
.openup {
    max-width: 1100px;
    width: 100%;
    position: relative;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: auto;
}

.openup .card {
    position: relative;
    margin: 10px;
}

.openup .card .face {
    width: 250px;
    height: 200px;
    transition: 0.5s;
}

.openup .card .face.face1 {
    position: relative;
    /* background: #434859; */
    background: #5171ce;
   
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1;
    transform: translateY(100px);
}

.openup .card:hover .face.face1{
    background: #ff0000;
    transform: translateY(0);
}

.openup .card .face.face1 .cntnt {
    opacity: 0.2;
    transition: 0.5s;
}

.openup .card:hover .face.face1 .cntnt {
    opacity: 1;
}

.openup .card .face.face1 .cntnt img{
    max-width: 100px;
}

.openup .card .face.face1 .cntnt svg {
    width: 120px;
    height: 120px;
    /* fill: #ededed; */
    fill: #fff;
}

.openup .card .face.face1 .cntnt h3 {
    margin: 10px 0 0;
    padding: 0;
    color: #fff;
    text-align: center;
    font-size: 1.5em;
}

.openup .card .face.face2 {
    position: relative;
    background: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 20px;
    box-sizing: border-box;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.8);
    transform: translateY(-100px);
}

.openup .card:hover .face.face2 {
    transform: translateY(0);
}

.openup .card .face.face2 .cntnt p {
    margin: 0;
    padding: 0;
    /* text-align: justify; */
    text-align: center;
}

.openup .card .face.face2 .cntnt a {
    margin: 15px 0 0;
    display:  inline-block;
    text-decoration: none;
    font-weight: 900;
    color: #434859;
    padding: 5px;
    border: 1px solid #434859;
}

.openup .card .face.face2 .cntnt a:hover{
    background: #434859;
    color: #fff;
}











.fullcenter {
    text-align: center;
    position: relative;
    transition: all 0.5s ease;
    transform-origin: center;
    width: 100%;
}

.fullcenter:hover {
    transform: scale(1.3);

}

.showup {
    opacity: 1!important;
}

.showup_gest {
    opacity: 0.4!important;
}

.scaleup {
    transform: scale(1)!important;
}

.spread {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.content {
    width: calc(100% - 3vh);
    max-width: 1200px;
    margin: 0 auto;
    overflow: hidden;
}

#splash {
    height: 100vh;
    width: 100%;
    position: fixed;
    z-index: 9999;
    overflow: hidden;
    top: 0;
    left: 0;
    background-color: #fff;
}


.pagehero {
    position: relative; 
    top: 50%; 
    transform: translateY(-50%);
    z-index: 2;
    padding-top: 40px;
}

.pagehero h1 > img {
    height: 78px;
    vertical-align: middle;
    padding-bottom: 8px;
}

/* h1, h2 {
    font-family: 'Teko', sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;

} */




h2 {
    text-transform: uppercase;
    color: #5379B4;
    margin: 0;
    font-size: calc(20px + 2vw);
}


.simple_par {
    white-space: pre-line;
    word-wrap: break-word; 
    /* text-align: justify; */
    text-align: left;
    font-family: inherit;
}

.fluidtxt {
    white-space: pre-wrap; 
    word-wrap: break-word; 
    text-align: left;
}

.fluidtxt a {
    color: royalblue;
    text-decoration: underline;
}

.fluidtxt ul > li {
    margin: 5px 0;
}

.twocolumns {
    -moz-column-count: 1;
    -moz-column-gap: calc(10px + 2vw);
    -webkit-column-count: 2;
    -webkit-column-gap: calc(10px + 2vw);
    column-count: 1;
    column-gap: calc(10px + 2vw);
    white-space: pre-wrap; 
    word-wrap: break-word; 
    text-align: left;
       
   }
/*    .twocolumns::first-letter { 
        color: #2963BD;
        initial-letter: 2;
    } */


.slider_container {
    text-align: center; 
    height: 100vh; 
    color: #fff; 
    position: fixed;
     width: 100%;
}


/* DIFERENCIAIS */
.diferenciais {
    background-color: #f7f7f7; 
    min-height: 90vh; 
    margin: -15vh 0; 
    clip-path: polygon(0 0, 100% 0, 100% 87%, 0% 100%);
/*     clip-path: polygon(0 0, 100% 0, 100% 87%, 0% 100%); 
    clip-path: polygon(0 13%, 100% 0, 100% 100%, 0% 100%); */
}







header {
    height: 120px;
    position: fixed;
    top: 0px;
    left: 0px;
    width: 100%;
    /* background-color: rgba(20, 26, 48, 0.8); */
    background-color: #0f3576aa;
    
    z-index: 141;
    opacity: 1;
}
header.page {
    /* background-color: rgba(20, 26, 48, 1); */
    background-color: #0f3576aa;
}


.pagetop {
    position: relative;
    margin-top: 0; 
    height: 440px; 
    z-index: 22;
}
.pagetop > div.coverimg,
.pagetop > div.overlay {
    position: absolute; 
    width: 100%; 
    height: 100%; 
    left: 0; 
    top: 0; 
}

.pagetop > div.coverimg {
    background-size: cover; 
    background-position: top;
}

.pagetop > div.overlay {
    background-color: rgba(27, 27, 27, 0.7);
}

.pagetop h1 {
    font-family: 'Montserrat', cursive;
    font-size: calc(20px + 2.2vw);
    color: #FCFFF4;
    text-shadow: -1px -1px 0 #444444, 1px -1px 0 #444444, -1px 1px 0 #444444, 1px 1px 0 #444444;
    margin: 0 30px;
    text-transform: uppercase;
    opacity: 1;
}
.pagetop p {
    color: #fff;
    padding-left: 30px;
    padding-right: 10px;
    font-size: larger;
    text-shadow: 1px 1px #404040;
    padding-top: 5px;
    font-weight: bold;
    letter-spacing: 1px;
}



/* PAGE HEADERS */

/* .pageheader {

    
}

.pageheader > div > div.toptitle {
    left: calc(5vw + 350px);
    position: absolute;
    color: #fff;
    transition: all 0.4s ease;
}

.pageheader > div > div.toptitle > h1 {
    font-size: 64px; 
    text-transform: uppercase;
    color: #fff;
}

.pageheader > div > div.toptitle > p {
    font-size: 20px;
    max-width: 320px;
} */

/* UI VIEW ANIMATION */
.ng-enter, .ng-leave {
    -webkit-transition:all .5s ease-in-out;
    -moz-transition:all .5s ease-in-out;
    -o-transition:all .5s ease-in-out;
    transition:all .5s ease-in-out;
}
  
.ng-enter {
    opacity: 0;
}
  
.ng-enter-active {
    opacity: 1;
}

.ng-leave {
    opacity: 1;
}

.ng-leave-active {
    opacity: 0;
}



/* FORMS */

table.frmMat {
    width: 100%;
    margin: 0 auto;
    max-width: 1050px;
}

table.frmMat td.fifty {
    width: 50%;
}

table.frmMat td > div.half_fifty_left {
    width: 48%; 
    float: left;
}
table.frmMat td > div.half_fifty_right {
    width: 48%; 
    float: right;
}

table.frmMat td > div.quarter_fifty_left {
    width: 23%; 
    float: left;
}
table.frmMat td > div.quarter_fifty_right {
    width: 23%; 
    float: right;
}
table.frmMat td > div.full_fifty {
    width: 48%; 
    margin: auto;
}

table.frmMat td > div.three_quarters_right {
    width: 73%; 
    float: right;
}

.frmControls {
    position: relative;
    height: 60px;
}

.frmControls > div {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
}

/* ISTV */

#istv {
    margin: 50px;
}

#istv > ul.listing {
    width: 100%;
    padding: 0;
    list-style: none;
}
#istv > ul.listing > li.listitem {
    display: inline-block; 
    width: 320px;
    padding-bottom: 370px;
    position: relative; 
    margin: 20px;
    transition: all 0.4s ease;
}

#istv > ul.listing > li.listitem > div {
    position: absolute; 
    top: 0; 
    left: 0;
    width: 100%; 
    height: 100%;
    box-shadow: 5px 5px 18px 0 #808080;
    border-radius: 7px;
    transition: all 0.5s ease;
    background-color: #fff;
    transform: scale(0.85) skew(3deg, -5deg);
    cursor: pointer;
}

#istv > ul.listing > li.listitem > div:hover {   
    transform: scale(1) skew(0deg, 0deg);
    box-shadow: 20px 20px 32px 3px #808080;

}

#istv > ul.listing > li.listitem > div > div.tvimg {
    margin: 10px auto 5px;
    width: 70%;
    min-width: 120px;
    position: relative;
}
#istv > ul.listing > li.listitem > div > div.tvimg > img:first-child {
    max-width: 100%;
}
#istv > ul.listing > li.listitem > div > div.tvimg > img:last-child {
    position: absolute;
    left: 4.7%;
    top: 8%;
    z-index: 0;
    width: 88.95%;
    height: 64.58%;
    object-fit: cover;
}

#istv > ul.listing > li.listitem > div > div.tvimg.mobile > img:last-child {
    left: 13.7%;
    top: 9.1%;
    z-index: 0;
    width: 72.7%;
    height: 73.7%;
}

#istv > ul.listing > li.listitem > div h3 {
    text-align: center;
    text-transform: uppercase;
    color: #0f3576;
    margin: 0 0 10px 0;
    padding: 0 15px;
    height: 80px;
    font-size: 16px;
    letter-spacing: 0.4px;
}

#istv > ul.listing > li.listitem > div p {
    padding: 0 20px 10px;
    font-size: 14px;
    height: 100px;
    overflow-y: hidden;
    scrollbar-color: #1E375C #f7f7f7;
    scrollbar-width: thin;
    /* text-align: justify; */
    text-align: left;
}

#istv > ul.listing > li.listitem > div:hover p {
    overflow-y: auto;   
}

#istv div.nothing {
    text-align: center;
    width: 320px;
    margin: auto;
    background: #fff;
    padding: 10px;
    border-radius: 7px;
    box-shadow: 5px 5px 18px 0 #808080;
}

/* FIM DE ISTV */


/* PASSAGENS AEREAS */

.pricepanel {
    width: 100%;
    border: 3px solid #000;
    border-radius: 9px;
    min-height: 200px;
    background-color: #404040;
}

nav.continents {
    display: flex;
    justify-content: center;
    margin-bottom: 40px;
}

nav.continents > a,
nav.continents > span {
    padding: 5px 15px 8px;
    background-color: #1E1E1E;
    color: #ebebeb;
    margin: 0 -1px 0 0;
    transition: all 0.4s ease;
    position: relative;
    font-size: larger;
}

nav.continents > a:first-child,
nav.continents > span:first-child {
    border-top-left-radius: 5px;
    border-bottom-left-radius: 5px;
}

nav.continents > a:last-child,
nav.continents > sapn:last-child {
    border-top-right-radius: 5px;
    border-bottom-right-radius: 5px;
}

nav.continents > a.sel,
nav.continents > a.sel2,
nav.continents > span.sel {
    background-color: gold;
    color: #1E1E1E;
    font-weight: bold;
}
nav.continents > a.sel::after,
nav.continents > span.sel::after {
    content: '';
    position: absolute;
    bottom: -10px;
    left: calc(50% - 10px);
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 10px 10px 0 10px;
    border-color: gold transparent transparent transparent;
}

nav.continents > a.sel2:hover {
    color: gold;
    background-color: #0f0f0f;
}
nav.continents > a:not(.sel):hover,
nav.continents > span:not(.sel):hover {
    color: gold;
}

nav.continents select {
    border: none;
    outline: none;
    background-color: #1E1E1E;
    font-size: inherit;
    color: inherit;
    -moz-appearance: none;
    font-size: 16px;
}


/* DIPLOMAS E CERTIFICADOS */
/* .diplomas {
    background-color: #fafafa;
}
.diplosection {
    display: flex;
}

.diplofilters {
    width: 30%;
    padding-right: 40px;
    text-align: left;
}

ul.diplocontent {
    width: 70%;
    padding: 0;
}
ul.diplocontent > li {
    height: 80px;
    margin: 5px 30px 30px;
    padding: 0;
    border: 1px solid #efefef;
    text-align: left;
    background-color: #fff;
    box-shadow: 4px 4px 10px 1px #909090;
    border-radius: 6px;
    transition: all 0.4s ease;
    overflow: hidden;
    cursor: pointer;
}
ul.diplocontent > li:hover {
    transform: scale(1.05);
}
ul.diplocontent > li.hidden {
    height: 0;
    opacity: 0;
    margin: 0;
    padding: 0;
    border: none;
    box-shadow: none;
}
ul.diplocontent > li.nothing {
    height: auto;
    border: none;
    background-color: transparent;
    box-shadow: none;
    text-align: center;
    transition: none;
}
ul.diplocontent > li.nothing:hover {
    transform: none;
}
ul.diplocontent > li.nothing > div {
    float: none;
}
ul.diplocontent > li.nothing > div > h3 {
    text-transform: uppercase;
}



ul.diplocontent > li > img {
    height: 100%;
    width: 120px;
    float: left;
    object-fit: contain;
    padding: 0 10px;
    border-right: 1px solid #efefef;

}

ul.diplocontent > li > div {
    padding: 15px;
    float: left;
    width: calc(100% - 120px);
}

ul.diplocontent > li > div > h3 {
    margin: 0;
    color: #2963BD;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
ul.diplocontent > li > div > div.geoinfo {

}

ul.diplocontent > li > div > div.geoinfo > img {
    height: 20px;
    vertical-align: sub;
}

ul.diplocontent span.spacer {
    padding-right: 20px;
}

ul.diplocontent > li > div > div.geoinfo > span.area {
    font-size: smaller;
    color: royalblue;
}   

.diplosection ul.countryfilter {
    list-style: none;
    padding: 0 0 0 15px;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
}

.diplosection ul.countryfilter > li {
    margin: 0 20px 20px 0;
    background-color: #fff;
    box-shadow: 4px 4px 10px 1px #909090;
    border-radius: 6px;
    transition: all 0.4s ease;
    overflow: hidden;
    transform: scale(0.9);
}
.diplosection ul.countryfilter > li.sel {
    box-shadow: 24px 24px 15px -1px #909090;
    transform: translate(-10px, -10px);
}

.diplosection ul.countryfilter > li:hover {
    transform: scale(1);
    backface-visibility: hidden;
}

.diplosection ul.countryfilter > li > a {
    width: 130px;
    padding: 10px;
    border: 1px solid #efefef;
    text-align: center;
    display: inline-block;
    transition: all 0.4s ease;
}

.diplosection ul.countryfilter > li > a.sel,
.diplosection ul.areafilter > li.sel {
    background-color: #5F78A4;
    color: #fff;
    border-color:  #5F78A4;
}

.diplosection ul.countryfilter > li > a > img {
    height: 40px;
}

.diplosection ul.areafilter {
    list-style: none;
    padding: 0 0 0 10px;
}

.diplosection ul.areafilter > li {
    padding: 7px 8px 0;
    background-color: #fff;
    border-radius: 6px;
    border: 1px solid #ededed;
    margin: 0 10px 10px 5px;
    box-shadow: 2px 2px 6px 1px #afafaf;
    transition: all 0.4s ease;
    cursor: pointer;
    backface-visibility: hidden;
    font-size: 14px;
}

.diplosection ul.areafilter > li:hover {
    transform: scale(1.05);

}


.diploma_modal {
    margin: auto;
    max-width: 700px;
    max-height: 450px;
    width: 100%;
    background-color: #fff;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
    right: 0;
    box-shadow: 4px 4px 10px 1px #2d2d2d;
    border-radius: 9px;
    overflow: hidden;
}

.diploma_modal > div.body {
    overflow-y: auto;
    padding-top: 15px;
    max-height: 360px;
}

.diploma_modal h3 {
    outline: 0px;
    background-color: royalblue;
    padding: 14px 40px 30px 15px;
    margin: 0;
    color: #fff;
    letter-spacing: 1px;
    text-shadow: 1px 1px 0 #202020;
    text-transform: uppercase;
    clip-path: polygon(0 0,100% 0,100% 87%,0 100%);
}

.diploma_modal h3 > p {
    font-size: 14px;
    text-transform: none;
    text-shadow: none;
    color: #f2f2f2;
    font-weight: normal;
}

.diploma_modal > a.close {
    position: absolute;
    top: 15px;
    right: 15px;
    color: #fff;
    opacity: 0.6;
    transition: opacity 0.4s ease;
    z-index: 1;
}
.diploma_modal > a.close:hover {
    opacity: 1;
}

.diploma_modal div.geo {
    display: flex;
}
    .diploma_modal div.geo > img {
        margin-right: 10px
    }
    .diploma_modal div.geo > div {
        padding-top: 10px;
    }
        .diploma_modal div.geo > div > p:first-child {
            color: royalblue;
            text-transform: uppercase;
            font-weight: bold;
            letter-spacing: 0.5px;
        }


.diplotable {
    margin: 0 15px 15px;
    width: calc(100% - 30px);
}

.diplotable > tbody > tr > td:first-child {
    white-space: nowrap;
    color: royalblue;
    vertical-align: top;
    text-align: right;
    padding-right: 30px;
    font-weight: bold;
    letter-spacing: 0.5px;
} */

/* ACAMPAMENYTOS ESPORTIVOS */

.acampesportivo {
    background-color: #fafafa;
}

.acamp {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    margin: 10px;
}

.acamp > div {
    width: 48%;
    min-height: 350px;
    margin: 1%;
    text-align: left;
    position: relative;
    perspective: 1000px;
}


.acamp > div > div.inner {
    position: relative;
    width: 100%;
    height: 100%;
    text-align: center;
    transition: transform 0.8s;
    transform-style: preserve-3d;
}
.acamp > div > div.inner.turn {
    transform: rotateY(180deg);
}

.acamp > div > div.inner > div.frontside,
.acamp > div > div.inner > div.backside {
    position: absolute;
    width: 100%;
    height: 100%;
    -webkit-backface-visibility: hidden; /* Safari */
    backface-visibility: hidden;
    box-shadow: 4px 4px 10px 1px #909090;
    overflow: hidden;
    border-radius: 9px;
}
.acamp > div > div.inner > div.frontside {
    background-color: #fff;
}

.acamp > div > div.inner > div.frontside > div:first-child {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0.1;
    background-repeat: no-repeat;
    background-size: 35%;
    background-position: 80% center;
}

.acamp > div > div.inner > div.frontside > div:last-child {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding: 15px;
    text-align: left;
}

.acamp > div > div.inner > div.frontside > div:last-child > div.ctt {
    display: flex;
    padding-top: 15px;
}

.acamp > div > div.inner > div.frontside > div:last-child > div.ctt > div:first-child {
    width:45%;
    min-width: 120px;
    min-height: 180px;
    margin-right: 20px;
}
.acamp > div > div.inner > div.frontside > div:last-child > div.ctt > div:first-child > img {
    max-width: 100%; 
    max-height: 100%;
}

.acamp > div > div.inner > div.frontside > div:last-child > div.ctt > div:last-child > div > img {
    height: 48px;
}

.acamp > div > div.inner > div.frontside > div:last-child > div.ctt > div:last-child > div {
    display: flex;
    padding-bottom: 15px;
    border-bottom: 1px dotted #eaeaea;
    margin-bottom: 15px;
}

.acamp > div > div.inner > div.backside {
    background-color: #fff;
    transform: rotateY(180deg);
    background: rgb(250,250,250);
    background: radial-gradient(circle, rgba(255,255,255,1) 0%, rgba(252,252,252,1) 30%, rgba(250,250,250,1) 50%, rgba(231,231,231,1) 100%);
    padding: 15px;
}

.acamp > div > div.inner > div.backside > div:last-child {
    overflow-y: auto; 
    overflow-x: hidden; 
    height: calc(100% - 100px); 
    border-top: 1px dotted #5178dc; 
    padding-top: 5px;
}

.acamp h3 {
    margin: 0;
    text-transform: uppercase;
    color: royalblue;
}

.acamp div.backside h3 {
    width: calc(100% - 40px);
}

.acamp div.details_btn {
    position: absolute;
    bottom: 10px;
}

.acamp span.sports {
    display: inline-block;
    margin-right: 20px;
}

.acamp span.sports > img {
    height: 32px;
    padding-right: 0;
    vertical-align: middle;
}

.acamp span.sports > span {
    text-transform: uppercase;
    font-size: 15px;
    vertical-align: text-top;
}

.acamp div.backside > div:first-child {
    display: flex;
    position: relative;
    text-align: left;
}

.acamp div.backside > div:first-child > div:first-child > img {
    max-height: 90px; 
    max-width: 90px;
    margin-right: 15px;
}



.acamp div.backside > div:first-child > div:last-child {
    margin-left: 15px; 
    text-align: left;
}

.acamp div.backside table > tbody > tr > td {
    border-bottom: 1px dotted #dadada;
}
.acamp div.backside table > tbody > tr > td:first-child {
    vertical-align: top;
    text-align: right;
    color: royalblue;
    font-weight: bold;
}

.acamp div.backside table ul {
    padding: 0 15px;
}
.acamp div.backside table span.local > img {
    height: 22px;
    vertical-align: middle;
}

.acamp div.backside a.flipbackbtn {
    background-color: royalblue;
    width: 80px;
    height: 70px;
    position: absolute;
    right: -17px;
    top: -17px;
    clip-path: polygon(0 0,100% 0,100% 100%,0 0);
    color: #fff;
    font-size: 42px;
    text-align: right;
    padding-right: 15px;
    font-weight: bold;
    transition: all 0.4s ease;
}
.acamp div.backside a.flipbackbtn:hover {
    background-color: red;
}


figure > .univimg {
    max-height: 500px;
}

/* VISTOS E VACINAS */


/* --------------------------------------------------------- */

footer {
    min-height: 380px;
    height: fit-content;
    overflow: hidden;
    width: 100%;
    color: rgb(239, 239, 239);
    position: relative;
    background: #0f0c29;
    background: -webkit-linear-gradient(top, #19345c, rgb(19, 64, 131), #0e213d);
    background: linear-gradient(to right, #19345c, rgb(19, 64, 131), #0e213d);
    margin-top: 0;
    margin-top: -140px;
    padding-top: 5vw;
}

footer h3 {
    letter-spacing: 1px;
}

footer ul.protectionmenu {
    margin: 0;
    padding: 20px 5px;
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
footer ul.protectionmenu > li {
    padding: 0 10px;
}

footer ul.footermenu {
    margin: 0;
    padding: 0 5px;
    list-style: none;
}
    footer ul.footermenu > li {
        display: inline-block;
        padding: 5px 10px;
    }
        footer ul.footermenu > li > a.performance > img  {
            height: 40px;
        }

    #plasma {
        position: absolute;
        width: 100%;
        height: 100%;
        left: 0;
        top: 0;
    }

footer p.copyright {
    text-align: center;
    padding: 0 10px;
}



.contentlayer {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    color: #efefef;
    /*padding-top: 220px;*/
    padding-top: 30px;
}


a {
    color: inherit;
    text-decoration: none;
    outline: none;
}


a > abbr::before {
    content: '@';
}

ul, p {
    margin: 0;
}

.left {
    float: left;
    text-align: left;
}

.right {
    float: right;
    text-align: left;
}

.txtleft {
    text-align: left;
}

.txtright {
    text-align: right;
}

.center {
    text-align: center;
}

.clear {
    clear: both;
}

.nobottom {
    margin-bottom: 0; 
}

.spacer {
    margin-bottom: 90px;
    clear: both
}

.halfspacer {
    margin-bottom: 45px;
    clear: both
}






.logoimg {
    position: absolute;
    top: 8px;
    left: 15px;

}

#logodark {
    transition: all 0.8s ease;
}





.imgcriacao {
    float: left;
    max-width: 380px; 
    width: 100%; 
    padding: 0 25px 25px 0;
}

.btnmenu {
    position: absolute; 
    top: 36px; 
    right: 10px; 
    color: #fff; 
    font-size: 14px;
}
.btnmenu > a {
    padding: 5px 8px; 
    border: 1px solid #fff; 
    display: inline-block; 
    transition: all 0.3s ease;
}
.btnmenu > a:hover {
    background-color: #fff;
    color:rgb(19, 64, 131);
}
.btnmenu > a:not(:last-child) {
    margin-right: 10px;
}


.covidprevent {
    display: flex;
}
.covidprevent > img {
    margin-right: 20px;
}


/* Cursos de Idiomas no Exterior */
.whystudy > ul {
    list-style: none;
    padding: 10px;
    margin: 0;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 1rem;
    grid-auto-rows: auto;
    justify-content: space-between;
}

.whystudy > ul > li {
    padding: 15px;
    box-shadow: 5px 5px 10px 3px #808080;
    border-radius: 6px;
}

.whystudy > ul > li > div > img {
    object-fit: contain;
    width: 30%;
    aspect-ratio: 1 / 1;
}

.whystudy > ul > li > div:nth-child(2) {
    font-weight: bold;
    font-size: larger;
    margin: 10px 0;
    color: #292D59;
}

.whystudy h2, .coursedetails h2, .langcoursesmain h2, .accomodtypes h2, .where2study h2, .moreinfo h2 {
    text-transform: uppercase;
    color: #5379B4;
    margin: 0;
    font-size: calc(20px + 2vw);
    font-size: max(calc(12px + 1vw), 20px);
}

.coursedetails ul {
    list-style: none;
    padding: 10px;
    margin: 0;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    padding: 20px;
    background: rgba(249, 245, 234, 1);
    border-radius: 7px;
}

.coursedetails ul > li {
    text-align: left;
}

.coursedetails ul > li > div:first-child {
    font-weight: bold;
    color: #292D59;
}

.langcourses {
    text-align: left;
    background: rgba(249, 245, 234, 1) ;
}

.langcourses .tab-content {
    background-color: transparent !important;
}

.langcourses .tab-label > span {
    width: calc(100% - 30px);
}

.langcourses ol {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
    justify-content: space-between;
    list-style: none;
    padding: 10px 0;

}

.langcourses ol > li > div:first-child {
    font-weight: bold;
    color: #292D59;
}


.accomodtypes ul {
    list-style: none;
    padding: 10px;
    margin: 0;
    display: grid;
    gap: 30px;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));


}

.accomodtypes ul > li {
    box-shadow: 5px 5px 10px 3px #808080;
    border: 1px solid #c3c3c3;
    border-right-color: #888;
    border-radius: 6px;
    padding: 0;
    overflow: hidden;

    
}

.accomodtypes ul > li > div:first-child {
    font-size: 0;
}


.accomodtypes ul > li > div > img {
    object-fit: cover;
    aspect-ratio: 3 / 2;
    width: 100%;
}

.accomodtypes ul > li > div:nth-child(2) {
    background-color: royalblue;
    letter-spacing: 0.8px;
    font-weight: bold;
    color: #fff;
    padding: 10px 15px;
    text-align: left;
}

.accomodtypes ul > li > div:nth-child(3) {
    padding: 15px;
    text-align: left;
}

.where2study b.pin:after {
    top: 4px;
    left: 4px;
    margin: 0;
}

.moreinfo > div:last-child {
    padding: 3em 10px;
    display: flex;
    gap: 10px;
    justify-content: center;
    background: rgba(249, 245, 234, 1);
    border-radius: 7px;
}



@media screen and (max-width: 1500px) {
    footer {
        margin-top: -120px;
    }

}

@media screen and (max-width: 1150px) {

    div.groupacomod {
        padding: 10px;
    }

    .groupsbycountry > div > div.countrylist > a {
        width: 45%; 
    }

    #hero {
        width: min(1000px, 100%);
    }

    #hero h1 {
        width: calc(100% - 20px);
        margin: 0 10px;
    }

    footer {
        margin-top: -100px;
    }

    .whystudy > ul {

        justify-content: center;
        gap: 2rem;
    }

    .whystudy > ul > li > div > img {
        width: 40%;
    }
}

@media screen and (max-width: 1024px) {

    .details > div:last-child div.innerdetails_rgt ul.cityaccomod {
        justify-content: start;
        gap: 3vw;
    }

    .details > div:last-child div.innerdetails_rgt ul.cityaccomod > li {
        width: 47%;
    }
}

@media screen and (max-width: 980px) {

    .precollege .accomodimg {
        float: none;
        margin-left: 0;
        max-width: 100%;
    }

    div.groupinvestment {
        display: block;
        padding: 10px;
    }
        div.groupinvestment > div:first-child {
            width: 100%; 
            margin-right: 0;
        }
        div.groupinvestment > div:last-child {
            width: 100%; 
            margin-left: 0;
        }

    .best-sellers > ul > li {
        width: 44%;
        margin: 3%;;
    }

    .quemsomos > div {
        width: 50%;
    }

    .pagetop {
        height: 360px;
    }

    .pagetop p {
        font-size: max(calc(0.8vw + 10px), 13px);
    }

    #exterior ul > li > div {
        display: block;
    }
    
    #exterior ul > li > div > img {
        width: calc(96% - 20px);
        min-height: 0;
        height: 350px;
        margin-bottom: 30px;
        margin-right: 0;
    }

    #exterior ul > li > h3 {
        margin: 20px 50px;
    }
}


@media screen and (max-width: 900px) {

    .covidprevent > img {
        display: none;
    }

    .acamp > div {
        width: 96%;
        margin: 2%;
    }
    .acamp > div > div.inner > div.frontside > div:last-child > div.ctt > div:first-child {
        width: 22%;
    }

    .coursedetails ul {
        grid-template-columns: repeat(2, 1fr);
    }
}


@media screen and (max-width: 840px) {

    figure > .univimg {
        max-height: none;
        max-width: 80%;
    }

    .groupsbycountry > div > div.countrylist > a {
        width: 80%; 
    }

    .groupsbycountry > div > div.countrylist h3 {
        width: 85%;
    }

    .details {
        display: block;
    }
    
    .details > div:first-child {
        width: 100%; 
        margin: 10px;
    }

/*     .details > div:last-child div.innerdetails_rgt > div {
        max-width: 20%;
    } */
    
    .details > div:last-child {
        width: 100%;
    }

    .nav-arrows.conditionl-inset > a {
        color: #fff;
        text-shadow: 1px 1px 2px #202020;
    }
    
    .nav-arrows.conditionl-inset > a.moveleft {
        left: 5px;
    }
    
    .nav-arrows.conditionl-inset > a.moveright {
        right: 5px;
    }
    

    .ourteam ul > li {
        width: 26%;
    }

    .logobox {
        margin-top: 10px;
        height: 100px;
        padding: 0 10px 25px;
        transition: all 0.5s ease;
        clip-path: polygon(0 -100%,100% -100%,100% calc(100% - 10px),50% 100%,0 calc(100% - 10px));
        width: 100px;
    }
    
    .logobox > img {
        width: 100px;
        margin-top: 0;
    }

    .pageheader > div > h1 {
        margin-left: 15px;
        margin-top: 140px;
    }

    .pulse-button {
        padding: 6px 12px;
        font-size: 14px;
    }

    h2.sectitle {
        font-size: 36px;
    }

    table.frmMat td {
        display: block;
    }

    table.frmMat td.fifty {
        width: 100%;
    }

    table.frmMat td > div {
        float: none;
    }
        
    @keyframes pulse2 {
        0% {
            transform: scale(0.9);
        }
        60% {
            transform: scale(1);
            box-shadow: 0 0 0 10px rgba(220, 20, 60, 0.3);
        }
        100% {
            transform: scale(0.9);
            box-shadow: 0 0 0 0 rgba(220, 20, 60, 0);
        }
    }

    ul.specials > li {
        width: 44%;
    }

    .precollege div.unicourses > div > img {
        max-width: 25vw;
    }
}


@media screen and (max-width: 725px) {

    figure {
        margin: 0;
    }

    figure > .univimg {
        max-width: 87%;
    }

    .precollege div.unifacedetails {
        display: block;
    }

    .precollege div.unifacedetails > div {
        width: auto;
    }

    div.groupacomod {
        display: block;
    }
        div.groupacomod > div:first-child {
            width: 100%; 
            margin-right: 0;
        }
        div.groupacomod > div:last-child {
            width: 100%;
            margin-left: 0;
        }

    .best-sellers > ul > li {
        width: 80%;
        margin: 10%;
    }

    .pagetop {
        height: 300px;
    }

    .pagehero {
        padding-top: 100px;
    }

    .quemsomos > div {
        float: none;
        width: 100%;
        margin: 0 0 20px 0;
    }

    h2.secttitle span,
    h2.secttitle span::before,
    h2.secttitle span::after {
/*         width: 0!important;
        height: 0!important;
        border-left: none!important;
        border-top: none!important; */
        display: none;
    }

    div.synergys > svg {
        height: calc(10px + 3vw);
    }

    #splash > div > div {
        zoom: 0.8;
    }

    .details > div:last-child div.innerdetails_rgt ul.cityaccomod {
        justify-content: center;
    }

    .details > div:last-child div.innerdetails_rgt ul.cityaccomod > li {
        width: 75%;
    }

    .noschool h3 {
        font-size: 16px;
    }
}

@media screen and (max-width: 700px) {

    .groupsbycountry > div > div.countrylist > a {
        width: 90%; 
    }
   
    h2.sectitle {
        font-size: 34px;
    }

    #splash > div > div {
        zoom: 0.7;
    }

    #worldmap {
        display: none;
    }

    .ondebycountrycontainer aside {
        height: auto;
    }

    .details > div:last-child div.innerdetails_rgt ul.cityaccomod > li {
        width: 80%;
    }

}

@media screen and (max-width: 650px) {

    nav#topmenucontainer > a {
        float: none;
        padding-top: 0;
    }
    nav#topmenucontainer > a > img {
        height: auto;
        max-width: 300px;
    }
}

@media screen and (max-width: 600px) {

    .btnmenu {
        right: auto;
        left: 10px;
        top: 84px;
        font-size: 13px;
    }

    figure > .univimg {
        max-width: 95%;
    }

    .precollege div.unicourses > div > img {
        display: none;
    }

    footer {
        font-size: smaller;
        /* margin-top: -90px; */
        margin-top: -30px;
    }

    .acamp > div {
        font-size: smaller;
    }

    div.groupinvestment table.values {
        font-size: 12px;
    }

    ul.specials {
        justify-content: center;
    }

    ul.specials > li {
        width: 90%;
    }

    ul.specials > li > div.imgorlogo {
        width: 30%;
    }

    .twocolumns {
        -moz-column-count: 1;
        -webkit-column-count: 1;
        column-count: 1;
    }

    #splash > div > div {
        zoom: 0.6;
    }
    

    #hero h1 {
        font-size: calc(10px + 5vw);
    }

    #hero > div.boxing {
        position: static;
    }

    #hero h1 ~ span {
        top: auto;
        transform: none;
    }

    #hero > div.actionbox {
        margin-top: 30px;
    }
    
    h2.sectitle {
        font-size: 30px;
    }

    .details > div:first-child div.innerdetails_lft > div {
        display: none;
    }

    .details > div:last-child div.innerdetails_rgt > div:first-child {
        display: none;
    }

    .details > div:last-child div.innerdetails_rgt ul.cityaccomod > li {
        width: 85%;
    }

}

@media screen and (max-width: 550px) {

    .servtur > div {
        background-image: none;
    }

    #istv > ul.listing {
        zoom: 0.8;
    }

    #istv {
        margin: 20px;
    }

    #istv nav.continents {
        display: block;
        margin-left: calc((100% - 280px) / 2);
    }

    #istv nav.continents select {
        width: 100%;
    }

    #istv nav.continents > span {
        display: block;
    }

    #istv nav.continents > span:first-child {
        width: 280px;
        border-radius: 0;
        border-top-left-radius: 5px;
        border-top-right-radius: 5px;
    }

    #istv nav.continents > span:nth-child(2) {
        width: 200px;
        float: left;
        border-radius: 0;
        border-bottom-left-radius: 5px;
    }

    #istv nav.continents > a.sel, nav.continents > a.sel2 {
        width: 81px;
        display: inline-block;
        border-radius: 0;
        border-bottom-right-radius: 5px;
    }

    .acamp > div {
        width: 100%;
        margin: 2% 0;
    }

    .acamp h3 {
        font-size: smaller;
    }

    .schoolinfo {
        display: block;
    }
        .schoolinfo > div:first-child {
            width: 100%;
        }
        .schoolinfo > div:first-child > img {
            max-width: 35%;
            min-width: 150px;
        }
        .schoolinfo > div:last-child {
            width: 100%; 
            padding-left: 0;
        }

    .groupsbycountry > div > div.countrylist > a {
        width: 95%; 
        box-shadow: 2px 2px 4px 1px #909090;
    }



    .openup .card {
        margin: -30px 10px;
    }

    .openup {
        padding-top: 40px;
    }

    .best-sellers > ul > li {
        width: 90%;
        margin: 5%;
    }

    .best-sellers > ul > li > h3 {
        font-size: 16px;
    }

    .pagetop {
        height: 280px;
    }

    .ourteam ul > li {
        width: 45%;
    }

    .details > div:last-child div.innerdetails_rgt ul.cityaccomod > li {
        width: 90%;
    }

    .noschool > div {
        display: block;
        text-align: center;
    }

    .noschool > div > div:first-child {
        display: inline-block;
        width: 180px;
    }

    .noschool > div > div:last-child {
        text-align: left;
    }

    .noschool > div > div:last-child > p:last-child {
        text-align: center;
    }
}

@media screen and (max-width: 480px) {

    a.button {
        font-size: smaller;
    }

    .acamp > div > div.inner > div.frontside > div:last-child > div.ctt > div:first-child {
        min-width: 70px;
        margin-right: 10px;
    }

    footer h3 {
        font-size: 16px;
    }

    #splash > div > div {
        zoom: 0.5;
    }

    .pulse-button {
        padding: 5px 10px;
        font-size: 12px;
    }

    footer .performance {
        zoom: 0.8;
    }


    h2.sectitle {
        font-size: 26px;
    }

    table.frmMat td > div.half_fifty_left,
    table.frmMat td > div.full_fifty,
    table.frmMat td > div.three_quarters_right,
    table.frmMat td > div.half_fifty_right {
        width: 100%; 
        float: none;

    }
    table.frmMat td > div.half_fifty_left {
        margin-bottom: 60px;
    }

    table.frmMat td > div.quarter_fifty_left,
    table.frmMat td > div.quarter_fifty_right {
        float: none;
        width:200px;
    }

    .coursedetails ul {
        grid-template-columns: repeat(1, 1fr);
        gap: 0;
    }

    .coursedetails ul > li {
        padding: 20px 0;
    }

    .coursedetails ul > li:not(:last-child) {
        border-bottom: 1px dotted #444;
    }    

    .langcourses ol {
        display: block;
    }

    .langcourses ol > li {
        padding: 10px 0;
    }
    
    .langcourses ol > li:not(:last-child) {
        border-bottom: 1px dotted #444;
    }
}

@media screen and (max-width: 390px) {

    nav#topmenucontainer > a > img {
        max-width: 285px;
    }

    .ourteam ul > li {
        margin: 6%;
    }

    .ourteam ul > li {
        width: 90%;
    }

    .best-sellers > ul > li {
        width: 100%;
        margin: 25px 0;
    }

    h2.sectitle {
        font-size: 24px;
    }

    .btnmenu {
        right: 10px;
    }

    #splash > div > div {
        zoom: 0.4;
    }

}