.elementor-588956 .elementor-element.elementor-element-71cc8669{--display:flex;--min-height:480px;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:flex-end;--align-items:center;--overlay-opacity:0.84;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-588956 .elementor-element.elementor-element-71cc8669::before, .elementor-588956 .elementor-element.elementor-element-71cc8669 > .elementor-background-video-container::before, .elementor-588956 .elementor-element.elementor-element-71cc8669 > .e-con-inner > .elementor-background-video-container::before, .elementor-588956 .elementor-element.elementor-element-71cc8669 > .elementor-background-slideshow::before, .elementor-588956 .elementor-element.elementor-element-71cc8669 > .e-con-inner > .elementor-background-slideshow::before, .elementor-588956 .elementor-element.elementor-element-71cc8669 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:#000000;--background-overlay:'';}.elementor-588956 .elementor-element.elementor-element-34ccc5f7{z-index:99;}.elementor-588956 .elementor-element.elementor-element-4335781f{--display:flex;--min-height:90px;--align-items:flex-start;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-widget-theme-post-title .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-588956 .elementor-element.elementor-element-6910cf2b .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:36px;font-weight:800;color:#FFFFFF;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-588956 .elementor-element.elementor-element-6b81ad52 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:16px;font-weight:600;color:#FFFFFF;}.elementor-588956 .elementor-element.elementor-element-63570e6c{--display:flex;--min-height:73px;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;border-style:solid;--border-style:solid;border-width:0px 0px 1px 0px;--border-top-width:0px;--border-right-width:0px;--border-bottom-width:1px;--border-left-width:0px;border-color:#0201011F;--border-color:#0201011F;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-588956 .elementor-element.elementor-element-77a96373{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-588956 .elementor-element.elementor-element-73cfa9d9{--display:flex;--justify-content:center;border-style:solid;--border-style:solid;border-width:0px 1px 0px 0px;--border-top-width:0px;--border-right-width:1px;--border-bottom-width:0px;--border-left-width:0px;border-color:#0201013B;--border-color:#0201013B;}.elementor-widget-image-box .elementor-image-box-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-widget-image-box:has(:hover) .elementor-image-box-title,
					 .elementor-widget-image-box:has(:focus) .elementor-image-box-title{color:var( --e-global-color-primary );}.elementor-widget-image-box .elementor-image-box-description{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-588956 .elementor-element.elementor-element-3a6dce20 .elementor-image-box-wrapper{text-align:start;}.elementor-588956 .elementor-element.elementor-element-3a6dce20.elementor-position-right .elementor-image-box-img{margin-left:0px;}.elementor-588956 .elementor-element.elementor-element-3a6dce20.elementor-position-left .elementor-image-box-img{margin-right:0px;}.elementor-588956 .elementor-element.elementor-element-3a6dce20.elementor-position-top .elementor-image-box-img{margin-bottom:0px;}.elementor-588956 .elementor-element.elementor-element-3a6dce20 .elementor-image-box-title{margin-bottom:0px;font-family:"Montserrat", Sans-serif;font-size:22px;font-weight:400;color:#000000;}.elementor-588956 .elementor-element.elementor-element-3a6dce20 .elementor-image-box-wrapper .elementor-image-box-img{width:88px;}.elementor-588956 .elementor-element.elementor-element-3a6dce20 .elementor-image-box-img img{transition-duration:0.3s;}.elementor-588956 .elementor-element.elementor-element-3a6dce20:has(:hover) .elementor-image-box-title,
					 .elementor-588956 .elementor-element.elementor-element-3a6dce20:has(:focus) .elementor-image-box-title{color:#000000;}.elementor-588956 .elementor-element.elementor-element-3a6dce20 .elementor-image-box-description{font-family:"Montserrat", Sans-serif;font-size:17px;font-weight:400;}.elementor-588956 .elementor-element.elementor-element-2a0ea423{--display:flex;border-style:solid;--border-style:solid;border-width:0px 1px 0px 0px;--border-top-width:0px;--border-right-width:1px;--border-bottom-width:0px;--border-left-width:0px;border-color:#0201013B;--border-color:#0201013B;}.elementor-588956 .elementor-element.elementor-element-29829db9{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 90px;}.elementor-588956 .elementor-element.elementor-element-29829db9.elementor-position-right .elementor-image-box-img{margin-left:31px;}.elementor-588956 .elementor-element.elementor-element-29829db9.elementor-position-left .elementor-image-box-img{margin-right:31px;}.elementor-588956 .elementor-element.elementor-element-29829db9.elementor-position-top .elementor-image-box-img{margin-bottom:31px;}.elementor-588956 .elementor-element.elementor-element-29829db9 .elementor-image-box-title{margin-bottom:0px;font-family:"Montserrat", Sans-serif;font-size:22px;font-weight:400;color:#000000;}.elementor-588956 .elementor-element.elementor-element-29829db9 .elementor-image-box-wrapper .elementor-image-box-img{width:82px;}.elementor-588956 .elementor-element.elementor-element-29829db9 .elementor-image-box-img img{transition-duration:0.3s;}.elementor-588956 .elementor-element.elementor-element-29829db9:has(:hover) .elementor-image-box-title,
					 .elementor-588956 .elementor-element.elementor-element-29829db9:has(:focus) .elementor-image-box-title{color:#000000;}.elementor-588956 .elementor-element.elementor-element-29829db9 .elementor-image-box-description{font-family:"Montserrat", Sans-serif;font-size:17px;font-weight:400;}.elementor-588956 .elementor-element.elementor-element-4d18450a{--display:flex;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-588956 .elementor-element.elementor-element-4e7bdfca{--display:flex;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );box-shadow:0px 0px 22px -4px rgba(0,0,0,0.5);--margin-top:-166px;--margin-bottom:0px;--margin-left:120px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-588956 .elementor-element.elementor-element-4e7bdfca:not(.elementor-motion-effects-element-type-background), .elementor-588956 .elementor-element.elementor-element-4e7bdfca > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-588956 .elementor-element.elementor-element-6a47caa1{width:100%;max-width:100%;padding:12px 0px 12px 0px;border-style:solid;border-width:0px 0px 1px 0px;border-color:#0000004D;text-align:center;}.elementor-588956 .elementor-element.elementor-element-6a47caa1 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:19px;font-weight:600;text-transform:uppercase;color:#000000;}.elementor-588956 .elementor-element.elementor-element-1ca03102{width:var( --container-widget-width, 50% );max-width:50%;margin:-10px 0px calc(var(--kit-widget-spacing, 0px) + -10px) 0px;padding:0px 0px 0px 0px;--container-widget-width:50%;--container-widget-flex-grow:0;}.elementor-588956 .elementor-element.elementor-element-6b79e2b0{--display:flex;}.elementor-588956 .elementor-element.elementor-element-263a4225{--display:flex;--min-height:60px;--justify-content:center;--background-transition:0.5s;}.elementor-588956 .elementor-element.elementor-element-263a4225:not(.elementor-motion-effects-element-type-background), .elementor-588956 .elementor-element.elementor-element-263a4225 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#E68844;}.elementor-588956 .elementor-element.elementor-element-263a4225:hover{background-color:#42A196;}.elementor-588956 .elementor-element.elementor-element-106d336b{text-align:center;}.elementor-588956 .elementor-element.elementor-element-106d336b .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:16px;font-weight:700;text-transform:uppercase;text-decoration:none;color:#FFFFFF;}.elementor-588956 .elementor-element.elementor-element-2951e3b5{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-588956 .elementor-element.elementor-element-21264170{--display:flex;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--padding-top:40px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-588956 .elementor-element.elementor-element-eaf7393 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:29px;font-weight:300;color:#000000;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-588956 .elementor-element.elementor-element-66af205f{font-family:"Nunito", Sans-serif;font-size:18px;font-weight:400;}.elementor-588956 .elementor-element.elementor-element-204c6ef4{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-588956 .elementor-element.elementor-element-1650d80c{--display:flex;}.elementor-588956 .elementor-element.elementor-element-1650d80c:not(.elementor-motion-effects-element-type-background), .elementor-588956 .elementor-element.elementor-element-1650d80c > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#43A297;}.elementor-588956 .elementor-element.elementor-element-189fcbec .elementor-heading-title{font-family:"Nunito", Sans-serif;font-weight:600;color:#FFFFFF;}.elementor-widget-icon.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-primary );}.elementor-widget-icon.elementor-view-framed .elementor-icon, .elementor-widget-icon.elementor-view-default .elementor-icon{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-widget-icon.elementor-view-framed .elementor-icon, .elementor-widget-icon.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-primary );}.elementor-588956 .elementor-element.elementor-element-7816294c .elementor-icon-wrapper{text-align:center;}.elementor-588956 .elementor-element.elementor-element-7816294c.elementor-view-stacked .elementor-icon{background-color:#FFFFFF;}.elementor-588956 .elementor-element.elementor-element-7816294c.elementor-view-framed .elementor-icon, .elementor-588956 .elementor-element.elementor-element-7816294c.elementor-view-default .elementor-icon{color:#FFFFFF;border-color:#FFFFFF;}.elementor-588956 .elementor-element.elementor-element-7816294c.elementor-view-framed .elementor-icon, .elementor-588956 .elementor-element.elementor-element-7816294c.elementor-view-default .elementor-icon svg{fill:#FFFFFF;}.elementor-widget-nested-tabs.elementor-widget-n-tabs > .e-n-tabs[data-touch-mode='false'] > .e-n-tabs-heading > .e-n-tab-title[aria-selected="false"]:hover{background:var( --e-global-color-accent );}.elementor-widget-nested-tabs.elementor-widget-n-tabs > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title[aria-selected="true"], .elementor-widget-nested-tabs.elementor-widget-n-tabs > .e-n-tabs[data-touch-mode='true'] > .e-n-tabs-heading > .e-n-tab-title[aria-selected="false"]:hover{background:var( --e-global-color-accent );}.elementor-widget-nested-tabs.elementor-widget-n-tabs > .e-n-tabs > .e-n-tabs-heading > :is( .e-n-tab-title > .e-n-tab-title-text, .e-n-tab-title ){font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-588956 .elementor-element.elementor-element-12d6b25{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:flex-start;--padding-top:20px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-588956 .elementor-element.elementor-element-7f385a54{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-588956 .elementor-element.elementor-element-7836ffd9 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:29px;font-weight:300;color:#000000;}.elementor-widget-loop-grid .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-loop-grid .elementor-pagination{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-loop-grid .e-load-more-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-588956 .elementor-element.elementor-element-1a7e4a2{--grid-columns:1;}.elementor-588956 .elementor-element.elementor-element-4ba793bc{--display:flex;--padding-top:60px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-588956 .elementor-element.elementor-element-2eb153a1{--display:flex;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );box-shadow:0px 0px 5px 0.5px rgba(0,0,0,0.5);--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-588956 .elementor-element.elementor-element-2eb153a1:not(.elementor-motion-effects-element-type-background), .elementor-588956 .elementor-element.elementor-element-2eb153a1 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-588956 .elementor-element.elementor-element-7783af2d{width:var( --container-widget-width, 50% );max-width:50%;margin:12px 0px calc(var(--kit-widget-spacing, 0px) + -10px) 0px;padding:0px 0px 0px 0px;--container-widget-width:50%;--container-widget-flex-grow:0;}.elementor-588956 .elementor-element.elementor-element-2feebb05{padding:0px 0px 0px 0px;text-align:center;}.elementor-588956 .elementor-element.elementor-element-2feebb05 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:15px;font-weight:600;text-transform:uppercase;color:#000000;}.elementor-588956 .elementor-element.elementor-element-45e3f6bc{margin:-18px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-588956 .elementor-element.elementor-element-19711ec8{--display:flex;}.elementor-588956 .elementor-element.elementor-element-64c666c7{--display:flex;--min-height:70px;--justify-content:center;--background-transition:0.5s;}.elementor-588956 .elementor-element.elementor-element-64c666c7:not(.elementor-motion-effects-element-type-background), .elementor-588956 .elementor-element.elementor-element-64c666c7 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#E68844;}.elementor-588956 .elementor-element.elementor-element-64c666c7:hover{background-color:#42A196;}.elementor-588956 .elementor-element.elementor-element-5d15578e{text-align:center;}.elementor-588956 .elementor-element.elementor-element-5d15578e .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:16px;font-weight:700;text-transform:uppercase;color:#FFFFFF;}.elementor-588956 .elementor-element.elementor-element-775f2688{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:flex-start;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-588956 .elementor-element.elementor-element-17dd82e7{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-588956 .elementor-element.elementor-element-6e7b2920{--display:flex;--padding-top:60px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-588956 .elementor-element.elementor-element-32d00d2f{--display:flex;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );box-shadow:0px 0px 5px 0.5px rgba(0,0,0,0.5);--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-588956 .elementor-element.elementor-element-32d00d2f:not(.elementor-motion-effects-element-type-background), .elementor-588956 .elementor-element.elementor-element-32d00d2f > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-588956 .elementor-element.elementor-element-61969cd8{width:var( --container-widget-width, 50% );max-width:50%;margin:12px 0px calc(var(--kit-widget-spacing, 0px) + -10px) 0px;padding:0px 0px 0px 0px;--container-widget-width:50%;--container-widget-flex-grow:0;}.elementor-588956 .elementor-element.elementor-element-6297f98f{width:var( --container-widget-width, 62% );max-width:62%;--container-widget-width:62%;--container-widget-flex-grow:0;}.elementor-588956 .elementor-element.elementor-element-2885da68{padding:0px 0px 0px 0px;text-align:center;}.elementor-588956 .elementor-element.elementor-element-2885da68 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:15px;font-weight:600;text-transform:uppercase;color:#000000;}.elementor-588956 .elementor-element.elementor-element-5eb26d20{margin:-18px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-588956 .elementor-element.elementor-element-1e3b25a3{--display:flex;}.elementor-588956 .elementor-element.elementor-element-6e5fc7e6{--display:flex;--min-height:70px;--justify-content:center;--background-transition:0.5s;}.elementor-588956 .elementor-element.elementor-element-6e5fc7e6:not(.elementor-motion-effects-element-type-background), .elementor-588956 .elementor-element.elementor-element-6e5fc7e6 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#E68844;}.elementor-588956 .elementor-element.elementor-element-6e5fc7e6:hover{background-color:#42A196;}.elementor-588956 .elementor-element.elementor-element-3eb6d15e{text-align:center;}.elementor-588956 .elementor-element.elementor-element-3eb6d15e .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:16px;font-weight:700;text-transform:uppercase;color:#FFFFFF;}.elementor-588956 .elementor-element.elementor-element-21b7405a{--display:flex;}.elementor-588956 .elementor-element.elementor-element-6939b2ec{--display:flex;}.elementor-588956 .elementor-element.elementor-element-24111218{--display:flex;--padding-top:15px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-588956 .elementor-element.elementor-element-1cb60e3a{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-588956 .elementor-element.elementor-element-1ecac86f{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:space-between;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-588956 .elementor-element.elementor-element-6e894dab{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--padding-top:20px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-588956 .elementor-element.elementor-element-75f96258 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:29px;font-weight:400;color:#000000;}.elementor-588956 .elementor-element.elementor-element-4d816a9a{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:stretch;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-588956 .elementor-element.elementor-element-41e9b0d3 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:29px;font-weight:400;color:#000000;}.elementor-588956 .elementor-element.elementor-element-6f9039b2{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-588956 .elementor-element.elementor-element-5c1db010{--n-tabs-heading-justify-content:initial;--n-tabs-title-width:100%;--n-tabs-title-height:initial;--n-tabs-title-align-items:center;--n-tabs-title-flex-grow:1;--n-tabs-heading-wrap:wrap;--n-tabs-heading-overflow-x:initial;--n-tabs-title-white-space:initial;width:var( --container-widget-width, 85% );max-width:85%;--container-widget-width:85%;--container-widget-flex-grow:0;--n-tabs-title-gap:0px;--n-tabs-title-font-size:17px;--n-tabs-title-color:#FFFFFF;}.elementor-588956 .elementor-element.elementor-element-5c1db010 > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title[aria-selected='false']:not( :hover ){background:#43A297;}.elementor-588956 .elementor-element.elementor-element-5c1db010.elementor-widget-n-tabs > .e-n-tabs[data-touch-mode='false'] > .e-n-tabs-heading > .e-n-tab-title[aria-selected="false"]:hover{background:#43A297;border-style:solid;border-width:0px 1px 0px 0px;border-color:#FFFFFF;}.elementor-588956 .elementor-element.elementor-element-5c1db010.elementor-widget-n-tabs > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title[aria-selected="true"], .elementor-588956 .elementor-element.elementor-element-5c1db010.elementor-widget-n-tabs > .e-n-tabs[data-touch-mode='true'] > .e-n-tabs-heading > .e-n-tab-title[aria-selected="false"]:hover{background:#43A297;border-style:solid;border-width:0px 1px 0px 0px;border-color:#FFFFFF;}.elementor-588956 .elementor-element.elementor-element-5c1db010.elementor-widget-n-tabs > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title[aria-selected="false"]:not( :hover ){border-style:solid;border-width:0px 1px 0px 0px;border-color:#FFFFFF;}.elementor-588956 .elementor-element.elementor-element-5c1db010.elementor-widget-n-tabs > .e-n-tabs > .e-n-tabs-heading > :is( .e-n-tab-title > .e-n-tab-title-text, .e-n-tab-title ){font-family:"Nunito", Sans-serif;font-weight:600;}.elementor-588956 .elementor-element.elementor-element-5c1db010 [data-touch-mode="false"] .e-n-tab-title[aria-selected="false"]:hover{--n-tabs-title-color-hover:#FFFFFF;}.elementor-588956 .elementor-element.elementor-element-44ffa2fc{--display:flex;}.elementor-widget-divider{--divider-color:var( --e-global-color-secondary );}.elementor-widget-divider .elementor-divider__text{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-divider.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-secondary );}.elementor-widget-divider.elementor-view-framed .elementor-icon, .elementor-widget-divider.elementor-view-default .elementor-icon{color:var( --e-global-color-secondary );border-color:var( --e-global-color-secondary );}.elementor-widget-divider.elementor-view-framed .elementor-icon, .elementor-widget-divider.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-secondary );}.elementor-588956 .elementor-element.elementor-element-4c9e0b3d{--divider-border-style:solid;--divider-color:#00000033;--divider-border-width:1px;}.elementor-588956 .elementor-element.elementor-element-4c9e0b3d .elementor-divider-separator{width:100%;}.elementor-588956 .elementor-element.elementor-element-4c9e0b3d .elementor-divider{padding-block-start:15px;padding-block-end:15px;}.elementor-588956 .elementor-element.elementor-element-78ce868b{--display:flex;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-588956 .elementor-element.elementor-element-5e3a8a20{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;}.elementor-588956 .elementor-element.elementor-element-65b56a16 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:29px;font-weight:400;color:#000000;}.elementor-588956 .elementor-element.elementor-element-72c829{--grid-template-columns:repeat(0, auto);text-align:center;--grid-column-gap:32px;--grid-row-gap:0px;}.elementor-588956 .elementor-element.elementor-element-18ed6f47{--display:flex;--min-height:194px;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-588956 .elementor-element.elementor-element-764c60ed .elementor-button{background-color:#E68844;font-family:"Roboto", Sans-serif;font-size:20px;font-weight:800;text-transform:uppercase;text-decoration:none;padding:25px 50px 25px 50px;}@media(max-width:1024px){.elementor-588956 .elementor-element.elementor-element-3a6dce20 .elementor-image-box-wrapper{text-align:center;}.elementor-588956 .elementor-element.elementor-element-3a6dce20.elementor-position-right .elementor-image-box-img{margin-left:-10px;}.elementor-588956 .elementor-element.elementor-element-3a6dce20.elementor-position-left .elementor-image-box-img{margin-right:-10px;}.elementor-588956 .elementor-element.elementor-element-3a6dce20.elementor-position-top .elementor-image-box-img{margin-bottom:-10px;}.elementor-588956 .elementor-element.elementor-element-3a6dce20 .elementor-image-box-wrapper .elementor-image-box-img{width:29%;}.elementor-588956 .elementor-element.elementor-element-29829db9{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-588956 .elementor-element.elementor-element-29829db9 .elementor-image-box-wrapper{text-align:center;}.elementor-588956 .elementor-element.elementor-element-29829db9.elementor-position-right .elementor-image-box-img{margin-left:0px;}.elementor-588956 .elementor-element.elementor-element-29829db9.elementor-position-left .elementor-image-box-img{margin-right:0px;}.elementor-588956 .elementor-element.elementor-element-29829db9.elementor-position-top .elementor-image-box-img{margin-bottom:0px;}.elementor-588956 .elementor-element.elementor-element-29829db9 .elementor-image-box-title{margin-bottom:0px;}.elementor-588956 .elementor-element.elementor-element-29829db9 .elementor-image-box-wrapper .elementor-image-box-img{width:29%;}.elementor-588956 .elementor-element.elementor-element-4e7bdfca{--margin-top:-120px;--margin-bottom:0px;--margin-left:-0px;--margin-right:0px;}.elementor-588956 .elementor-element.elementor-element-204c6ef4{--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-588956 .elementor-element.elementor-element-1650d80c{--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-588956 .elementor-element.elementor-element-189fcbec .elementor-heading-title{font-size:24px;}.elementor-588956 .elementor-element.elementor-element-7816294c{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-588956 .elementor-element.elementor-element-7816294c .elementor-icon{font-size:26px;}.elementor-588956 .elementor-element.elementor-element-7816294c .elementor-icon svg{height:26px;}.elementor-588956 .elementor-element.elementor-element-12d6b25{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-588956 .elementor-element.elementor-element-7f385a54{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-588956 .elementor-element.elementor-element-1a7e4a2{--grid-columns:1;}.elementor-588956 .elementor-element.elementor-element-5c1db010{padding:0px 0px 0px 0px;--container-widget-width:90%;--container-widget-flex-grow:0;width:var( --container-widget-width, 90% );max-width:90%;--n-tabs-title-justify-content:flex-start;--n-tabs-title-align-items:flex-start;--n-tabs-title-text-align:start;--n-tabs-title-padding-top:10px;--n-tabs-title-padding-right:10px;--n-tabs-title-padding-bottom:10px;--n-tabs-title-padding-left:10px;}}@media(min-width:768px){.elementor-588956 .elementor-element.elementor-element-4335781f{--width:85%;}.elementor-588956 .elementor-element.elementor-element-77a96373{--width:85%;}.elementor-588956 .elementor-element.elementor-element-4e7bdfca{--width:87%;}.elementor-588956 .elementor-element.elementor-element-21264170{--width:85%;}.elementor-588956 .elementor-element.elementor-element-7f385a54{--width:100%;}.elementor-588956 .elementor-element.elementor-element-4ba793bc{--width:30%;}.elementor-588956 .elementor-element.elementor-element-2eb153a1{--width:100%;}.elementor-588956 .elementor-element.elementor-element-17dd82e7{--width:100%;}.elementor-588956 .elementor-element.elementor-element-6e7b2920{--width:30%;}.elementor-588956 .elementor-element.elementor-element-32d00d2f{--width:100%;}.elementor-588956 .elementor-element.elementor-element-44ffa2fc{--content-width:95%;}.elementor-588956 .elementor-element.elementor-element-5e3a8a20{--width:65%;}}@media(max-width:1024px) and (min-width:768px){.elementor-588956 .elementor-element.elementor-element-77a96373{--width:90%;}.elementor-588956 .elementor-element.elementor-element-4e7bdfca{--width:130%;}.elementor-588956 .elementor-element.elementor-element-21264170{--width:94%;}.elementor-588956 .elementor-element.elementor-element-1650d80c{--width:90%;}}@media(max-width:767px){.elementor-588956 .elementor-element.elementor-element-71cc8669{--min-height:288px;}.elementor-588956 .elementor-element.elementor-element-4335781f{--width:100%;--justify-content:flex-end;--align-items:flex-start;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-588956 .elementor-element.elementor-element-6910cf2b.elementor-element{--align-self:flex-start;}.elementor-588956 .elementor-element.elementor-element-6910cf2b{text-align:start;}.elementor-588956 .elementor-element.elementor-element-6910cf2b .elementor-heading-title{font-size:28px;}.elementor-588956 .elementor-element.elementor-element-6b81ad52 .elementor-heading-title{font-size:12px;}.elementor-588956 .elementor-element.elementor-element-63570e6c{--min-height:587px;}.elementor-588956 .elementor-element.elementor-element-77a96373{--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:20px 20px;--row-gap:20px;--column-gap:20px;}.elementor-588956 .elementor-element.elementor-element-73cfa9d9{--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--margin-top:10px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-588956 .elementor-element.elementor-element-3a6dce20 .elementor-image-box-wrapper{text-align:center;}.elementor-588956 .elementor-element.elementor-element-3a6dce20 .elementor-image-box-img{margin-bottom:-10px;}.elementor-588956 .elementor-element.elementor-element-2a0ea423{--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--margin-top:10px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-588956 .elementor-element.elementor-element-29829db9{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-588956 .elementor-element.elementor-element-29829db9 .elementor-image-box-img{margin-bottom:0px;}.elementor-588956 .elementor-element.elementor-element-4d18450a{--margin-top:20px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-588956 .elementor-element.elementor-element-4e7bdfca{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-588956 .elementor-element.elementor-element-6a47caa1{padding:20px 0px 20px 0px;border-width:1px 0px 1px 0px;}.elementor-588956 .elementor-element.elementor-element-2951e3b5{--padding-top:0px;--padding-bottom:0px;--padding-left:15px;--padding-right:15px;}.elementor-588956 .elementor-element.elementor-element-21264170{--padding-top:30px;--padding-bottom:30px;--padding-left:0px;--padding-right:0px;}.elementor-588956 .elementor-element.elementor-element-204c6ef4{--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:15px;--padding-right:15px;}.elementor-588956 .elementor-element.elementor-element-1650d80c{--width:100%;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--align-items:center;--padding-top:15px;--padding-bottom:15px;--padding-left:15px;--padding-right:15px;--z-index:2;}.elementor-588956 .elementor-element.elementor-element-1650d80c.e-con{--align-self:center;}.elementor-588956 .elementor-element.elementor-element-189fcbec .elementor-heading-title{font-size:18px;}.elementor-588956 .elementor-element.elementor-element-7816294c{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-588956 .elementor-element.elementor-element-7816294c .elementor-icon{font-size:20px;}.elementor-588956 .elementor-element.elementor-element-7816294c .elementor-icon svg{height:20px;}.elementor-588956 .elementor-element.elementor-element-12d6b25{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-588956 .elementor-element.elementor-element-7f385a54{--padding-top:10px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-588956 .elementor-element.elementor-element-1a7e4a2{--grid-columns:1;}.elementor-588956 .elementor-element.elementor-element-775f2688{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-588956 .elementor-element.elementor-element-17dd82e7{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-588956 .elementor-element.elementor-element-24111218{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-588956 .elementor-element.elementor-element-1cb60e3a{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-588956 .elementor-element.elementor-element-1ecac86f{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-588956 .elementor-element.elementor-element-6e894dab{--justify-content:space-between;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-588956 .elementor-element.elementor-element-75f96258 .elementor-heading-title{font-size:22px;}.elementor-588956 .elementor-element.elementor-element-4d816a9a{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-588956 .elementor-element.elementor-element-41e9b0d3{padding:0px 0px 0px 0px;}.elementor-588956 .elementor-element.elementor-element-5c1db010{width:100%;max-width:100%;}.elementor-588956 .elementor-element.elementor-element-72c829{--icon-size:21px;--grid-column-gap:10px;}}/* Start custom CSS for shortcode, class: .elementor-element-34ccc5f7 */.elementor-588956 .elementor-element.elementor-element-34ccc5f7{
    position: absolute;
    top: 20px;
    right: 45px;
    z-index: 9999;
}


@media (max-width:720px){
    .elementor-588956 .elementor-element.elementor-element-34ccc5f7{
    position: absolute;
    top: 20px;
    right: 15px;
}
}/* End custom CSS */
/* Start custom CSS for theme-post-title, class: .elementor-element-6910cf2b */.elementor-588956 .elementor-element.elementor-element-6910cf2b {
    text-align: left !important;
    
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-71cc8669 */#hero {
    position: relative;
    overflow: hidden;
}
#hero-shortcode {
    position: absolute;
    inset: 0;  
    width: 100%;
    height: 100%;
    z-index: 0;   
}


#hero-shortcode .travel-partner-hero {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

#hero .elementor-widget-heading {
    position: relative;
    z-index: 1;
    color: #fff; 
    text-align: center; 
    top: 50%;        
    transform: translateY(-50%);
}

.travel-partner-hero::before {
    content: '';
    position: absolute;
    bottom: 0;               
    left: 0;
    width: 100%;
    height: 80%;
    background: linear-gradient(to top, rgba(0,0,0,1), rgba(0,0,0,0)) !important;
    z-index: 1;
    pointer-events: none;  
}
.travel-partner-hero * {
    position: relative;
    z-index: 2;
}/* End custom CSS */
/* Start custom CSS for image-box, class: .elementor-element-3a6dce20 */.count{
    color: #e68844 !important;
    font-weight: 800;
}

.elementor-588956 .elementor-element.elementor-element-3a6dce20 .elementor-image-box-content{
    margin-left: 20px;
}

@media (max-width: 1024px){
    .elementor-588956 .elementor-element.elementor-element-3a6dce20 .elementor-image-box-wrapper {
        display:flex;
        flex-direction:column !important;
    }
}/* End custom CSS */
/* Start custom CSS for image-box, class: .elementor-element-29829db9 */.elementor-588956 .elementor-element.elementor-element-29829db9 .count{
    color: #e68844 !important;
    font-weight: 700;
}

@media (max-width: 1024px){
    .elementor-588956 .elementor-element.elementor-element-29829db9 .elementor-image-box-wrapper {
        display:flex;
        flex-direction:column !important;
    }
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-106d336b */a:hover * { 
    text-decoration: none !important; }/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-263a4225 */a:hover{
    text-decoration: none !important;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-45e3f6bc */.elementor-588956 .elementor-element.elementor-element-45e3f6bc .travel-partner-flag {
    width: 36px;    /* adjust as needed */
    height: auto;
    display: block;
}

.elementor-588956 .elementor-element.elementor-element-45e3f6bc .elementor-shortcode{
    display: flex !important;
    gap:5px;
}

.elementor-588956 .elementor-element.elementor-element-45e3f6bc li {
    list-style: none;  
    margin: 0;       
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-233ba221 */.tp-col-left .partners-company-text ul {
    display: flex;
    gap: 20px; /* spacing between logos */
    flex-wrap: wrap;
    padding: 0;
    margin: 0;
}

.tp-col-left .partners-company-text li {
    list-style: none;
    padding: 15px 30px; /* combined original padding */
    margin: 0;
    box-sizing: border-box;
    display: flex;
    border: 1px solid #ccc;
}


.tp-col-left .partners-company-text > ul:first-of-type {
    display: block;
    list-style: none; 
    
}

.tp-col-left .partners-company-text > ul:first-of-type li {
    position: relative;
    padding-left: 25px; 
    border: none !important;
 
}

.tp-col-left .partners-company-text > ul:first-of-type li::before {
    content: "✓"; /* tick symbol */
    position: absolute;
    left: 0;
    color: green; /* tick color */
    font-weight: bold;
}


.elementor-588956 .elementor-element.elementor-element-233ba221 .partners-company-text h2{
 font-size: 30px;
 font-family: Montserrat, Arial, Helvetica, sans-serif;
 font-weight: 300;
}

.elementor-588956 .elementor-element.elementor-element-233ba221 .partners-company-text p{
 font-size: 18px;
 font-family: Nunito, Arial, Helvetica, sans-serif;
 color: rgb(86, 96, 95);
 font-weight: 400;
}

.elementor-588956 .elementor-element.elementor-element-233ba221 .partners-company-text h5{
 font-size: 22px;
 font-family: Montserrat, Arial, Helvetica, sans-serif;
 font-weight: 400;
}

@media (max-width: 768px) {
  .memberships-affiliations {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
    box-sizing: border-box !important;
  }

  .memberships-affiliations ul {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 16px !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    list-style: none !important;
    box-sizing: border-box !important;
  }

  .memberships-affiliations li {
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    box-sizing: border-box !important;
  }

  .memberships-logo {
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    box-sizing: border-box !important;
  }

  .memberships-logo img {
    max-width: 100% !important;
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
  }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-5eb26d20 */.elementor-588956 .elementor-element.elementor-element-5eb26d20 .travel-partner-flag {
    width: 36px;    /* adjust as needed */
    height: auto;
    display: block;
}

.elementor-588956 .elementor-element.elementor-element-5eb26d20 .elementor-shortcode{
    display: flex !important;
    gap:5px;
}

.elementor-588956 .elementor-element.elementor-element-5eb26d20 li {
    list-style: none;  
    margin: 0;       
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-4b455f36 *//* Grid container */
.custom-masonry-container {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); 
  gap: 4px; 
  padding: 0;
}

/* Each grid item */
.custom-grid-item {
  position: relative;
  overflow: hidden;
  width: 100%;
  padding-top: 100%; /* 1:1 aspect ratio to make square */
}

/* Image wrapper to position the img inside the square */
.custom-safari-photos-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100% !important;
}

/* Image itself */
.custom-safari-photos-img img {
  width: 100%;
  height: 100%;
  object-fit: cover; /* crop and fill the square */
  display: block;
}

/* Overlay icon in the center */
.custom-gallery-icon {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 32px; /* smaller icon for small images */
  height: 32px;
  opacity: 0;
  transition: opacity 0.3s;
}

.custom-grid-item:hover .custom-gallery-icon {
  opacity: 1;
}


@media (max-width: 768px) {
  .custom-masonry-container {
    grid-template-columns: repeat(2, 1fr) !important; /* always 2 columns */
    gap: 4px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .custom-grid-item {
    width: 100% !important;
    padding-top: 100% !important; /* keep perfect squares */
  }

  .custom-safari-photos-img,
  .custom-safari-photos-img img {
    width: 100% !important;
    height: 100% !important;
  }
}


@media (max-width: 1024px) {
  .custom-masonry-container {
    grid-template-columns: repeat(3, 1fr) !important; /* always 2 columns */
    gap: 4px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .custom-grid-item {
    width: 100% !important;
    padding-top: 100% !important; /* keep perfect squares */
  }

  .custom-safari-photos-img,
  .custom-safari-photos-img img {
    width: 100% !important;
    height: 100% !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-21b7405a */.elementor-588956 .elementor-element.elementor-element-21b7405a{
    min-height: 150px !important;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-e8cf138 *//* Grid container for videos */
.partners-safari-videos .custom-row {
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* 3 videos per row */
    gap: 20px; /* space between videos */
    justify-items: start;  /* align items to the left */
    align-items: start;    /* align items to the top */
}

/* Individual video wrapper */
.video-wrapper {
    width: 100%;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
    border-radius: 10px;
    overflow: hidden;
    background: #fff;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.video-wrapper:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
}

/* Main video container */
.safari-videos-main {
    position: relative;
    width: 100%;
}

/* Thumbnail image */
.safari-photos-img img {
    display: block;
    width: 100%;
    height: auto;
}

/* Play icon overlay */
.video-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 60px;
    height: 60px;
    background: rgba(0, 0, 0, 0.5);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background 0.3s ease, transform 0.3s ease;
}

.video-icon img {
    width: 30px;
    height: 30px;
}

.video-icon:hover {
    background: rgba(0, 0, 0, 0.7);
    transform: translate(-50%, -50%) scale(1.1);
}

/* Video title */
.safari-videos-title {
    padding: 10px 15px;
    font-size: 1.1rem;
    font-weight: 600;
    text-align: center;
}

/* Force strict 2-column layout for videos on mobile */
@media (max-width: 768px) {
  .partners-safari-videos .custom-row {
    grid-template-columns: repeat(2, 1fr) !important; /* always 2 columns */
    gap: 12px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .video-wrapper {
    width: 100% !important;
  }

  .safari-videos-main,
  .safari-photos-img img {
    width: 100% !important;
    height: auto !important;
  }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-61726b8c */#e-n-tab-content-143022565 > .e-con-inner {
    margin: 0 !important;
}

.elementor-588956 .elementor-element.elementor-element-61726b8c .safari-map{
  color: rgb(86, 96, 95);
  background-color: rgba(0, 0, 0, 0);
  font-size: 18px;
  font-family: Nunito, Arial, Helvetica, sans-serif;
  font-weight: 400;
  width: 100% !important;
    max-width: 100% !important;
    word-break: break-word;
    overflow-wrap: break-word; padding:0px !important;

}


@media (max-width: 768px) {

  .partners-safari-map {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
    overflow-x: hidden;
  }

  
  .safari-map {
    width: 100% !important;
    max-width: 100% !important;
    word-break: break-word;
    overflow-wrap: break-word; padding:0px !important;
    font-size: 14px;
  }


  
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-75f96258 */.elementor-588956 .elementor-element.elementor-element-75f96258 .count{
    color: black !important;
    font-size: 29px;
    font-family: 'Montserrat';
    font-weight: 400;
}

@media (max-width: 768px) {
    .elementor-588956 .elementor-element.elementor-element-75f96258 .count{
    color: black !important;
    font-size: 22px;
    font-family: 'Montserrat';
    font-weight: 400;
}
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-41e9b0d3 *//* Professional Review Form Styles */
.review-form-container {
    max-width: 800px;
    margin: 30px auto;
    padding: 25px 30px;
    background: #fff;
    border-radius: 12px;
    border: 1px solid #D3D3D3;
    font-family: 'Montserrat', sans-serif;
}

.elementor-588956 .elementor-element.elementor-element-41e9b0d3 fieldset{
    padding:15px 0 !important;
} 

.review-form-container h2.review-title {
    font-size: 22px;
    font-weight: 600;
    margin-bottom: 20px;
    color: #333;
    text-align: center;
}

#partner-review-form .form-row {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin-bottom: 20px;
}

#partner-review-form .form-field {
    flex: 1;
    display: flex;
    flex-direction: column;
}

#partner-review-form .form-field.full-width {
    flex: 100%;
}

#partner-review-form label {
    font-size: 13px;
    font-weight: 500;
    color: #555;
    margin-bottom: 6px;
}

#partner-review-form input[type="text"],
#partner-review-form textarea,
#partner-review-form select {
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    padding: 8px 12px;
    border: 1px solid #ccc;
    border-radius: 6px;
    outline: none;
    transition: border-color 0.2s;
}

#partner-review-form input[type="text"]:disabled {
    background-color: #f5f5f5;
    color: #555;
}

#partner-review-form input[type="text"]:focus,
#partner-review-form textarea:focus,
#partner-review-form select:focus {
    border-color: #0073e6;
}

#partner-review-form textarea {
    resize: vertical;
}

.rating-row {
    flex-direction: column;
}

.rating-field {
    display: flex;
    align-items: center;
    gap: 10px;
}

.rating-field label {
    min-width: 100px;
    color: #333;
    text-align: center;
}

.rating-field .star {
    display: flex;
    gap: 4px;
}

/* Star Rating Inputs */
.rating input[type="radio"] {
    display: none;
}

.rating label {
    font-size: 16px;
    cursor: pointer;
    color: #ccc;
    transition: color 0.2s;
}

.rating input[type="radio"]:checked ~ label {
    color: #ffb400;
}

.rating label:hover,
.rating label:hover ~ label {
    color: #ffb400;
}

#submit-review-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 20px;
    font-size: 15px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #e68844;
    border: 3px solid #e68844;
    cursor: pointer;
    transition: all 0.3s ease;
    background-color: white;
}

#submit-review-btn:hover {
     color: #e68844;
   background-color: white
}

.ajax-msg {
    margin-top: 12px;
    font-size: 13px;
    color: green;
}

/* Inline Star Rating */
.rating-field {
    display: flex;
    align-items: center;
    gap: 8px;
   
}




/* Hide radio buttons */
.rating input[type="radio"] {
    display: none;
}

/* Stars */
.rating label::before {
    content: '☆';
    font-size: 18px;
    color: #ccc;
    margin-right: 2px;
    transition: color 0.2s;
}

/* Checked stars */
.rating input[type="radio"]:checked ~ label::before {
    color: #ffb400;
    content: '★';
}

/* Hover effect */
.rating label:hover::before,
.rating label:hover ~ label::before {
    color: #ffb400;
    content: '★';
}

/* Make all stars inline */
.rating {
    display: flex;
    gap: 4px;
}


/* Responsive */
@media (max-width: 768px) {
    #partner-review-form .form-row {
        flex-direction: column;
    }
    .rating-field label {
        min-width: auto;
    }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-766fba47 *//* Container for all reviews */
.custom-reviews-container {
    display: flex;
    flex-direction: column;
    gap: 20px; /* space between reviews */
}

/* Individual review item */
.custom-review-item {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    padding: 15px;
    border: 1px solid #e0e0e0; /* subtle border */
    border-radius: 8px;
    background: #ffffff;
}

/* Review avatar wrapper */
.custom-review-thumb {
    flex-shrink: 0;
}

/* Avatar image */
.custom-img-circle img {
    width: 85px;
    height: 85px;
    border-radius: 50%; /* makes it round */
    object-fit: cover;
    display: block;
}

/* Review content */
.custom-review-content {
    flex: 1;
}

/* Review title */
.custom-review-content h2 {
    font-size: 20px;
    font-family: Montserrat, Arial, Helvetica, sans-serif;
    font-weight: 600;
    margin-top: 0 !important;
    margin-bottom: 5px;
}

/* Meta (author + date) */
.custom-review-date {
    font-size: 16px;
    color: rgb(86, 96, 95);
    font-family: Nunito, Arial, Helvetica, sans-serif;
    font-weight: 400;
    margin-bottom: 8px;
}

/* Review text */
.custom-review-text {
    font-size: 16px;
    color: rgb(86, 96, 95);
    font-family: Nunito, Arial, Helvetica, sans-serif;
    font-weight: 400;
    margin-bottom: 8px;
}

/* No reviews message */
.first-review {
    font-size: 18px;
    font-family: Montserrat, Arial, Helvetica, sans-serif;
    font-weight: 300;
    color: #666;
}

@media (max-width: 768px) {

    .custom-review-item {
        flex-direction: row; /* keep desktop layout */
        align-items: flex-start;
        gap: 12px;
        padding: 12px;
    }

    /* Avatar */
    .custom-img-circle img {
        width: 55px;
        height: 55px;
    }

    /* Review title */
    .custom-review-content h2 {
        font-size: 16px;
        line-height: 1.3;
        margin-bottom: 4px;
    }

    /* Meta (date) */
    .custom-review-date {
        font-size: 14px;
        margin-bottom: 6px;
    }

    /* Review text */
    .custom-review-text {
        font-size: 14px;
        line-height: 1.5;
    }

    /* Remove stacking spacing */
    .custom-review-thumb {
        margin-bottom: 0;
    }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-45e3f6bc */.elementor-588956 .elementor-element.elementor-element-45e3f6bc .travel-partner-flag {
    width: 36px;    /* adjust as needed */
    height: auto;
    display: block;
}

.elementor-588956 .elementor-element.elementor-element-45e3f6bc .elementor-shortcode{
    display: flex !important;
    gap:5px;
}

.elementor-588956 .elementor-element.elementor-element-45e3f6bc li {
    list-style: none;  
    margin: 0;       
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-233ba221 */.tp-col-left .partners-company-text ul {
    display: flex;
    gap: 20px; /* spacing between logos */
    flex-wrap: wrap;
    padding: 0;
    margin: 0;
}

.tp-col-left .partners-company-text li {
    list-style: none;
    padding: 15px 30px; /* combined original padding */
    margin: 0;
    box-sizing: border-box;
    display: flex;
    border: 1px solid #ccc;
}


.tp-col-left .partners-company-text > ul:first-of-type {
    display: block;
    list-style: none; 
    
}

.tp-col-left .partners-company-text > ul:first-of-type li {
    position: relative;
    padding-left: 25px; 
    border: none !important;
 
}

.tp-col-left .partners-company-text > ul:first-of-type li::before {
    content: "✓"; /* tick symbol */
    position: absolute;
    left: 0;
    color: green; /* tick color */
    font-weight: bold;
}


.elementor-588956 .elementor-element.elementor-element-233ba221 .partners-company-text h2{
 font-size: 30px;
 font-family: Montserrat, Arial, Helvetica, sans-serif;
 font-weight: 300;
}

.elementor-588956 .elementor-element.elementor-element-233ba221 .partners-company-text p{
 font-size: 18px;
 font-family: Nunito, Arial, Helvetica, sans-serif;
 color: rgb(86, 96, 95);
 font-weight: 400;
}

.elementor-588956 .elementor-element.elementor-element-233ba221 .partners-company-text h5{
 font-size: 22px;
 font-family: Montserrat, Arial, Helvetica, sans-serif;
 font-weight: 400;
}

@media (max-width: 768px) {
  .memberships-affiliations {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
    box-sizing: border-box !important;
  }

  .memberships-affiliations ul {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 16px !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    list-style: none !important;
    box-sizing: border-box !important;
  }

  .memberships-affiliations li {
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    box-sizing: border-box !important;
  }

  .memberships-logo {
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    box-sizing: border-box !important;
  }

  .memberships-logo img {
    max-width: 100% !important;
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
  }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-5eb26d20 */.elementor-588956 .elementor-element.elementor-element-5eb26d20 .travel-partner-flag {
    width: 36px;    /* adjust as needed */
    height: auto;
    display: block;
}

.elementor-588956 .elementor-element.elementor-element-5eb26d20 .elementor-shortcode{
    display: flex !important;
    gap:5px;
}

.elementor-588956 .elementor-element.elementor-element-5eb26d20 li {
    list-style: none;  
    margin: 0;       
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-4b455f36 *//* Grid container */
.custom-masonry-container {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); 
  gap: 4px; 
  padding: 0;
}

/* Each grid item */
.custom-grid-item {
  position: relative;
  overflow: hidden;
  width: 100%;
  padding-top: 100%; /* 1:1 aspect ratio to make square */
}

/* Image wrapper to position the img inside the square */
.custom-safari-photos-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100% !important;
}

/* Image itself */
.custom-safari-photos-img img {
  width: 100%;
  height: 100%;
  object-fit: cover; /* crop and fill the square */
  display: block;
}

/* Overlay icon in the center */
.custom-gallery-icon {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 32px; /* smaller icon for small images */
  height: 32px;
  opacity: 0;
  transition: opacity 0.3s;
}

.custom-grid-item:hover .custom-gallery-icon {
  opacity: 1;
}


@media (max-width: 768px) {
  .custom-masonry-container {
    grid-template-columns: repeat(2, 1fr) !important; /* always 2 columns */
    gap: 4px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .custom-grid-item {
    width: 100% !important;
    padding-top: 100% !important; /* keep perfect squares */
  }

  .custom-safari-photos-img,
  .custom-safari-photos-img img {
    width: 100% !important;
    height: 100% !important;
  }
}


@media (max-width: 1024px) {
  .custom-masonry-container {
    grid-template-columns: repeat(3, 1fr) !important; /* always 2 columns */
    gap: 4px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .custom-grid-item {
    width: 100% !important;
    padding-top: 100% !important; /* keep perfect squares */
  }

  .custom-safari-photos-img,
  .custom-safari-photos-img img {
    width: 100% !important;
    height: 100% !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-21b7405a */.elementor-588956 .elementor-element.elementor-element-21b7405a{
    min-height: 150px !important;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-e8cf138 *//* Grid container for videos */
.partners-safari-videos .custom-row {
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* 3 videos per row */
    gap: 20px; /* space between videos */
    justify-items: start;  /* align items to the left */
    align-items: start;    /* align items to the top */
}

/* Individual video wrapper */
.video-wrapper {
    width: 100%;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
    border-radius: 10px;
    overflow: hidden;
    background: #fff;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.video-wrapper:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
}

/* Main video container */
.safari-videos-main {
    position: relative;
    width: 100%;
}

/* Thumbnail image */
.safari-photos-img img {
    display: block;
    width: 100%;
    height: auto;
}

/* Play icon overlay */
.video-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 60px;
    height: 60px;
    background: rgba(0, 0, 0, 0.5);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background 0.3s ease, transform 0.3s ease;
}

.video-icon img {
    width: 30px;
    height: 30px;
}

.video-icon:hover {
    background: rgba(0, 0, 0, 0.7);
    transform: translate(-50%, -50%) scale(1.1);
}

/* Video title */
.safari-videos-title {
    padding: 10px 15px;
    font-size: 1.1rem;
    font-weight: 600;
    text-align: center;
}

/* Force strict 2-column layout for videos on mobile */
@media (max-width: 768px) {
  .partners-safari-videos .custom-row {
    grid-template-columns: repeat(2, 1fr) !important; /* always 2 columns */
    gap: 12px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .video-wrapper {
    width: 100% !important;
  }

  .safari-videos-main,
  .safari-photos-img img {
    width: 100% !important;
    height: auto !important;
  }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-61726b8c */#e-n-tab-content-143022565 > .e-con-inner {
    margin: 0 !important;
}

.elementor-588956 .elementor-element.elementor-element-61726b8c .safari-map{
  color: rgb(86, 96, 95);
  background-color: rgba(0, 0, 0, 0);
  font-size: 18px;
  font-family: Nunito, Arial, Helvetica, sans-serif;
  font-weight: 400;
  width: 100% !important;
    max-width: 100% !important;
    word-break: break-word;
    overflow-wrap: break-word; padding:0px !important;

}


@media (max-width: 768px) {

  .partners-safari-map {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
    overflow-x: hidden;
  }

  
  .safari-map {
    width: 100% !important;
    max-width: 100% !important;
    word-break: break-word;
    overflow-wrap: break-word; padding:0px !important;
    font-size: 14px;
  }


  
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-75f96258 */.elementor-588956 .elementor-element.elementor-element-75f96258 .count{
    color: black !important;
    font-size: 29px;
    font-family: 'Montserrat';
    font-weight: 400;
}

@media (max-width: 768px) {
    .elementor-588956 .elementor-element.elementor-element-75f96258 .count{
    color: black !important;
    font-size: 22px;
    font-family: 'Montserrat';
    font-weight: 400;
}
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-41e9b0d3 *//* Professional Review Form Styles */
.review-form-container {
    max-width: 800px;
    margin: 30px auto;
    padding: 25px 30px;
    background: #fff;
    border-radius: 12px;
    border: 1px solid #D3D3D3;
    font-family: 'Montserrat', sans-serif;
}

.elementor-588956 .elementor-element.elementor-element-41e9b0d3 fieldset{
    padding:15px 0 !important;
} 

.review-form-container h2.review-title {
    font-size: 22px;
    font-weight: 600;
    margin-bottom: 20px;
    color: #333;
    text-align: center;
}

#partner-review-form .form-row {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin-bottom: 20px;
}

#partner-review-form .form-field {
    flex: 1;
    display: flex;
    flex-direction: column;
}

#partner-review-form .form-field.full-width {
    flex: 100%;
}

#partner-review-form label {
    font-size: 13px;
    font-weight: 500;
    color: #555;
    margin-bottom: 6px;
}

#partner-review-form input[type="text"],
#partner-review-form textarea,
#partner-review-form select {
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    padding: 8px 12px;
    border: 1px solid #ccc;
    border-radius: 6px;
    outline: none;
    transition: border-color 0.2s;
}

#partner-review-form input[type="text"]:disabled {
    background-color: #f5f5f5;
    color: #555;
}

#partner-review-form input[type="text"]:focus,
#partner-review-form textarea:focus,
#partner-review-form select:focus {
    border-color: #0073e6;
}

#partner-review-form textarea {
    resize: vertical;
}

.rating-row {
    flex-direction: column;
}

.rating-field {
    display: flex;
    align-items: center;
    gap: 10px;
}

.rating-field label {
    min-width: 100px;
    color: #333;
    text-align: center;
}

.rating-field .star {
    display: flex;
    gap: 4px;
}

/* Star Rating Inputs */
.rating input[type="radio"] {
    display: none;
}

.rating label {
    font-size: 16px;
    cursor: pointer;
    color: #ccc;
    transition: color 0.2s;
}

.rating input[type="radio"]:checked ~ label {
    color: #ffb400;
}

.rating label:hover,
.rating label:hover ~ label {
    color: #ffb400;
}

#submit-review-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 20px;
    font-size: 15px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #e68844;
    border: 3px solid #e68844;
    cursor: pointer;
    transition: all 0.3s ease;
    background-color: white;
}

#submit-review-btn:hover {
     color: #e68844;
   background-color: white
}

.ajax-msg {
    margin-top: 12px;
    font-size: 13px;
    color: green;
}

/* Inline Star Rating */
.rating-field {
    display: flex;
    align-items: center;
    gap: 8px;
   
}




/* Hide radio buttons */
.rating input[type="radio"] {
    display: none;
}

/* Stars */
.rating label::before {
    content: '☆';
    font-size: 18px;
    color: #ccc;
    margin-right: 2px;
    transition: color 0.2s;
}

/* Checked stars */
.rating input[type="radio"]:checked ~ label::before {
    color: #ffb400;
    content: '★';
}

/* Hover effect */
.rating label:hover::before,
.rating label:hover ~ label::before {
    color: #ffb400;
    content: '★';
}

/* Make all stars inline */
.rating {
    display: flex;
    gap: 4px;
}


/* Responsive */
@media (max-width: 768px) {
    #partner-review-form .form-row {
        flex-direction: column;
    }
    .rating-field label {
        min-width: auto;
    }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-766fba47 *//* Container for all reviews */
.custom-reviews-container {
    display: flex;
    flex-direction: column;
    gap: 20px; /* space between reviews */
}

/* Individual review item */
.custom-review-item {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    padding: 15px;
    border: 1px solid #e0e0e0; /* subtle border */
    border-radius: 8px;
    background: #ffffff;
}

/* Review avatar wrapper */
.custom-review-thumb {
    flex-shrink: 0;
}

/* Avatar image */
.custom-img-circle img {
    width: 85px;
    height: 85px;
    border-radius: 50%; /* makes it round */
    object-fit: cover;
    display: block;
}

/* Review content */
.custom-review-content {
    flex: 1;
}

/* Review title */
.custom-review-content h2 {
    font-size: 20px;
    font-family: Montserrat, Arial, Helvetica, sans-serif;
    font-weight: 600;
    margin-top: 0 !important;
    margin-bottom: 5px;
}

/* Meta (author + date) */
.custom-review-date {
    font-size: 16px;
    color: rgb(86, 96, 95);
    font-family: Nunito, Arial, Helvetica, sans-serif;
    font-weight: 400;
    margin-bottom: 8px;
}

/* Review text */
.custom-review-text {
    font-size: 16px;
    color: rgb(86, 96, 95);
    font-family: Nunito, Arial, Helvetica, sans-serif;
    font-weight: 400;
    margin-bottom: 8px;
}

/* No reviews message */
.first-review {
    font-size: 18px;
    font-family: Montserrat, Arial, Helvetica, sans-serif;
    font-weight: 300;
    color: #666;
}

@media (max-width: 768px) {

    .custom-review-item {
        flex-direction: row; /* keep desktop layout */
        align-items: flex-start;
        gap: 12px;
        padding: 12px;
    }

    /* Avatar */
    .custom-img-circle img {
        width: 55px;
        height: 55px;
    }

    /* Review title */
    .custom-review-content h2 {
        font-size: 16px;
        line-height: 1.3;
        margin-bottom: 4px;
    }

    /* Meta (date) */
    .custom-review-date {
        font-size: 14px;
        margin-bottom: 6px;
    }

    /* Review text */
    .custom-review-text {
        font-size: 14px;
        line-height: 1.5;
    }

    /* Remove stacking spacing */
    .custom-review-thumb {
        margin-bottom: 0;
    }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-45e3f6bc */.elementor-588956 .elementor-element.elementor-element-45e3f6bc .travel-partner-flag {
    width: 36px;    /* adjust as needed */
    height: auto;
    display: block;
}

.elementor-588956 .elementor-element.elementor-element-45e3f6bc .elementor-shortcode{
    display: flex !important;
    gap:5px;
}

.elementor-588956 .elementor-element.elementor-element-45e3f6bc li {
    list-style: none;  
    margin: 0;       
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-233ba221 */.tp-col-left .partners-company-text ul {
    display: flex;
    gap: 20px; /* spacing between logos */
    flex-wrap: wrap;
    padding: 0;
    margin: 0;
}

.tp-col-left .partners-company-text li {
    list-style: none;
    padding: 15px 30px; /* combined original padding */
    margin: 0;
    box-sizing: border-box;
    display: flex;
    border: 1px solid #ccc;
}


.tp-col-left .partners-company-text > ul:first-of-type {
    display: block;
    list-style: none; 
    
}

.tp-col-left .partners-company-text > ul:first-of-type li {
    position: relative;
    padding-left: 25px; 
    border: none !important;
 
}

.tp-col-left .partners-company-text > ul:first-of-type li::before {
    content: "✓"; /* tick symbol */
    position: absolute;
    left: 0;
    color: green; /* tick color */
    font-weight: bold;
}


.elementor-588956 .elementor-element.elementor-element-233ba221 .partners-company-text h2{
 font-size: 30px;
 font-family: Montserrat, Arial, Helvetica, sans-serif;
 font-weight: 300;
}

.elementor-588956 .elementor-element.elementor-element-233ba221 .partners-company-text p{
 font-size: 18px;
 font-family: Nunito, Arial, Helvetica, sans-serif;
 color: rgb(86, 96, 95);
 font-weight: 400;
}

.elementor-588956 .elementor-element.elementor-element-233ba221 .partners-company-text h5{
 font-size: 22px;
 font-family: Montserrat, Arial, Helvetica, sans-serif;
 font-weight: 400;
}

@media (max-width: 768px) {
  .memberships-affiliations {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
    box-sizing: border-box !important;
  }

  .memberships-affiliations ul {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 16px !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    list-style: none !important;
    box-sizing: border-box !important;
  }

  .memberships-affiliations li {
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    box-sizing: border-box !important;
  }

  .memberships-logo {
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    box-sizing: border-box !important;
  }

  .memberships-logo img {
    max-width: 100% !important;
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
  }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-5eb26d20 */.elementor-588956 .elementor-element.elementor-element-5eb26d20 .travel-partner-flag {
    width: 36px;    /* adjust as needed */
    height: auto;
    display: block;
}

.elementor-588956 .elementor-element.elementor-element-5eb26d20 .elementor-shortcode{
    display: flex !important;
    gap:5px;
}

.elementor-588956 .elementor-element.elementor-element-5eb26d20 li {
    list-style: none;  
    margin: 0;       
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-4b455f36 *//* Grid container */
.custom-masonry-container {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); 
  gap: 4px; 
  padding: 0;
}

/* Each grid item */
.custom-grid-item {
  position: relative;
  overflow: hidden;
  width: 100%;
  padding-top: 100%; /* 1:1 aspect ratio to make square */
}

/* Image wrapper to position the img inside the square */
.custom-safari-photos-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100% !important;
}

/* Image itself */
.custom-safari-photos-img img {
  width: 100%;
  height: 100%;
  object-fit: cover; /* crop and fill the square */
  display: block;
}

/* Overlay icon in the center */
.custom-gallery-icon {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 32px; /* smaller icon for small images */
  height: 32px;
  opacity: 0;
  transition: opacity 0.3s;
}

.custom-grid-item:hover .custom-gallery-icon {
  opacity: 1;
}


@media (max-width: 768px) {
  .custom-masonry-container {
    grid-template-columns: repeat(2, 1fr) !important; /* always 2 columns */
    gap: 4px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .custom-grid-item {
    width: 100% !important;
    padding-top: 100% !important; /* keep perfect squares */
  }

  .custom-safari-photos-img,
  .custom-safari-photos-img img {
    width: 100% !important;
    height: 100% !important;
  }
}


@media (max-width: 1024px) {
  .custom-masonry-container {
    grid-template-columns: repeat(3, 1fr) !important; /* always 2 columns */
    gap: 4px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .custom-grid-item {
    width: 100% !important;
    padding-top: 100% !important; /* keep perfect squares */
  }

  .custom-safari-photos-img,
  .custom-safari-photos-img img {
    width: 100% !important;
    height: 100% !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-21b7405a */.elementor-588956 .elementor-element.elementor-element-21b7405a{
    min-height: 150px !important;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-e8cf138 *//* Grid container for videos */
.partners-safari-videos .custom-row {
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* 3 videos per row */
    gap: 20px; /* space between videos */
    justify-items: start;  /* align items to the left */
    align-items: start;    /* align items to the top */
}

/* Individual video wrapper */
.video-wrapper {
    width: 100%;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
    border-radius: 10px;
    overflow: hidden;
    background: #fff;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.video-wrapper:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
}

/* Main video container */
.safari-videos-main {
    position: relative;
    width: 100%;
}

/* Thumbnail image */
.safari-photos-img img {
    display: block;
    width: 100%;
    height: auto;
}

/* Play icon overlay */
.video-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 60px;
    height: 60px;
    background: rgba(0, 0, 0, 0.5);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background 0.3s ease, transform 0.3s ease;
}

.video-icon img {
    width: 30px;
    height: 30px;
}

.video-icon:hover {
    background: rgba(0, 0, 0, 0.7);
    transform: translate(-50%, -50%) scale(1.1);
}

/* Video title */
.safari-videos-title {
    padding: 10px 15px;
    font-size: 1.1rem;
    font-weight: 600;
    text-align: center;
}

/* Force strict 2-column layout for videos on mobile */
@media (max-width: 768px) {
  .partners-safari-videos .custom-row {
    grid-template-columns: repeat(2, 1fr) !important; /* always 2 columns */
    gap: 12px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .video-wrapper {
    width: 100% !important;
  }

  .safari-videos-main,
  .safari-photos-img img {
    width: 100% !important;
    height: auto !important;
  }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-61726b8c */#e-n-tab-content-143022565 > .e-con-inner {
    margin: 0 !important;
}

.elementor-588956 .elementor-element.elementor-element-61726b8c .safari-map{
  color: rgb(86, 96, 95);
  background-color: rgba(0, 0, 0, 0);
  font-size: 18px;
  font-family: Nunito, Arial, Helvetica, sans-serif;
  font-weight: 400;
  width: 100% !important;
    max-width: 100% !important;
    word-break: break-word;
    overflow-wrap: break-word; padding:0px !important;

}


@media (max-width: 768px) {

  .partners-safari-map {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
    overflow-x: hidden;
  }

  
  .safari-map {
    width: 100% !important;
    max-width: 100% !important;
    word-break: break-word;
    overflow-wrap: break-word; padding:0px !important;
    font-size: 14px;
  }


  
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-75f96258 */.elementor-588956 .elementor-element.elementor-element-75f96258 .count{
    color: black !important;
    font-size: 29px;
    font-family: 'Montserrat';
    font-weight: 400;
}

@media (max-width: 768px) {
    .elementor-588956 .elementor-element.elementor-element-75f96258 .count{
    color: black !important;
    font-size: 22px;
    font-family: 'Montserrat';
    font-weight: 400;
}
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-41e9b0d3 *//* Professional Review Form Styles */
.review-form-container {
    max-width: 800px;
    margin: 30px auto;
    padding: 25px 30px;
    background: #fff;
    border-radius: 12px;
    border: 1px solid #D3D3D3;
    font-family: 'Montserrat', sans-serif;
}

.elementor-588956 .elementor-element.elementor-element-41e9b0d3 fieldset{
    padding:15px 0 !important;
} 

.review-form-container h2.review-title {
    font-size: 22px;
    font-weight: 600;
    margin-bottom: 20px;
    color: #333;
    text-align: center;
}

#partner-review-form .form-row {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin-bottom: 20px;
}

#partner-review-form .form-field {
    flex: 1;
    display: flex;
    flex-direction: column;
}

#partner-review-form .form-field.full-width {
    flex: 100%;
}

#partner-review-form label {
    font-size: 13px;
    font-weight: 500;
    color: #555;
    margin-bottom: 6px;
}

#partner-review-form input[type="text"],
#partner-review-form textarea,
#partner-review-form select {
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    padding: 8px 12px;
    border: 1px solid #ccc;
    border-radius: 6px;
    outline: none;
    transition: border-color 0.2s;
}

#partner-review-form input[type="text"]:disabled {
    background-color: #f5f5f5;
    color: #555;
}

#partner-review-form input[type="text"]:focus,
#partner-review-form textarea:focus,
#partner-review-form select:focus {
    border-color: #0073e6;
}

#partner-review-form textarea {
    resize: vertical;
}

.rating-row {
    flex-direction: column;
}

.rating-field {
    display: flex;
    align-items: center;
    gap: 10px;
}

.rating-field label {
    min-width: 100px;
    color: #333;
    text-align: center;
}

.rating-field .star {
    display: flex;
    gap: 4px;
}

/* Star Rating Inputs */
.rating input[type="radio"] {
    display: none;
}

.rating label {
    font-size: 16px;
    cursor: pointer;
    color: #ccc;
    transition: color 0.2s;
}

.rating input[type="radio"]:checked ~ label {
    color: #ffb400;
}

.rating label:hover,
.rating label:hover ~ label {
    color: #ffb400;
}

#submit-review-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 20px;
    font-size: 15px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #e68844;
    border: 3px solid #e68844;
    cursor: pointer;
    transition: all 0.3s ease;
    background-color: white;
}

#submit-review-btn:hover {
     color: #e68844;
   background-color: white
}

.ajax-msg {
    margin-top: 12px;
    font-size: 13px;
    color: green;
}

/* Inline Star Rating */
.rating-field {
    display: flex;
    align-items: center;
    gap: 8px;
   
}




/* Hide radio buttons */
.rating input[type="radio"] {
    display: none;
}

/* Stars */
.rating label::before {
    content: '☆';
    font-size: 18px;
    color: #ccc;
    margin-right: 2px;
    transition: color 0.2s;
}

/* Checked stars */
.rating input[type="radio"]:checked ~ label::before {
    color: #ffb400;
    content: '★';
}

/* Hover effect */
.rating label:hover::before,
.rating label:hover ~ label::before {
    color: #ffb400;
    content: '★';
}

/* Make all stars inline */
.rating {
    display: flex;
    gap: 4px;
}


/* Responsive */
@media (max-width: 768px) {
    #partner-review-form .form-row {
        flex-direction: column;
    }
    .rating-field label {
        min-width: auto;
    }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-766fba47 *//* Container for all reviews */
.custom-reviews-container {
    display: flex;
    flex-direction: column;
    gap: 20px; /* space between reviews */
}

/* Individual review item */
.custom-review-item {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    padding: 15px;
    border: 1px solid #e0e0e0; /* subtle border */
    border-radius: 8px;
    background: #ffffff;
}

/* Review avatar wrapper */
.custom-review-thumb {
    flex-shrink: 0;
}

/* Avatar image */
.custom-img-circle img {
    width: 85px;
    height: 85px;
    border-radius: 50%; /* makes it round */
    object-fit: cover;
    display: block;
}

/* Review content */
.custom-review-content {
    flex: 1;
}

/* Review title */
.custom-review-content h2 {
    font-size: 20px;
    font-family: Montserrat, Arial, Helvetica, sans-serif;
    font-weight: 600;
    margin-top: 0 !important;
    margin-bottom: 5px;
}

/* Meta (author + date) */
.custom-review-date {
    font-size: 16px;
    color: rgb(86, 96, 95);
    font-family: Nunito, Arial, Helvetica, sans-serif;
    font-weight: 400;
    margin-bottom: 8px;
}

/* Review text */
.custom-review-text {
    font-size: 16px;
    color: rgb(86, 96, 95);
    font-family: Nunito, Arial, Helvetica, sans-serif;
    font-weight: 400;
    margin-bottom: 8px;
}

/* No reviews message */
.first-review {
    font-size: 18px;
    font-family: Montserrat, Arial, Helvetica, sans-serif;
    font-weight: 300;
    color: #666;
}

@media (max-width: 768px) {

    .custom-review-item {
        flex-direction: row; /* keep desktop layout */
        align-items: flex-start;
        gap: 12px;
        padding: 12px;
    }

    /* Avatar */
    .custom-img-circle img {
        width: 55px;
        height: 55px;
    }

    /* Review title */
    .custom-review-content h2 {
        font-size: 16px;
        line-height: 1.3;
        margin-bottom: 4px;
    }

    /* Meta (date) */
    .custom-review-date {
        font-size: 14px;
        margin-bottom: 6px;
    }

    /* Review text */
    .custom-review-text {
        font-size: 14px;
        line-height: 1.5;
    }

    /* Remove stacking spacing */
    .custom-review-thumb {
        margin-bottom: 0;
    }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-45e3f6bc */.elementor-588956 .elementor-element.elementor-element-45e3f6bc .travel-partner-flag {
    width: 36px;    /* adjust as needed */
    height: auto;
    display: block;
}

.elementor-588956 .elementor-element.elementor-element-45e3f6bc .elementor-shortcode{
    display: flex !important;
    gap:5px;
}

.elementor-588956 .elementor-element.elementor-element-45e3f6bc li {
    list-style: none;  
    margin: 0;       
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-233ba221 */.tp-col-left .partners-company-text ul {
    display: flex;
    gap: 20px; /* spacing between logos */
    flex-wrap: wrap;
    padding: 0;
    margin: 0;
}

.tp-col-left .partners-company-text li {
    list-style: none;
    padding: 15px 30px; /* combined original padding */
    margin: 0;
    box-sizing: border-box;
    display: flex;
    border: 1px solid #ccc;
}


.tp-col-left .partners-company-text > ul:first-of-type {
    display: block;
    list-style: none; 
    
}

.tp-col-left .partners-company-text > ul:first-of-type li {
    position: relative;
    padding-left: 25px; 
    border: none !important;
 
}

.tp-col-left .partners-company-text > ul:first-of-type li::before {
    content: "✓"; /* tick symbol */
    position: absolute;
    left: 0;
    color: green; /* tick color */
    font-weight: bold;
}


.elementor-588956 .elementor-element.elementor-element-233ba221 .partners-company-text h2{
 font-size: 30px;
 font-family: Montserrat, Arial, Helvetica, sans-serif;
 font-weight: 300;
}

.elementor-588956 .elementor-element.elementor-element-233ba221 .partners-company-text p{
 font-size: 18px;
 font-family: Nunito, Arial, Helvetica, sans-serif;
 color: rgb(86, 96, 95);
 font-weight: 400;
}

.elementor-588956 .elementor-element.elementor-element-233ba221 .partners-company-text h5{
 font-size: 22px;
 font-family: Montserrat, Arial, Helvetica, sans-serif;
 font-weight: 400;
}

@media (max-width: 768px) {
  .memberships-affiliations {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
    box-sizing: border-box !important;
  }

  .memberships-affiliations ul {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 16px !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    list-style: none !important;
    box-sizing: border-box !important;
  }

  .memberships-affiliations li {
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    box-sizing: border-box !important;
  }

  .memberships-logo {
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    box-sizing: border-box !important;
  }

  .memberships-logo img {
    max-width: 100% !important;
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
  }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-5eb26d20 */.elementor-588956 .elementor-element.elementor-element-5eb26d20 .travel-partner-flag {
    width: 36px;    /* adjust as needed */
    height: auto;
    display: block;
}

.elementor-588956 .elementor-element.elementor-element-5eb26d20 .elementor-shortcode{
    display: flex !important;
    gap:5px;
}

.elementor-588956 .elementor-element.elementor-element-5eb26d20 li {
    list-style: none;  
    margin: 0;       
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-4b455f36 *//* Grid container */
.custom-masonry-container {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); 
  gap: 4px; 
  padding: 0;
}

/* Each grid item */
.custom-grid-item {
  position: relative;
  overflow: hidden;
  width: 100%;
  padding-top: 100%; /* 1:1 aspect ratio to make square */
}

/* Image wrapper to position the img inside the square */
.custom-safari-photos-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100% !important;
}

/* Image itself */
.custom-safari-photos-img img {
  width: 100%;
  height: 100%;
  object-fit: cover; /* crop and fill the square */
  display: block;
}

/* Overlay icon in the center */
.custom-gallery-icon {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 32px; /* smaller icon for small images */
  height: 32px;
  opacity: 0;
  transition: opacity 0.3s;
}

.custom-grid-item:hover .custom-gallery-icon {
  opacity: 1;
}


@media (max-width: 768px) {
  .custom-masonry-container {
    grid-template-columns: repeat(2, 1fr) !important; /* always 2 columns */
    gap: 4px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .custom-grid-item {
    width: 100% !important;
    padding-top: 100% !important; /* keep perfect squares */
  }

  .custom-safari-photos-img,
  .custom-safari-photos-img img {
    width: 100% !important;
    height: 100% !important;
  }
}


@media (max-width: 1024px) {
  .custom-masonry-container {
    grid-template-columns: repeat(3, 1fr) !important; /* always 2 columns */
    gap: 4px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .custom-grid-item {
    width: 100% !important;
    padding-top: 100% !important; /* keep perfect squares */
  }

  .custom-safari-photos-img,
  .custom-safari-photos-img img {
    width: 100% !important;
    height: 100% !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-21b7405a */.elementor-588956 .elementor-element.elementor-element-21b7405a{
    min-height: 150px !important;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-e8cf138 *//* Grid container for videos */
.partners-safari-videos .custom-row {
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* 3 videos per row */
    gap: 20px; /* space between videos */
    justify-items: start;  /* align items to the left */
    align-items: start;    /* align items to the top */
}

/* Individual video wrapper */
.video-wrapper {
    width: 100%;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
    border-radius: 10px;
    overflow: hidden;
    background: #fff;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.video-wrapper:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
}

/* Main video container */
.safari-videos-main {
    position: relative;
    width: 100%;
}

/* Thumbnail image */
.safari-photos-img img {
    display: block;
    width: 100%;
    height: auto;
}

/* Play icon overlay */
.video-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 60px;
    height: 60px;
    background: rgba(0, 0, 0, 0.5);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background 0.3s ease, transform 0.3s ease;
}

.video-icon img {
    width: 30px;
    height: 30px;
}

.video-icon:hover {
    background: rgba(0, 0, 0, 0.7);
    transform: translate(-50%, -50%) scale(1.1);
}

/* Video title */
.safari-videos-title {
    padding: 10px 15px;
    font-size: 1.1rem;
    font-weight: 600;
    text-align: center;
}

/* Force strict 2-column layout for videos on mobile */
@media (max-width: 768px) {
  .partners-safari-videos .custom-row {
    grid-template-columns: repeat(2, 1fr) !important; /* always 2 columns */
    gap: 12px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .video-wrapper {
    width: 100% !important;
  }

  .safari-videos-main,
  .safari-photos-img img {
    width: 100% !important;
    height: auto !important;
  }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-61726b8c */#e-n-tab-content-143022565 > .e-con-inner {
    margin: 0 !important;
}

.elementor-588956 .elementor-element.elementor-element-61726b8c .safari-map{
  color: rgb(86, 96, 95);
  background-color: rgba(0, 0, 0, 0);
  font-size: 18px;
  font-family: Nunito, Arial, Helvetica, sans-serif;
  font-weight: 400;
  width: 100% !important;
    max-width: 100% !important;
    word-break: break-word;
    overflow-wrap: break-word; padding:0px !important;

}


@media (max-width: 768px) {

  .partners-safari-map {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
    overflow-x: hidden;
  }

  
  .safari-map {
    width: 100% !important;
    max-width: 100% !important;
    word-break: break-word;
    overflow-wrap: break-word; padding:0px !important;
    font-size: 14px;
  }


  
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-75f96258 */.elementor-588956 .elementor-element.elementor-element-75f96258 .count{
    color: black !important;
    font-size: 29px;
    font-family: 'Montserrat';
    font-weight: 400;
}

@media (max-width: 768px) {
    .elementor-588956 .elementor-element.elementor-element-75f96258 .count{
    color: black !important;
    font-size: 22px;
    font-family: 'Montserrat';
    font-weight: 400;
}
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-41e9b0d3 *//* Professional Review Form Styles */
.review-form-container {
    max-width: 800px;
    margin: 30px auto;
    padding: 25px 30px;
    background: #fff;
    border-radius: 12px;
    border: 1px solid #D3D3D3;
    font-family: 'Montserrat', sans-serif;
}

.elementor-588956 .elementor-element.elementor-element-41e9b0d3 fieldset{
    padding:15px 0 !important;
} 

.review-form-container h2.review-title {
    font-size: 22px;
    font-weight: 600;
    margin-bottom: 20px;
    color: #333;
    text-align: center;
}

#partner-review-form .form-row {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin-bottom: 20px;
}

#partner-review-form .form-field {
    flex: 1;
    display: flex;
    flex-direction: column;
}

#partner-review-form .form-field.full-width {
    flex: 100%;
}

#partner-review-form label {
    font-size: 13px;
    font-weight: 500;
    color: #555;
    margin-bottom: 6px;
}

#partner-review-form input[type="text"],
#partner-review-form textarea,
#partner-review-form select {
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    padding: 8px 12px;
    border: 1px solid #ccc;
    border-radius: 6px;
    outline: none;
    transition: border-color 0.2s;
}

#partner-review-form input[type="text"]:disabled {
    background-color: #f5f5f5;
    color: #555;
}

#partner-review-form input[type="text"]:focus,
#partner-review-form textarea:focus,
#partner-review-form select:focus {
    border-color: #0073e6;
}

#partner-review-form textarea {
    resize: vertical;
}

.rating-row {
    flex-direction: column;
}

.rating-field {
    display: flex;
    align-items: center;
    gap: 10px;
}

.rating-field label {
    min-width: 100px;
    color: #333;
    text-align: center;
}

.rating-field .star {
    display: flex;
    gap: 4px;
}

/* Star Rating Inputs */
.rating input[type="radio"] {
    display: none;
}

.rating label {
    font-size: 16px;
    cursor: pointer;
    color: #ccc;
    transition: color 0.2s;
}

.rating input[type="radio"]:checked ~ label {
    color: #ffb400;
}

.rating label:hover,
.rating label:hover ~ label {
    color: #ffb400;
}

#submit-review-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 20px;
    font-size: 15px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #e68844;
    border: 3px solid #e68844;
    cursor: pointer;
    transition: all 0.3s ease;
    background-color: white;
}

#submit-review-btn:hover {
     color: #e68844;
   background-color: white
}

.ajax-msg {
    margin-top: 12px;
    font-size: 13px;
    color: green;
}

/* Inline Star Rating */
.rating-field {
    display: flex;
    align-items: center;
    gap: 8px;
   
}




/* Hide radio buttons */
.rating input[type="radio"] {
    display: none;
}

/* Stars */
.rating label::before {
    content: '☆';
    font-size: 18px;
    color: #ccc;
    margin-right: 2px;
    transition: color 0.2s;
}

/* Checked stars */
.rating input[type="radio"]:checked ~ label::before {
    color: #ffb400;
    content: '★';
}

/* Hover effect */
.rating label:hover::before,
.rating label:hover ~ label::before {
    color: #ffb400;
    content: '★';
}

/* Make all stars inline */
.rating {
    display: flex;
    gap: 4px;
}


/* Responsive */
@media (max-width: 768px) {
    #partner-review-form .form-row {
        flex-direction: column;
    }
    .rating-field label {
        min-width: auto;
    }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-766fba47 *//* Container for all reviews */
.custom-reviews-container {
    display: flex;
    flex-direction: column;
    gap: 20px; /* space between reviews */
}

/* Individual review item */
.custom-review-item {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    padding: 15px;
    border: 1px solid #e0e0e0; /* subtle border */
    border-radius: 8px;
    background: #ffffff;
}

/* Review avatar wrapper */
.custom-review-thumb {
    flex-shrink: 0;
}

/* Avatar image */
.custom-img-circle img {
    width: 85px;
    height: 85px;
    border-radius: 50%; /* makes it round */
    object-fit: cover;
    display: block;
}

/* Review content */
.custom-review-content {
    flex: 1;
}

/* Review title */
.custom-review-content h2 {
    font-size: 20px;
    font-family: Montserrat, Arial, Helvetica, sans-serif;
    font-weight: 600;
    margin-top: 0 !important;
    margin-bottom: 5px;
}

/* Meta (author + date) */
.custom-review-date {
    font-size: 16px;
    color: rgb(86, 96, 95);
    font-family: Nunito, Arial, Helvetica, sans-serif;
    font-weight: 400;
    margin-bottom: 8px;
}

/* Review text */
.custom-review-text {
    font-size: 16px;
    color: rgb(86, 96, 95);
    font-family: Nunito, Arial, Helvetica, sans-serif;
    font-weight: 400;
    margin-bottom: 8px;
}

/* No reviews message */
.first-review {
    font-size: 18px;
    font-family: Montserrat, Arial, Helvetica, sans-serif;
    font-weight: 300;
    color: #666;
}

@media (max-width: 768px) {

    .custom-review-item {
        flex-direction: row; /* keep desktop layout */
        align-items: flex-start;
        gap: 12px;
        padding: 12px;
    }

    /* Avatar */
    .custom-img-circle img {
        width: 55px;
        height: 55px;
    }

    /* Review title */
    .custom-review-content h2 {
        font-size: 16px;
        line-height: 1.3;
        margin-bottom: 4px;
    }

    /* Meta (date) */
    .custom-review-date {
        font-size: 14px;
        margin-bottom: 6px;
    }

    /* Review text */
    .custom-review-text {
        font-size: 14px;
        line-height: 1.5;
    }

    /* Remove stacking spacing */
    .custom-review-thumb {
        margin-bottom: 0;
    }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-45e3f6bc */.elementor-588956 .elementor-element.elementor-element-45e3f6bc .travel-partner-flag {
    width: 36px;    /* adjust as needed */
    height: auto;
    display: block;
}

.elementor-588956 .elementor-element.elementor-element-45e3f6bc .elementor-shortcode{
    display: flex !important;
    gap:5px;
}

.elementor-588956 .elementor-element.elementor-element-45e3f6bc li {
    list-style: none;  
    margin: 0;       
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-233ba221 */.tp-col-left .partners-company-text ul {
    display: flex;
    gap: 20px; /* spacing between logos */
    flex-wrap: wrap;
    padding: 0;
    margin: 0;
}

.tp-col-left .partners-company-text li {
    list-style: none;
    padding: 15px 30px; /* combined original padding */
    margin: 0;
    box-sizing: border-box;
    display: flex;
    border: 1px solid #ccc;
}


.tp-col-left .partners-company-text > ul:first-of-type {
    display: block;
    list-style: none; 
    
}

.tp-col-left .partners-company-text > ul:first-of-type li {
    position: relative;
    padding-left: 25px; 
    border: none !important;
 
}

.tp-col-left .partners-company-text > ul:first-of-type li::before {
    content: "✓"; /* tick symbol */
    position: absolute;
    left: 0;
    color: green; /* tick color */
    font-weight: bold;
}


.elementor-588956 .elementor-element.elementor-element-233ba221 .partners-company-text h2{
 font-size: 30px;
 font-family: Montserrat, Arial, Helvetica, sans-serif;
 font-weight: 300;
}

.elementor-588956 .elementor-element.elementor-element-233ba221 .partners-company-text p{
 font-size: 18px;
 font-family: Nunito, Arial, Helvetica, sans-serif;
 color: rgb(86, 96, 95);
 font-weight: 400;
}

.elementor-588956 .elementor-element.elementor-element-233ba221 .partners-company-text h5{
 font-size: 22px;
 font-family: Montserrat, Arial, Helvetica, sans-serif;
 font-weight: 400;
}

@media (max-width: 768px) {
  .memberships-affiliations {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
    box-sizing: border-box !important;
  }

  .memberships-affiliations ul {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 16px !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    list-style: none !important;
    box-sizing: border-box !important;
  }

  .memberships-affiliations li {
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    box-sizing: border-box !important;
  }

  .memberships-logo {
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    box-sizing: border-box !important;
  }

  .memberships-logo img {
    max-width: 100% !important;
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
  }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-5eb26d20 */.elementor-588956 .elementor-element.elementor-element-5eb26d20 .travel-partner-flag {
    width: 36px;    /* adjust as needed */
    height: auto;
    display: block;
}

.elementor-588956 .elementor-element.elementor-element-5eb26d20 .elementor-shortcode{
    display: flex !important;
    gap:5px;
}

.elementor-588956 .elementor-element.elementor-element-5eb26d20 li {
    list-style: none;  
    margin: 0;       
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-4b455f36 *//* Grid container */
.custom-masonry-container {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); 
  gap: 4px; 
  padding: 0;
}

/* Each grid item */
.custom-grid-item {
  position: relative;
  overflow: hidden;
  width: 100%;
  padding-top: 100%; /* 1:1 aspect ratio to make square */
}

/* Image wrapper to position the img inside the square */
.custom-safari-photos-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100% !important;
}

/* Image itself */
.custom-safari-photos-img img {
  width: 100%;
  height: 100%;
  object-fit: cover; /* crop and fill the square */
  display: block;
}

/* Overlay icon in the center */
.custom-gallery-icon {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 32px; /* smaller icon for small images */
  height: 32px;
  opacity: 0;
  transition: opacity 0.3s;
}

.custom-grid-item:hover .custom-gallery-icon {
  opacity: 1;
}


@media (max-width: 768px) {
  .custom-masonry-container {
    grid-template-columns: repeat(2, 1fr) !important; /* always 2 columns */
    gap: 4px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .custom-grid-item {
    width: 100% !important;
    padding-top: 100% !important; /* keep perfect squares */
  }

  .custom-safari-photos-img,
  .custom-safari-photos-img img {
    width: 100% !important;
    height: 100% !important;
  }
}


@media (max-width: 1024px) {
  .custom-masonry-container {
    grid-template-columns: repeat(3, 1fr) !important; /* always 2 columns */
    gap: 4px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .custom-grid-item {
    width: 100% !important;
    padding-top: 100% !important; /* keep perfect squares */
  }

  .custom-safari-photos-img,
  .custom-safari-photos-img img {
    width: 100% !important;
    height: 100% !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-21b7405a */.elementor-588956 .elementor-element.elementor-element-21b7405a{
    min-height: 150px !important;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-e8cf138 *//* Grid container for videos */
.partners-safari-videos .custom-row {
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* 3 videos per row */
    gap: 20px; /* space between videos */
    justify-items: start;  /* align items to the left */
    align-items: start;    /* align items to the top */
}

/* Individual video wrapper */
.video-wrapper {
    width: 100%;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
    border-radius: 10px;
    overflow: hidden;
    background: #fff;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.video-wrapper:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
}

/* Main video container */
.safari-videos-main {
    position: relative;
    width: 100%;
}

/* Thumbnail image */
.safari-photos-img img {
    display: block;
    width: 100%;
    height: auto;
}

/* Play icon overlay */
.video-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 60px;
    height: 60px;
    background: rgba(0, 0, 0, 0.5);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background 0.3s ease, transform 0.3s ease;
}

.video-icon img {
    width: 30px;
    height: 30px;
}

.video-icon:hover {
    background: rgba(0, 0, 0, 0.7);
    transform: translate(-50%, -50%) scale(1.1);
}

/* Video title */
.safari-videos-title {
    padding: 10px 15px;
    font-size: 1.1rem;
    font-weight: 600;
    text-align: center;
}

/* Force strict 2-column layout for videos on mobile */
@media (max-width: 768px) {
  .partners-safari-videos .custom-row {
    grid-template-columns: repeat(2, 1fr) !important; /* always 2 columns */
    gap: 12px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .video-wrapper {
    width: 100% !important;
  }

  .safari-videos-main,
  .safari-photos-img img {
    width: 100% !important;
    height: auto !important;
  }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-61726b8c */#e-n-tab-content-143022565 > .e-con-inner {
    margin: 0 !important;
}

.elementor-588956 .elementor-element.elementor-element-61726b8c .safari-map{
  color: rgb(86, 96, 95);
  background-color: rgba(0, 0, 0, 0);
  font-size: 18px;
  font-family: Nunito, Arial, Helvetica, sans-serif;
  font-weight: 400;
  width: 100% !important;
    max-width: 100% !important;
    word-break: break-word;
    overflow-wrap: break-word; padding:0px !important;

}


@media (max-width: 768px) {

  .partners-safari-map {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
    overflow-x: hidden;
  }

  
  .safari-map {
    width: 100% !important;
    max-width: 100% !important;
    word-break: break-word;
    overflow-wrap: break-word; padding:0px !important;
    font-size: 14px;
  }


  
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-75f96258 */.elementor-588956 .elementor-element.elementor-element-75f96258 .count{
    color: black !important;
    font-size: 29px;
    font-family: 'Montserrat';
    font-weight: 400;
}

@media (max-width: 768px) {
    .elementor-588956 .elementor-element.elementor-element-75f96258 .count{
    color: black !important;
    font-size: 22px;
    font-family: 'Montserrat';
    font-weight: 400;
}
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-41e9b0d3 *//* Professional Review Form Styles */
.review-form-container {
    max-width: 800px;
    margin: 30px auto;
    padding: 25px 30px;
    background: #fff;
    border-radius: 12px;
    border: 1px solid #D3D3D3;
    font-family: 'Montserrat', sans-serif;
}

.elementor-588956 .elementor-element.elementor-element-41e9b0d3 fieldset{
    padding:15px 0 !important;
} 

.review-form-container h2.review-title {
    font-size: 22px;
    font-weight: 600;
    margin-bottom: 20px;
    color: #333;
    text-align: center;
}

#partner-review-form .form-row {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin-bottom: 20px;
}

#partner-review-form .form-field {
    flex: 1;
    display: flex;
    flex-direction: column;
}

#partner-review-form .form-field.full-width {
    flex: 100%;
}

#partner-review-form label {
    font-size: 13px;
    font-weight: 500;
    color: #555;
    margin-bottom: 6px;
}

#partner-review-form input[type="text"],
#partner-review-form textarea,
#partner-review-form select {
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    padding: 8px 12px;
    border: 1px solid #ccc;
    border-radius: 6px;
    outline: none;
    transition: border-color 0.2s;
}

#partner-review-form input[type="text"]:disabled {
    background-color: #f5f5f5;
    color: #555;
}

#partner-review-form input[type="text"]:focus,
#partner-review-form textarea:focus,
#partner-review-form select:focus {
    border-color: #0073e6;
}

#partner-review-form textarea {
    resize: vertical;
}

.rating-row {
    flex-direction: column;
}

.rating-field {
    display: flex;
    align-items: center;
    gap: 10px;
}

.rating-field label {
    min-width: 100px;
    color: #333;
    text-align: center;
}

.rating-field .star {
    display: flex;
    gap: 4px;
}

/* Star Rating Inputs */
.rating input[type="radio"] {
    display: none;
}

.rating label {
    font-size: 16px;
    cursor: pointer;
    color: #ccc;
    transition: color 0.2s;
}

.rating input[type="radio"]:checked ~ label {
    color: #ffb400;
}

.rating label:hover,
.rating label:hover ~ label {
    color: #ffb400;
}

#submit-review-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 20px;
    font-size: 15px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #e68844;
    border: 3px solid #e68844;
    cursor: pointer;
    transition: all 0.3s ease;
    background-color: white;
}

#submit-review-btn:hover {
     color: #e68844;
   background-color: white
}

.ajax-msg {
    margin-top: 12px;
    font-size: 13px;
    color: green;
}

/* Inline Star Rating */
.rating-field {
    display: flex;
    align-items: center;
    gap: 8px;
   
}




/* Hide radio buttons */
.rating input[type="radio"] {
    display: none;
}

/* Stars */
.rating label::before {
    content: '☆';
    font-size: 18px;
    color: #ccc;
    margin-right: 2px;
    transition: color 0.2s;
}

/* Checked stars */
.rating input[type="radio"]:checked ~ label::before {
    color: #ffb400;
    content: '★';
}

/* Hover effect */
.rating label:hover::before,
.rating label:hover ~ label::before {
    color: #ffb400;
    content: '★';
}

/* Make all stars inline */
.rating {
    display: flex;
    gap: 4px;
}


/* Responsive */
@media (max-width: 768px) {
    #partner-review-form .form-row {
        flex-direction: column;
    }
    .rating-field label {
        min-width: auto;
    }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-766fba47 *//* Container for all reviews */
.custom-reviews-container {
    display: flex;
    flex-direction: column;
    gap: 20px; /* space between reviews */
}

/* Individual review item */
.custom-review-item {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    padding: 15px;
    border: 1px solid #e0e0e0; /* subtle border */
    border-radius: 8px;
    background: #ffffff;
}

/* Review avatar wrapper */
.custom-review-thumb {
    flex-shrink: 0;
}

/* Avatar image */
.custom-img-circle img {
    width: 85px;
    height: 85px;
    border-radius: 50%; /* makes it round */
    object-fit: cover;
    display: block;
}

/* Review content */
.custom-review-content {
    flex: 1;
}

/* Review title */
.custom-review-content h2 {
    font-size: 20px;
    font-family: Montserrat, Arial, Helvetica, sans-serif;
    font-weight: 600;
    margin-top: 0 !important;
    margin-bottom: 5px;
}

/* Meta (author + date) */
.custom-review-date {
    font-size: 16px;
    color: rgb(86, 96, 95);
    font-family: Nunito, Arial, Helvetica, sans-serif;
    font-weight: 400;
    margin-bottom: 8px;
}

/* Review text */
.custom-review-text {
    font-size: 16px;
    color: rgb(86, 96, 95);
    font-family: Nunito, Arial, Helvetica, sans-serif;
    font-weight: 400;
    margin-bottom: 8px;
}

/* No reviews message */
.first-review {
    font-size: 18px;
    font-family: Montserrat, Arial, Helvetica, sans-serif;
    font-weight: 300;
    color: #666;
}

@media (max-width: 768px) {

    .custom-review-item {
        flex-direction: row; /* keep desktop layout */
        align-items: flex-start;
        gap: 12px;
        padding: 12px;
    }

    /* Avatar */
    .custom-img-circle img {
        width: 55px;
        height: 55px;
    }

    /* Review title */
    .custom-review-content h2 {
        font-size: 16px;
        line-height: 1.3;
        margin-bottom: 4px;
    }

    /* Meta (date) */
    .custom-review-date {
        font-size: 14px;
        margin-bottom: 6px;
    }

    /* Review text */
    .custom-review-text {
        font-size: 14px;
        line-height: 1.5;
    }

    /* Remove stacking spacing */
    .custom-review-thumb {
        margin-bottom: 0;
    }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-45e3f6bc */.elementor-588956 .elementor-element.elementor-element-45e3f6bc .travel-partner-flag {
    width: 36px;    /* adjust as needed */
    height: auto;
    display: block;
}

.elementor-588956 .elementor-element.elementor-element-45e3f6bc .elementor-shortcode{
    display: flex !important;
    gap:5px;
}

.elementor-588956 .elementor-element.elementor-element-45e3f6bc li {
    list-style: none;  
    margin: 0;       
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-233ba221 */.tp-col-left .partners-company-text ul {
    display: flex;
    gap: 20px; /* spacing between logos */
    flex-wrap: wrap;
    padding: 0;
    margin: 0;
}

.tp-col-left .partners-company-text li {
    list-style: none;
    padding: 15px 30px; /* combined original padding */
    margin: 0;
    box-sizing: border-box;
    display: flex;
    border: 1px solid #ccc;
}


.tp-col-left .partners-company-text > ul:first-of-type {
    display: block;
    list-style: none; 
    
}

.tp-col-left .partners-company-text > ul:first-of-type li {
    position: relative;
    padding-left: 25px; 
    border: none !important;
 
}

.tp-col-left .partners-company-text > ul:first-of-type li::before {
    content: "✓"; /* tick symbol */
    position: absolute;
    left: 0;
    color: green; /* tick color */
    font-weight: bold;
}


.elementor-588956 .elementor-element.elementor-element-233ba221 .partners-company-text h2{
 font-size: 30px;
 font-family: Montserrat, Arial, Helvetica, sans-serif;
 font-weight: 300;
}

.elementor-588956 .elementor-element.elementor-element-233ba221 .partners-company-text p{
 font-size: 18px;
 font-family: Nunito, Arial, Helvetica, sans-serif;
 color: rgb(86, 96, 95);
 font-weight: 400;
}

.elementor-588956 .elementor-element.elementor-element-233ba221 .partners-company-text h5{
 font-size: 22px;
 font-family: Montserrat, Arial, Helvetica, sans-serif;
 font-weight: 400;
}

@media (max-width: 768px) {
  .memberships-affiliations {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
    box-sizing: border-box !important;
  }

  .memberships-affiliations ul {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 16px !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    list-style: none !important;
    box-sizing: border-box !important;
  }

  .memberships-affiliations li {
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    box-sizing: border-box !important;
  }

  .memberships-logo {
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    box-sizing: border-box !important;
  }

  .memberships-logo img {
    max-width: 100% !important;
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
  }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-5eb26d20 */.elementor-588956 .elementor-element.elementor-element-5eb26d20 .travel-partner-flag {
    width: 36px;    /* adjust as needed */
    height: auto;
    display: block;
}

.elementor-588956 .elementor-element.elementor-element-5eb26d20 .elementor-shortcode{
    display: flex !important;
    gap:5px;
}

.elementor-588956 .elementor-element.elementor-element-5eb26d20 li {
    list-style: none;  
    margin: 0;       
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-4b455f36 *//* Grid container */
.custom-masonry-container {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); 
  gap: 4px; 
  padding: 0;
}

/* Each grid item */
.custom-grid-item {
  position: relative;
  overflow: hidden;
  width: 100%;
  padding-top: 100%; /* 1:1 aspect ratio to make square */
}

/* Image wrapper to position the img inside the square */
.custom-safari-photos-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100% !important;
}

/* Image itself */
.custom-safari-photos-img img {
  width: 100%;
  height: 100%;
  object-fit: cover; /* crop and fill the square */
  display: block;
}

/* Overlay icon in the center */
.custom-gallery-icon {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 32px; /* smaller icon for small images */
  height: 32px;
  opacity: 0;
  transition: opacity 0.3s;
}

.custom-grid-item:hover .custom-gallery-icon {
  opacity: 1;
}


@media (max-width: 768px) {
  .custom-masonry-container {
    grid-template-columns: repeat(2, 1fr) !important; /* always 2 columns */
    gap: 4px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .custom-grid-item {
    width: 100% !important;
    padding-top: 100% !important; /* keep perfect squares */
  }

  .custom-safari-photos-img,
  .custom-safari-photos-img img {
    width: 100% !important;
    height: 100% !important;
  }
}


@media (max-width: 1024px) {
  .custom-masonry-container {
    grid-template-columns: repeat(3, 1fr) !important; /* always 2 columns */
    gap: 4px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .custom-grid-item {
    width: 100% !important;
    padding-top: 100% !important; /* keep perfect squares */
  }

  .custom-safari-photos-img,
  .custom-safari-photos-img img {
    width: 100% !important;
    height: 100% !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-21b7405a */.elementor-588956 .elementor-element.elementor-element-21b7405a{
    min-height: 150px !important;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-e8cf138 *//* Grid container for videos */
.partners-safari-videos .custom-row {
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* 3 videos per row */
    gap: 20px; /* space between videos */
    justify-items: start;  /* align items to the left */
    align-items: start;    /* align items to the top */
}

/* Individual video wrapper */
.video-wrapper {
    width: 100%;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
    border-radius: 10px;
    overflow: hidden;
    background: #fff;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.video-wrapper:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
}

/* Main video container */
.safari-videos-main {
    position: relative;
    width: 100%;
}

/* Thumbnail image */
.safari-photos-img img {
    display: block;
    width: 100%;
    height: auto;
}

/* Play icon overlay */
.video-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 60px;
    height: 60px;
    background: rgba(0, 0, 0, 0.5);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background 0.3s ease, transform 0.3s ease;
}

.video-icon img {
    width: 30px;
    height: 30px;
}

.video-icon:hover {
    background: rgba(0, 0, 0, 0.7);
    transform: translate(-50%, -50%) scale(1.1);
}

/* Video title */
.safari-videos-title {
    padding: 10px 15px;
    font-size: 1.1rem;
    font-weight: 600;
    text-align: center;
}

/* Force strict 2-column layout for videos on mobile */
@media (max-width: 768px) {
  .partners-safari-videos .custom-row {
    grid-template-columns: repeat(2, 1fr) !important; /* always 2 columns */
    gap: 12px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .video-wrapper {
    width: 100% !important;
  }

  .safari-videos-main,
  .safari-photos-img img {
    width: 100% !important;
    height: auto !important;
  }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-61726b8c */#e-n-tab-content-143022565 > .e-con-inner {
    margin: 0 !important;
}

.elementor-588956 .elementor-element.elementor-element-61726b8c .safari-map{
  color: rgb(86, 96, 95);
  background-color: rgba(0, 0, 0, 0);
  font-size: 18px;
  font-family: Nunito, Arial, Helvetica, sans-serif;
  font-weight: 400;
  width: 100% !important;
    max-width: 100% !important;
    word-break: break-word;
    overflow-wrap: break-word; padding:0px !important;

}


@media (max-width: 768px) {

  .partners-safari-map {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
    overflow-x: hidden;
  }

  
  .safari-map {
    width: 100% !important;
    max-width: 100% !important;
    word-break: break-word;
    overflow-wrap: break-word; padding:0px !important;
    font-size: 14px;
  }


  
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-75f96258 */.elementor-588956 .elementor-element.elementor-element-75f96258 .count{
    color: black !important;
    font-size: 29px;
    font-family: 'Montserrat';
    font-weight: 400;
}

@media (max-width: 768px) {
    .elementor-588956 .elementor-element.elementor-element-75f96258 .count{
    color: black !important;
    font-size: 22px;
    font-family: 'Montserrat';
    font-weight: 400;
}
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-41e9b0d3 *//* Professional Review Form Styles */
.review-form-container {
    max-width: 800px;
    margin: 30px auto;
    padding: 25px 30px;
    background: #fff;
    border-radius: 12px;
    border: 1px solid #D3D3D3;
    font-family: 'Montserrat', sans-serif;
}

.elementor-588956 .elementor-element.elementor-element-41e9b0d3 fieldset{
    padding:15px 0 !important;
} 

.review-form-container h2.review-title {
    font-size: 22px;
    font-weight: 600;
    margin-bottom: 20px;
    color: #333;
    text-align: center;
}

#partner-review-form .form-row {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin-bottom: 20px;
}

#partner-review-form .form-field {
    flex: 1;
    display: flex;
    flex-direction: column;
}

#partner-review-form .form-field.full-width {
    flex: 100%;
}

#partner-review-form label {
    font-size: 13px;
    font-weight: 500;
    color: #555;
    margin-bottom: 6px;
}

#partner-review-form input[type="text"],
#partner-review-form textarea,
#partner-review-form select {
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    padding: 8px 12px;
    border: 1px solid #ccc;
    border-radius: 6px;
    outline: none;
    transition: border-color 0.2s;
}

#partner-review-form input[type="text"]:disabled {
    background-color: #f5f5f5;
    color: #555;
}

#partner-review-form input[type="text"]:focus,
#partner-review-form textarea:focus,
#partner-review-form select:focus {
    border-color: #0073e6;
}

#partner-review-form textarea {
    resize: vertical;
}

.rating-row {
    flex-direction: column;
}

.rating-field {
    display: flex;
    align-items: center;
    gap: 10px;
}

.rating-field label {
    min-width: 100px;
    color: #333;
    text-align: center;
}

.rating-field .star {
    display: flex;
    gap: 4px;
}

/* Star Rating Inputs */
.rating input[type="radio"] {
    display: none;
}

.rating label {
    font-size: 16px;
    cursor: pointer;
    color: #ccc;
    transition: color 0.2s;
}

.rating input[type="radio"]:checked ~ label {
    color: #ffb400;
}

.rating label:hover,
.rating label:hover ~ label {
    color: #ffb400;
}

#submit-review-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 20px;
    font-size: 15px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #e68844;
    border: 3px solid #e68844;
    cursor: pointer;
    transition: all 0.3s ease;
    background-color: white;
}

#submit-review-btn:hover {
     color: #e68844;
   background-color: white
}

.ajax-msg {
    margin-top: 12px;
    font-size: 13px;
    color: green;
}

/* Inline Star Rating */
.rating-field {
    display: flex;
    align-items: center;
    gap: 8px;
   
}




/* Hide radio buttons */
.rating input[type="radio"] {
    display: none;
}

/* Stars */
.rating label::before {
    content: '☆';
    font-size: 18px;
    color: #ccc;
    margin-right: 2px;
    transition: color 0.2s;
}

/* Checked stars */
.rating input[type="radio"]:checked ~ label::before {
    color: #ffb400;
    content: '★';
}

/* Hover effect */
.rating label:hover::before,
.rating label:hover ~ label::before {
    color: #ffb400;
    content: '★';
}

/* Make all stars inline */
.rating {
    display: flex;
    gap: 4px;
}


/* Responsive */
@media (max-width: 768px) {
    #partner-review-form .form-row {
        flex-direction: column;
    }
    .rating-field label {
        min-width: auto;
    }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-766fba47 *//* Container for all reviews */
.custom-reviews-container {
    display: flex;
    flex-direction: column;
    gap: 20px; /* space between reviews */
}

/* Individual review item */
.custom-review-item {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    padding: 15px;
    border: 1px solid #e0e0e0; /* subtle border */
    border-radius: 8px;
    background: #ffffff;
}

/* Review avatar wrapper */
.custom-review-thumb {
    flex-shrink: 0;
}

/* Avatar image */
.custom-img-circle img {
    width: 85px;
    height: 85px;
    border-radius: 50%; /* makes it round */
    object-fit: cover;
    display: block;
}

/* Review content */
.custom-review-content {
    flex: 1;
}

/* Review title */
.custom-review-content h2 {
    font-size: 20px;
    font-family: Montserrat, Arial, Helvetica, sans-serif;
    font-weight: 600;
    margin-top: 0 !important;
    margin-bottom: 5px;
}

/* Meta (author + date) */
.custom-review-date {
    font-size: 16px;
    color: rgb(86, 96, 95);
    font-family: Nunito, Arial, Helvetica, sans-serif;
    font-weight: 400;
    margin-bottom: 8px;
}

/* Review text */
.custom-review-text {
    font-size: 16px;
    color: rgb(86, 96, 95);
    font-family: Nunito, Arial, Helvetica, sans-serif;
    font-weight: 400;
    margin-bottom: 8px;
}

/* No reviews message */
.first-review {
    font-size: 18px;
    font-family: Montserrat, Arial, Helvetica, sans-serif;
    font-weight: 300;
    color: #666;
}

@media (max-width: 768px) {

    .custom-review-item {
        flex-direction: row; /* keep desktop layout */
        align-items: flex-start;
        gap: 12px;
        padding: 12px;
    }

    /* Avatar */
    .custom-img-circle img {
        width: 55px;
        height: 55px;
    }

    /* Review title */
    .custom-review-content h2 {
        font-size: 16px;
        line-height: 1.3;
        margin-bottom: 4px;
    }

    /* Meta (date) */
    .custom-review-date {
        font-size: 14px;
        margin-bottom: 6px;
    }

    /* Review text */
    .custom-review-text {
        font-size: 14px;
        line-height: 1.5;
    }

    /* Remove stacking spacing */
    .custom-review-thumb {
        margin-bottom: 0;
    }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-45e3f6bc */.elementor-588956 .elementor-element.elementor-element-45e3f6bc .travel-partner-flag {
    width: 36px;    /* adjust as needed */
    height: auto;
    display: block;
}

.elementor-588956 .elementor-element.elementor-element-45e3f6bc .elementor-shortcode{
    display: flex !important;
    gap:5px;
}

.elementor-588956 .elementor-element.elementor-element-45e3f6bc li {
    list-style: none;  
    margin: 0;       
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-233ba221 */.tp-col-left .partners-company-text ul {
    display: flex;
    gap: 20px; /* spacing between logos */
    flex-wrap: wrap;
    padding: 0;
    margin: 0;
}

.tp-col-left .partners-company-text li {
    list-style: none;
    padding: 15px 30px; /* combined original padding */
    margin: 0;
    box-sizing: border-box;
    display: flex;
    border: 1px solid #ccc;
}


.tp-col-left .partners-company-text > ul:first-of-type {
    display: block;
    list-style: none; 
    
}

.tp-col-left .partners-company-text > ul:first-of-type li {
    position: relative;
    padding-left: 25px; 
    border: none !important;
 
}

.tp-col-left .partners-company-text > ul:first-of-type li::before {
    content: "✓"; /* tick symbol */
    position: absolute;
    left: 0;
    color: green; /* tick color */
    font-weight: bold;
}


.elementor-588956 .elementor-element.elementor-element-233ba221 .partners-company-text h2{
 font-size: 30px;
 font-family: Montserrat, Arial, Helvetica, sans-serif;
 font-weight: 300;
}

.elementor-588956 .elementor-element.elementor-element-233ba221 .partners-company-text p{
 font-size: 18px;
 font-family: Nunito, Arial, Helvetica, sans-serif;
 color: rgb(86, 96, 95);
 font-weight: 400;
}

.elementor-588956 .elementor-element.elementor-element-233ba221 .partners-company-text h5{
 font-size: 22px;
 font-family: Montserrat, Arial, Helvetica, sans-serif;
 font-weight: 400;
}

@media (max-width: 768px) {
  .memberships-affiliations {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
    box-sizing: border-box !important;
  }

  .memberships-affiliations ul {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 16px !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    list-style: none !important;
    box-sizing: border-box !important;
  }

  .memberships-affiliations li {
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    box-sizing: border-box !important;
  }

  .memberships-logo {
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    box-sizing: border-box !important;
  }

  .memberships-logo img {
    max-width: 100% !important;
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
  }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-5eb26d20 */.elementor-588956 .elementor-element.elementor-element-5eb26d20 .travel-partner-flag {
    width: 36px;    /* adjust as needed */
    height: auto;
    display: block;
}

.elementor-588956 .elementor-element.elementor-element-5eb26d20 .elementor-shortcode{
    display: flex !important;
    gap:5px;
}

.elementor-588956 .elementor-element.elementor-element-5eb26d20 li {
    list-style: none;  
    margin: 0;       
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-4b455f36 *//* Grid container */
.custom-masonry-container {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); 
  gap: 4px; 
  padding: 0;
}

/* Each grid item */
.custom-grid-item {
  position: relative;
  overflow: hidden;
  width: 100%;
  padding-top: 100%; /* 1:1 aspect ratio to make square */
}

/* Image wrapper to position the img inside the square */
.custom-safari-photos-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100% !important;
}

/* Image itself */
.custom-safari-photos-img img {
  width: 100%;
  height: 100%;
  object-fit: cover; /* crop and fill the square */
  display: block;
}

/* Overlay icon in the center */
.custom-gallery-icon {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 32px; /* smaller icon for small images */
  height: 32px;
  opacity: 0;
  transition: opacity 0.3s;
}

.custom-grid-item:hover .custom-gallery-icon {
  opacity: 1;
}


@media (max-width: 768px) {
  .custom-masonry-container {
    grid-template-columns: repeat(2, 1fr) !important; /* always 2 columns */
    gap: 4px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .custom-grid-item {
    width: 100% !important;
    padding-top: 100% !important; /* keep perfect squares */
  }

  .custom-safari-photos-img,
  .custom-safari-photos-img img {
    width: 100% !important;
    height: 100% !important;
  }
}


@media (max-width: 1024px) {
  .custom-masonry-container {
    grid-template-columns: repeat(3, 1fr) !important; /* always 2 columns */
    gap: 4px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .custom-grid-item {
    width: 100% !important;
    padding-top: 100% !important; /* keep perfect squares */
  }

  .custom-safari-photos-img,
  .custom-safari-photos-img img {
    width: 100% !important;
    height: 100% !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-21b7405a */.elementor-588956 .elementor-element.elementor-element-21b7405a{
    min-height: 150px !important;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-e8cf138 *//* Grid container for videos */
.partners-safari-videos .custom-row {
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* 3 videos per row */
    gap: 20px; /* space between videos */
    justify-items: start;  /* align items to the left */
    align-items: start;    /* align items to the top */
}

/* Individual video wrapper */
.video-wrapper {
    width: 100%;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
    border-radius: 10px;
    overflow: hidden;
    background: #fff;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.video-wrapper:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
}

/* Main video container */
.safari-videos-main {
    position: relative;
    width: 100%;
}

/* Thumbnail image */
.safari-photos-img img {
    display: block;
    width: 100%;
    height: auto;
}

/* Play icon overlay */
.video-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 60px;
    height: 60px;
    background: rgba(0, 0, 0, 0.5);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background 0.3s ease, transform 0.3s ease;
}

.video-icon img {
    width: 30px;
    height: 30px;
}

.video-icon:hover {
    background: rgba(0, 0, 0, 0.7);
    transform: translate(-50%, -50%) scale(1.1);
}

/* Video title */
.safari-videos-title {
    padding: 10px 15px;
    font-size: 1.1rem;
    font-weight: 600;
    text-align: center;
}

/* Force strict 2-column layout for videos on mobile */
@media (max-width: 768px) {
  .partners-safari-videos .custom-row {
    grid-template-columns: repeat(2, 1fr) !important; /* always 2 columns */
    gap: 12px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .video-wrapper {
    width: 100% !important;
  }

  .safari-videos-main,
  .safari-photos-img img {
    width: 100% !important;
    height: auto !important;
  }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-61726b8c */#e-n-tab-content-143022565 > .e-con-inner {
    margin: 0 !important;
}

.elementor-588956 .elementor-element.elementor-element-61726b8c .safari-map{
  color: rgb(86, 96, 95);
  background-color: rgba(0, 0, 0, 0);
  font-size: 18px;
  font-family: Nunito, Arial, Helvetica, sans-serif;
  font-weight: 400;
  width: 100% !important;
    max-width: 100% !important;
    word-break: break-word;
    overflow-wrap: break-word; padding:0px !important;

}


@media (max-width: 768px) {

  .partners-safari-map {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
    overflow-x: hidden;
  }

  
  .safari-map {
    width: 100% !important;
    max-width: 100% !important;
    word-break: break-word;
    overflow-wrap: break-word; padding:0px !important;
    font-size: 14px;
  }


  
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-75f96258 */.elementor-588956 .elementor-element.elementor-element-75f96258 .count{
    color: black !important;
    font-size: 29px;
    font-family: 'Montserrat';
    font-weight: 400;
}

@media (max-width: 768px) {
    .elementor-588956 .elementor-element.elementor-element-75f96258 .count{
    color: black !important;
    font-size: 22px;
    font-family: 'Montserrat';
    font-weight: 400;
}
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-41e9b0d3 *//* Professional Review Form Styles */
.review-form-container {
    max-width: 800px;
    margin: 30px auto;
    padding: 25px 30px;
    background: #fff;
    border-radius: 12px;
    border: 1px solid #D3D3D3;
    font-family: 'Montserrat', sans-serif;
}

.elementor-588956 .elementor-element.elementor-element-41e9b0d3 fieldset{
    padding:15px 0 !important;
} 

.review-form-container h2.review-title {
    font-size: 22px;
    font-weight: 600;
    margin-bottom: 20px;
    color: #333;
    text-align: center;
}

#partner-review-form .form-row {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin-bottom: 20px;
}

#partner-review-form .form-field {
    flex: 1;
    display: flex;
    flex-direction: column;
}

#partner-review-form .form-field.full-width {
    flex: 100%;
}

#partner-review-form label {
    font-size: 13px;
    font-weight: 500;
    color: #555;
    margin-bottom: 6px;
}

#partner-review-form input[type="text"],
#partner-review-form textarea,
#partner-review-form select {
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    padding: 8px 12px;
    border: 1px solid #ccc;
    border-radius: 6px;
    outline: none;
    transition: border-color 0.2s;
}

#partner-review-form input[type="text"]:disabled {
    background-color: #f5f5f5;
    color: #555;
}

#partner-review-form input[type="text"]:focus,
#partner-review-form textarea:focus,
#partner-review-form select:focus {
    border-color: #0073e6;
}

#partner-review-form textarea {
    resize: vertical;
}

.rating-row {
    flex-direction: column;
}

.rating-field {
    display: flex;
    align-items: center;
    gap: 10px;
}

.rating-field label {
    min-width: 100px;
    color: #333;
    text-align: center;
}

.rating-field .star {
    display: flex;
    gap: 4px;
}

/* Star Rating Inputs */
.rating input[type="radio"] {
    display: none;
}

.rating label {
    font-size: 16px;
    cursor: pointer;
    color: #ccc;
    transition: color 0.2s;
}

.rating input[type="radio"]:checked ~ label {
    color: #ffb400;
}

.rating label:hover,
.rating label:hover ~ label {
    color: #ffb400;
}

#submit-review-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 20px;
    font-size: 15px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #e68844;
    border: 3px solid #e68844;
    cursor: pointer;
    transition: all 0.3s ease;
    background-color: white;
}

#submit-review-btn:hover {
     color: #e68844;
   background-color: white
}

.ajax-msg {
    margin-top: 12px;
    font-size: 13px;
    color: green;
}

/* Inline Star Rating */
.rating-field {
    display: flex;
    align-items: center;
    gap: 8px;
   
}




/* Hide radio buttons */
.rating input[type="radio"] {
    display: none;
}

/* Stars */
.rating label::before {
    content: '☆';
    font-size: 18px;
    color: #ccc;
    margin-right: 2px;
    transition: color 0.2s;
}

/* Checked stars */
.rating input[type="radio"]:checked ~ label::before {
    color: #ffb400;
    content: '★';
}

/* Hover effect */
.rating label:hover::before,
.rating label:hover ~ label::before {
    color: #ffb400;
    content: '★';
}

/* Make all stars inline */
.rating {
    display: flex;
    gap: 4px;
}


/* Responsive */
@media (max-width: 768px) {
    #partner-review-form .form-row {
        flex-direction: column;
    }
    .rating-field label {
        min-width: auto;
    }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-766fba47 *//* Container for all reviews */
.custom-reviews-container {
    display: flex;
    flex-direction: column;
    gap: 20px; /* space between reviews */
}

/* Individual review item */
.custom-review-item {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    padding: 15px;
    border: 1px solid #e0e0e0; /* subtle border */
    border-radius: 8px;
    background: #ffffff;
}

/* Review avatar wrapper */
.custom-review-thumb {
    flex-shrink: 0;
}

/* Avatar image */
.custom-img-circle img {
    width: 85px;
    height: 85px;
    border-radius: 50%; /* makes it round */
    object-fit: cover;
    display: block;
}

/* Review content */
.custom-review-content {
    flex: 1;
}

/* Review title */
.custom-review-content h2 {
    font-size: 20px;
    font-family: Montserrat, Arial, Helvetica, sans-serif;
    font-weight: 600;
    margin-top: 0 !important;
    margin-bottom: 5px;
}

/* Meta (author + date) */
.custom-review-date {
    font-size: 16px;
    color: rgb(86, 96, 95);
    font-family: Nunito, Arial, Helvetica, sans-serif;
    font-weight: 400;
    margin-bottom: 8px;
}

/* Review text */
.custom-review-text {
    font-size: 16px;
    color: rgb(86, 96, 95);
    font-family: Nunito, Arial, Helvetica, sans-serif;
    font-weight: 400;
    margin-bottom: 8px;
}

/* No reviews message */
.first-review {
    font-size: 18px;
    font-family: Montserrat, Arial, Helvetica, sans-serif;
    font-weight: 300;
    color: #666;
}

@media (max-width: 768px) {

    .custom-review-item {
        flex-direction: row; /* keep desktop layout */
        align-items: flex-start;
        gap: 12px;
        padding: 12px;
    }

    /* Avatar */
    .custom-img-circle img {
        width: 55px;
        height: 55px;
    }

    /* Review title */
    .custom-review-content h2 {
        font-size: 16px;
        line-height: 1.3;
        margin-bottom: 4px;
    }

    /* Meta (date) */
    .custom-review-date {
        font-size: 14px;
        margin-bottom: 6px;
    }

    /* Review text */
    .custom-review-text {
        font-size: 14px;
        line-height: 1.5;
    }

    /* Remove stacking spacing */
    .custom-review-thumb {
        margin-bottom: 0;
    }
}/* End custom CSS */
/* Start custom CSS for nested-tabs, class: .elementor-element-5c1db010 */@media (max-width: 763px) {
  .elementor-588956 .elementor-element.elementor-element-5c1db010 .e-n-tabs-heading .e-n-tab-title {
    flex: 1 1 auto;
    display:none;
    transform: translateY(-100%);
    opacity:0;
    transition: transform 0.3s ease, opacity 0.3s ease;
    margin: 0 auto;        
  }

  .e-n-tabs-heading {
    flex-direction: column;
    position: relative !important;
  }
}



@media (max-width: 1024px) {
  .elementor-588956 .elementor-element.elementor-element-5c1db010 .e-n-tabs-heading .e-n-tab-title {
    flex: 1 1 auto;
    display:none;
    transform: translateY(-100%);
    opacity:0;
    transition: transform 0.3s ease, opacity 0.3s ease;
    margin: 0 auto;        
  }

  .e-n-tabs-heading {
    flex-direction: column;
    position: relative !important;
  }
}


@media (min-width: 991px) {
    .e-n-tab-title[aria-selected="true"]::after {
        content: "";
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        bottom: 0;
        width: 0;
        height: 0;
        border-left: 10px solid transparent;
        border-right: 10px solid transparent;
        border-bottom: 7px solid #fff;
    }
    
    .e-n-tab-title:hover::after {
        content: "";
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        bottom: 0;
        width: 0;
        height: 0;
        border-left: 10px solid transparent;
        border-right: 10px solid transparent;
        border-bottom: 7px solid #fff;
    }
}/* End custom CSS */