@font-face {
  font-family: 'Cabin';
  src: url('/assets/fonts/compass-campaign/Cabin-Bold.woff2') format('woff2'),
      url('/assets/fonts/compass-campaign/Cabin-Bold.woff') format('woff');
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Cabin';
  src: url('/assets/fonts/compass-campaign/Cabin-Regular.woff2') format('woff2'),
      url('/assets/fonts/compass-campaign/Cabin-Regular.woff') format('woff');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Beyond Infinity - Demo';
  src: url('/assets/fonts/compass-campaign/BeyondInfinity.woff2') format('woff2'),
      url('/assets/fonts/compass-campaign/BeyondInfinity.woff') format('woff');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

.compass-campaign .no-padding {
  padding: 0;
}

.compass-campaign .grid {
  display: grid;
  grid-template-columns: repeat(2, calc(50% - 25px));
  gap: 50px;
  padding-top: 50px;
  padding-bottom: 50px;
}

.compass-campaign .grid .grid-item {
  display: flex;
  flex-direction: column;
  background-color: #ffffff;
}

.compass-campaign .grid .grid-item .box {
  flex: 1;
  padding: 30px;
  border: 1px solid #231e75;
  border-radius: 20px;
  text-align: center;
  margin-top: 50px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.compass-campaign .grid .grid-item .box:not(.special){
  position: relative;
  padding-top: 70px;
}

.compass-campaign .grid .grid-item .box.special{
  background: #231e75;
  color: #ffffff;
}

.compass-campaign .grid .grid-item .box:not(.special) .box-image {
  position: absolute;
  top: -70px;
  width: 140px;
  left: 50%;
  transform: translateX(-50%);
}

.compass-campaign .grid .grid-item .box h2{
  font-family: 'Beyond Infinity - Demo';
  font-size: 56px;
  line-height: 0.9;
  color: #231e75;
  padding: 0;
  margin: 0;
}

.compass-campaign .grid .grid-item .box p{
  font-family: 'Cabin';
  font-size: 16px;
  line-height: 1.4;
  padding: 0;
  margin: 0;
  margin-top: 20px;
}

.compass-campaign .grid .grid-item .box h2 span{
  font-family: 'Inter';
  font-weight: normal;
  font-style: normal;
}

.compass-campaign .grid .grid-item .box .button{
  display: block;
  padding: 10px;
  text-transform: uppercase;
  background-color: #231e75;
  color: #ffffff;
  width: 100%;
  font-size: 16px;
  font-family: 'Cabin';
  border-radius: 10px;
  margin-top: 20px;
  transition: all 0.3s ease-in-out;
}

.compass-campaign .grid .grid-item .box .button:hover{
  background-color: #419adc;
  color: #ffffff;
  transition: all 0.3s ease-in-out;
}

.compass-campaign .grid .grid-item .box.special h2{
  color: #ffffff;
}

.compass-campaign .grid .grid-item .box.special .button{
  border: 1px solid #ffffff;
}

.compass-campaign .grid .grid-item .box.special .button:hover{
  background-color: #FFFFFF;
  color: #231e75;
}

.compass-campaign .grid .grid-item .box.special p{
  font-weight: 600;
  font-size: 26px;
}



/* Responsive - stack on smaller screens */
@media (max-width: 768px) {
  .compass-campaign .grid .grid-item .box *{
    text-align: center;
  }
  
  .compass-campaign .grid {
    grid-template-columns: calc(100%);
  }
}
